82 Commits

Author SHA1 Message Date
Murali Reddy
36541a2f4c adding distributed routing support for KVM OVS
some check style error fixes
2014-03-14 16:56:38 +05:30
jayapal
86124138a1 CLOUDSTACK-5924: Correcting regex to get vm names exactly from ebtables chains 2014-01-22 11:20:27 +05:30
tuna
a3b7248a16 enable stp on ovstunnel 2013-12-11 15:58:32 +07:00
tuna
c7dab82dc4 move cloudstack_pluginlib 2013-12-09 23:33:15 +07:00
tuna
3df8b912fc add kvm support & LB service 2013-12-09 23:33:14 +07:00
Marcus Sorensen
4a9f05bda0 CLOUDSTACK-4967
1) vxlan will use bridge scheme 'brvx-<vni>'. Multiple physical networks can host guest
traffic type with vxlan isolation, so long as they don't use the same VNI range.

2) Guest traffic labels can be physical interface if bridge by given name is not found.
Normally we take traffic label name, find the matching bridge, then resolve that to a
physical interface. Then we create guest bridges on that interface. Now we can just
specify the interface.
2013-10-29 15:34:39 -06:00
Toshiaki Hatano
3e70b145c4 CLOUDSTACK-4967: vxlan doesn't scale
- Fix inproper multicast address creation (when VNI > 65535)
- Fix missing bride name in delete oparation

Signed-off-by : Toshiaki Hatano <haeena@haeena.net>
2013-10-29 02:38:02 +09:00
ynojima
a45ee749ac CLOUDSTACK-2328: Linux native VXLAN support on KVM hypervisor
Initial patch for VXLAN support.
Fully functional, hopefully, for GuestNetwork - AdvancedZone.

Patch Note:
 in cloudstack-server
- Add isolation method VXLAN
- Add VxlanGuestNetworkGuru as plugin for VXLAN isolation
- Modify NetworkServiceImpl to handle extended vNet range for VXLAN isolation
- Add VXLAN isolation option in zoneWizard UI

 in cloudstack-agent (kvm)
- Add modifyvxlan.sh script that handle bridge/vxlan interface manipulation script
-- Usage is exactly same to modifyvlan.sh
- BridgeVifDriver will call modifyvxlan.sh instead of modifyvlan.sh when VXLAN is used for isolation

Database changes:
- No change in database structure.
- VXLAN isolation uses same tables that VLAN uses to store vNet allocation status.

Known Issue and/or TODO:
- Some resource still says 'VLAN' in log even if VXLAN is used
- in UI, "Network - GuestNetworks" dosen't display VNI
-- VLAN ID field displays "N/A"
- Documentation!

Signed-off-by : Toshiaki Hatano <haeena@haeena.net>
2013-09-26 23:37:18 +09:00
Wei Zhou
258118efa6 CLOUDSTACK-4405: additional patch for bridge name and firewall rules issues after KVM upgrade to 4.2
There still exist two issues after Edison's commits.
(1) Migration from new hosts to old hosts failed.
The bridge name on old host is set to cloudVirBr* if network.bridge.name.schema is set to 3.0 in /etc/cloudstack/agent/agent.properties, but the actual bridge name is breth*-* after running cloudstack-agent-upgrade.
(2) all ports of vms (Basic zone, or Advanced zone with security groups) on old hosts are open, because the iptables rules are binding to device (bridge) name which is changed by cloudstack-agent-upgrade.

After this, the KVM upgrade steps :
a. Install 4.2 cloudstack agent on each kvm host
b. Run "cloudstack-agent-upgrade". This script will upgrade all the existing bridge name to new bridge name, and update related firewall rules.
c. install a libvirt hook:
    c1. mkdir /etc/libvirt/hooks
    c2. cp /usr/share/cloudstack-agent/lib/libvirtqemuhook /etc/libvirt/hooks/qemu
    c3. chmod +x /etc/libvirt/hooks/qemu
    c4. service libvirtd restart
    c5. service cloudstack-agent restart

Signed-off-by: Wei Zhou <w.zhou@leaseweb.com>
2013-09-24 09:55:00 +02:00
Wei Zhou
3f42601c6d fix different type issue in write_rule_log_for_vm in security_group.py 2013-09-13 12:02:24 +02:00
Wei Zhou
83d3f7d2f3 change return value of getvmId() from int to string in security_group.py 2013-09-13 11:37:30 +02:00
Mike Tutkowski
60e0873a93 The 'domain' variable should be 'vmName'. 2013-09-12 09:17:48 -06:00
Toshiaki Hatano
914e7c4542 Revert "CLOUDSTACK-2328: Linux native VXLAN support on KVM hypervisor"
This reverts commit 34ae32e0c24777f9ac9cf265447688a3e21680c7.
2013-08-24 07:12:23 +00:00
Toshiaki Hatano
34ae32e0c2 CLOUDSTACK-2328: Linux native VXLAN support on KVM hypervisor
Initial patch for VXLAN support.
Fully functional, hopefully, for GuestNetwork - AdvancedZone.

Patch Note:
 in cloudstack-server
- Add isolation method VXLAN
- Add VxlanGuestNetworkGuru as plugin for VXLAN isolation
- Modify NetworkServiceImpl to handle extended vNet range for VXLAN isolation
- Add VXLAN isolation option in zoneWizard UI

 in cloudstack-agent (kvm)
- Add modifyvxlan.sh script that handle bridge/vxlan interface manipulation script
-- Usage is exactly same to modifyvlan.sh
- BridgeVifDriver will call modifyvxlan.sh instead of modifyvlan.sh when VXLAN is used for isolation

Database changes:
- No change in database structure.
- VXLAN isolation uses same tables that VLAN uses to store vNet allocation status.

Known Issue:
- Some resource still says 'VLAN' in log even if VXLAN is used
- in UI, "Network - GuestNetworks" dosen't display VNI
-- VLAN ID field displays "N/A"
2013-08-24 01:39:11 +00:00
Rene Diepstraten
211b180d55 Replaced virsh() by python-libvirt functions
Signed-off-by: Rene Diepstraten <rene@renediepstraten.nl>
2013-07-25 18:10:58 +02:00
Rene Diepstraten
052bff15c6 Replaced multiple grep/awk/head commands by one awk command
Signed-off-by: Rene Diepstraten <mail@renediepstraten.nl>
2013-07-18 13:41:36 +02:00
Rene Diepstraten
cf73d5b858 Added logpath variable and replaced hardcoded path
Signed-off-by: Rene Diepstraten <mail@renediepstraten.nl>
2013-07-18 12:31:38 +02:00
Rene Diepstraten
c85d41d46f Corrected typos in logmessages
Signed-off-by: Rene Diepstraten <mail@renediepstraten.nl>
2013-07-18 11:47:30 +02:00
Rene Diepstraten
ffe7cfe076 Truncated trailing/double spaces
Signed-off-by: Rene Diepstraten <mail@renediepstraten.nl>
2013-07-17 18:31:28 +02:00
Wido den Hollander
67bcce71f7 Security Group: Use awk to do matching and printing instead of using grep + awk.
Makes it a bit shorter code wise
2013-07-12 11:09:41 +02:00
Wido den Hollander
8e4e56f731 CLOUDSTACK-3409: Do not clean up security group rules for Instances in the "paused" state.
When 'security_group.py cleanup_rules' is called by the KVM Agent it will clean up all Instances
not in the "running" state according to libvirt.

However, when a snapshot is created of a Instance it will go to the "paused" state while the snapshot
is created.

This leads to Security Rules being removed when a Instance is being snapshotted and the cleanup process
is initiated.
2013-07-10 13:12:46 +02:00
Sheng Yang
4c1ace5e02 CLOUDSTACK-2775: Fix trunk port is not 1 on some hosts
Now searching for eth- or em- prefix, as the port for going outside.
2013-06-04 11:32:23 -07:00
Sheng Yang
0c7bd0777b PVLAN: Optimize pvlan scripts 2013-05-06 17:51:33 -07:00
Sheng Yang
3c3d67769b PVLAN: PvlanSetupCommand for KVM support 2013-05-01 13:23:09 -07:00
Sheng Yang
05885457ec PVLAN: Simplify OVS policy
We can resubmit the packet against the flow table to get simplier result.

Now we don't need to check if VM is in the same host as DHCP server or not.
2013-05-01 13:23:08 -07:00
Sheng Yang
b64039bafd Implement PVLAN on Xen
Start/stop vm/dhcp server are done. Not done with VM migration.

A new command(PvlanSetupCommand) is sent for setting up PVLAN for vms. Currently
it's focus on OVS implementation. Need to be more abstruct and add vSwitch part.
2013-05-01 13:23:08 -07:00
Edison Su
299cccf779 fix copy/paste bug 2013-04-24 18:32:06 -07:00
Jayapal Uradi
edaa72d0fc CLOUDSTACK-24: mipn feature for basiczone kvmhost
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-03-15 10:22:56 +05:30
John Kinsella
08a0788b38 Summary: security_group.py: catch exception when flushing chain
Detail: Added exception handling around iptables chain flushing, along
with a call to default_network_rules() to re-initialize.

Testing:
On agent, ls /var/run/cloud and pick one of the VMs to test with. Make a
backup of it's logfile (eg cp /var/run/cloud/i-2-1722.log /tmp )
Destroy the firewall ruleset for that VM with
/usr/lib64/cloud/common/scripts/vm/network/security_group.py destroy_network_rules_for_vm --vmname i-2-1722-VM --vif vnet10
Now copy the log file back, edit the file and decrement the last field by 1
ACS should notice the out-of-date sequence ID and push a new ruleset for
the VM within 60 seconds.

BUG-ID: CLOUDSTACK-1685
Bugfix-for: John Kinsella
Reviewed-by:
Reported-by:
Signed-off-by: John Kinsella <jlk@stratosec.co> 1363286927 -0700
2013-03-14 11:48:47 -07:00
John Kinsella
1079d63b6f Summary: Prevent deletion of wrong iptables rules
Detail: A grep in security_group.py wasn't defined well enough, could
potentially delete rules for VMs other than intended

BUG-ID: CLOUDSTACK-309
Bugfix-for: master
Reviewed-by:
Reported-by: Francois Scala
Signed-off-by: John Kinsella <jlk@stratosec.co> 1363222521 -0700
2013-03-13 17:55:21 -07:00
John Kinsella
381f737e64 Summary: Fix exception handling in security_group.py
Detail: Code was attempting to concatinate an exception to a string.
Updated to convert to text and concatinate that.

BUG-ID: CLOUDSTACK-1052
Bugfix-for: master
Reported-by: Noa Resare
Signed-off-by: John Kinsella <jlk@stratosec.co> 1363218769 -0700
2013-03-13 16:52:49 -07:00
Marcus Sorensen
0ca85659a6 CLOUDSTACK-1651 - point agent scripts to correct logging location, due to move
of /var/log/cloud to /var/log/cloudstack

Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1363112422 -0600
2013-03-12 12:20:22 -06:00
Radoslaw Smigielski
0383803188 scripts: Fix security_group.py handling of args and unknown commands
Checks the args length, doesn't throw IndexError when no args
passed. Also logs to security_group.log when executed with no args or unknown
command.

Review: https://reviews.apache.org/r/9588
Reviewed-by: Rohit Yadav <bhaisaab@apache.org>

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-26 14:12:49 +05:30
Marcus Sorensen
9c5c626546 Summary: bring up KVM network bridge immediately
Detail: Users can experience long delays during VM migration, because the
linux bridge by default will have a forwarding delay set. This means that the
network will likely miss any gratuitous ARP from qemu notifying the network that
the MAC has moved. This change is a common reccommendation for virtualization
running on Linux bridges.

Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1357259186 -0700
2013-01-03 17:26:26 -07:00
Rohit Yadav
6f29317a84 CLOUDSTACK-591: Fix execute and string processing logic for reboot_vm in security_group
- Since we're always getting the first from the list, use head -1 to get the first
  of the results instead of processing again
- Remove unecessay pop (why was it even there)

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-13 15:28:30 -08:00
Bill Rich
1ae2d720a3 CLOUDSTACK-591: Changed bridge name parsing in security_group.py to support bridges named with dashes 2012-12-13 15:28:30 -08:00
Marcus Sorensen
915babd970 fix kvm traffic labels (guest traffic types on multiple networks don't
work)

Cloudstack seems to let you create guest traffic types on multiple
physical networks. However, when I try this with KVM I end up always
bridging to whatever device is used for guest.network.device. This pulls
the traffic label (NicTO.getName()) and uses that bridge to ensure that
we get on the correct physical network, rather than just always using
the guest.network.device.

This also changes the bridge naming scheme from cloudVirBr + vlanid to
br + physicalinterface + "-" + vlanid. This is because we should be able
to support the same vlan numbers per physical network, and the previous
bridge name would not support this and collide.

Signed-off-by: Edison Su <sudison@gmail.com>
2012-09-26 17:14:57 -07:00
Edison Su
cefc5cbff3 bug CS-16172
Reviewed-by: chiradeep
2012-08-24 16:13:29 -07:00
David Nalley
d630fa8697 license header changes for scripts folder from Chip Childers 2012-06-23 00:58:00 -04:00
Wido den Hollander
bdec29b3dc Create iptable rules for all bridges assigned to a system VM
The default_network_rules_systemvm method in security_group.py only created the appropriate rules for
just one bridge.

This however leads to traffic not being forwarded to the virtual machine in the case of the system VMs
both (console & storage) having different bridges in basic networking.

This patch makes sure rules are generated for all target devices based on their source device/bridge

It however excludes the LinkLocalBridge since no filtering is needed on that bridge.
2012-06-19 12:20:22 +02:00
John Kinsella
efe318336a CS-14955: security_group.py only creates ICMP iptables rules for ICMP type -1
Description:
Unindented 3 lines to update logic flow to execute iptables when
passed ICMP type is not -1.
2012-05-27 19:39:56 -04:00
Edison Su
d913e3bdfb security group: exactly match bridge name 2012-05-04 13:56:34 -07:00
frank
2f634c0913 Switch to Apache license 2012-04-03 04:50:05 -07:00
frank
52610ffcb3 add copyright header to shell scripts 2012-01-11 18:41:53 -08:00
Naredula Janardhana Reddy
c7766ea6c8 bug 10617: kvm related changes. 2011-12-02 17:07:36 +05:30
Naredula Janardhana Reddy
09905b641b bug 10617: merge code from branch bug10617. 2011-12-01 14:17:52 +05:30
Naredula Janardhana Reddy
f1b99f4f07 Revert "bug 10617: merging code from branch bug10617"
This reverts commit 8bc33448b9220534ba0ddc6c642ffb1e69d5844e.

Conflicts:

	server/src/com/cloud/api/ApiResponseHelper.java
2011-11-11 20:23:26 +05:30
Naredula Janardhana Reddy
02adbd4bd3 bug 10617: merging code from branch bug10617 2011-11-10 15:23:48 +05:30
Chiradeep Vittal
d817f3c364 Revert "bug 10617: Added Egress rules to Security groups."
revert pending review

This reverts commit a19212703b9734ebd44ebf55cfdd81ebdc9d7fe4.
2011-09-12 14:45:58 -07:00
Chiradeep Vittal
53970c89dc Revert "bug 10617: blocking between security groups for egress rules fixed."
revert pending review

This reverts commit 7d30dfd79e3c4b01492f606333c26e36bcdc5d13.
2011-09-12 14:45:58 -07:00