376 Commits

Author SHA1 Message Date
Sheng Yang
2d2c0c48cd Merge branch 'pvlan'
Conflicts:
	scripts/vm/hypervisor/xenserver/xenserver60/patch
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/NetworkServiceImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java
2013-05-15 16:08:08 -07:00
Harikrishna Patnala
ffe90c0059 CLOUDSTACK-2085: VM weight on xen remain same as before vmscaleup ;because "Add-To-VCPUs-Params-Live.sh" is not getting copied on xs host
Fixed by updating the patch files that has
 entries to copy scipts on xenserver. Here we added
 Add-To-VCPUs-Params-Live.sh

Added a check on Host params whether host restricts Dynamic memory control(DMC) to able to allow scale up VM.
If DMC is not enabled then static max and min are set to SO.

Signed Off by - Nitin Mehta <nitin.mehta@citrix.com>
2013-05-15 16:17:21 +05:30
Anthony Xu
1518e7ee43 CLOUDSTACK-2115: remove the trailing '\n' to get correct XS network mode 2013-05-14 17:52:10 -07:00
Bharat Kumar
052c24c4d1 CLOUDSTACK-702: Multiple ip ranges in different subnets.
This feature enables adding of guest ip ranges (public ips)  form different subnets.

In order to provide the dhcp service to a different subnet we create an ipalias on the router. This allows the router to listen to the dhcp request from the guest vms and respond accordingly. Every time a vm is deployed in the new subnet we configure an ip alias on the router. Cloudstack uses dnsmasq to provide dhcp service. We need to configure the dnsmasq to issue ips on the new subnets. Added a new class dnsmasqconfigurator which generates the dnsmasq confg file, this file replaces the old config in the router.

The details of the alias ips are stored in db in the nic_ip_alias table. Every time a new subnet is added one of the ip from the subnet is used to configure the ip alias.

I have pushed the code to  https://github.com/bvbharatk/cloud-stack/tree/Cloudstack-702 , also rebased the code with master.
I need to test the code for advanced sg enabled network using kvm.

I have added the unit test
Marvin tests are at https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=53e4965

Also accomodated some of the changes suggested by koushik.
corrected the import statements. renamed the IpAlias command to createIpAlias command.

This feature supports only ipv4
2013-05-13 17:06:44 +05:30
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
40386fc4cb PVLAN: Add network label parameter to PvlanSetupCommand
We need it to find the real bridge/switch to program on the OVS.
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
Marcus Sorensen
f66b9b570f Send only \n rather than \r\n to agent socket when sending cmdline
to system VMS

BUG-ID: CLOUDSTACK-1732
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1365622030 -0600
2013-04-10 13:27:10 -06:00
Hugo Trippaers
6bec37dc04 Detect if we are root based on the effective uid instead of the username. Allows sysadmins to specifiy their own username if they want. 2013-04-10 16:34:31 +02:00
Chiradeep Vittal
e7983b25cc QuickCloud: Enable secondary storage daemon to run outside the system vm 2013-04-09 14:45:25 -07:00
Nitin Mehta
3e4430d811 CLOUDSTACK-658 - Scaleup vm support for Xenserver
Added the framweork so that it can be extended for vmware and kvm as well.
Added unitests and marvin tests.
2013-03-28 16:43:37 +05:30
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
Deepti Dohare
d5cb32f159 Multiple Secondary Storage Issue 2013-03-14 21:08:27 -04:00
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
Jayapal Uradi
a49261c3b1 CLOUDSTACK-24: mipn feature for basiczone
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-03-13 10:24:22 +05:30
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
Marcus Sorensen
9ad54a082c Summary: KVM - use virtio socket to communicate config to system vms
Detail: This gets rid of the patchdisk method of passing cmdline and
authorized_keys to KVM system VMs. It instead passes them to a virtio socket,
which the KVM guest reads from the character device /dev/vport0p1 during
cloud-early-config. Tested to work on CentOS 6.3 and Ubuntu 12.04. Should
work with even older versions of libvirt.

Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1362691685 -0700
2013-03-07 14:28:05 -07:00
Brenn Oosterbaan
e8b6f66582 Review 9647: In some storage failure scenario’s the NFS timeout can
cause writing the heartbeat to take longer than expected. By comparing
the last successful heartbeat epoch with the current epoch we check if
the timeout value has been met.
2013-03-05 15:38:54 +01:00
Nitin Mehta
b12aebefee Revert "CLOUDSTACK-658 - Adding Scalevm command and XS related changes"
This reverts commit e0019eccd997d9b2b3ff9395bcd99f821f5121db.
2013-03-04 23:32:52 +05:30
Nitin Mehta
e0019eccd9 CLOUDSTACK-658 - Adding Scalevm command and XS related changes 2013-03-04 14:47:55 +05:30
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
Brenn Oosterbaan
c30da35811 Commit review 9586
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
2013-02-25 14:40:15 +01:00
Mice Xia
9a12756ae4 CLOUDSTACK-684 support vm snapshot 2013-02-14 01:26:30 +08:00
Marcus Sorensen
ae2b673e03 Summary: fix cloud-agent KVM calls to cloudstack-agent for centos6.3
BUG-ID: CLOUDSTACK-1234
Bugfix-for: 4.1, master
Reported-by: Rayees Namathponnan
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1360736064 -0700
2013-02-12 23:16:22 -07:00
anthony
db71d3da36 CLOUDSTACK-1167
remove arptables rules after VM is stopped
2013-02-05 15:07:29 -08:00
Kelven Yang
296c20332d Merge javelin into master 2013-02-01 14:40:45 -08:00
Devdeep Singh
e162876605 CS-16544: Create Snapshot (2nd time - reccuring) is failing on XenServer 6.1. The issue is that while backing up a snapshot when cloudstack tries to update the parent (of the backed up vhd), vhd-util isn't present at the desired location and setParent function in vmopsSnapshot fails. This issue is observed only on Xenserver 6.1. The reason for this is, when CloudStack connects to a Xenserver and executes the SetupCommand, it copies vhd-util tool to /opt/xensource/bin directory on the host. However, in vmopsSnapshot python file 'VHD_UTIL' is initialized to /usr/sbin/. The issue is not observed on 6.0.2 (and I guess previous versions) because vhd-util is present in /usr/sbin/ directory by default (after a clean install). Whereas, in Xenserver 6.1, vhd-util is present in '/usr/bin'. Fixed the issue by updating VHD_UTIL to point to /opt/xensource/bin/vhd-util in vmopsSnapshot file. 2013-02-01 15:25:26 +05:30
Rohit Yadav
356866c72b Merge branch 'master' into javelin
- Fixed new join dao impls as spring components
- Fixed component context xml to load api rate limit checker
- Fixed root pom.xml for duplicate plugin
- Fixed list data centers method
- Fixed following conflicts:
	api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java
	api/src/org/apache/cloudstack/api/command/user/offering/ListServiceOfferingsCmd.java
	api/src/org/apache/cloudstack/api/command/user/template/DeleteTemplateCmd.java
	api/src/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java
	plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/api/query/QueryManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/swift/SwiftManagerImpl.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-24 19:18:53 -08:00
Edison Su
189c20b665 umount loop device. If patch disk created from loop, then need to umount it in loop device, otherwise, you can only create 7 routers on one kvm host 2013-01-18 14:27:40 -08:00
Alex Huang
10d9c019a9 All merge conflicts resolved 2013-01-18 12:14:57 -08:00
Marcus Sorensen
8c5b82dfb4 Summary: several scripts are not mode executable
Detail: several scripts in the scripts directory weren't marked executable.
Normally this is handled/fixed in the packaging, but harder to deal with in
development environments, so marking them executable.

Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1358446902 -0700
2013-01-17 11:21:42 -07:00
Alex Huang
30f2565d98 Merge branch 'api_refactoring' into javelin 2013-01-08 12:36:04 -08:00
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
Edison Su
4b2d9f4415 refactor test cases: use testNG instead of junit, as testNG can group test cases and pass parameter to test case 2012-12-22 22:10:39 -08:00
Edison Su
ac88c16be6 finaly, finish download template to primary storage 2012-12-20 19:06:02 -08:00
Edison Su
c216990e1c trying to add code to download url into devcloud 2012-12-19 18:43:04 -08:00
Edison Su
b70c1a5a84 Backs NFS-based secondary storage with an S3-compatible object store. Periodically, a reaper thread synchronizes templates and ISOs stored on a NFS secondary storage mount with a configured S3 object store. It also pushes snapshots to the object store when they are created and downloads them in other zones on-demand. In addition to permitting the use of commodity or IaaS storage solutions for static assets, it provides a means of automatically synchronizing template and ISO assets across multiple zones. 2012-12-13 23:18:37 -08: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
Edison Su
a9c81b6f08 fix devcloud: copy router_proxy.sh into correct place 2012-10-21 00:01:47 -07:00
Edison Su
3cd9ba46fb fix devcloud: add router_proxy.sh 2012-10-21 00:01:47 -07:00
Edison Su
c5ba6312e7 fix devcloud 2012-10-21 00:01:47 -07:00
Chip Childers
806d033fe3 CLOUDSTACK-330: Correct Citrix information to be Apache in several .py files
Signed-off-by: Chip Childers <chip.childers@gmail.com>
2012-10-12 12:18:56 -04:00
Wido den Hollander
82e57f8f40 Use /tmp as temporary location for injecting SSH keys into systemvm.iso
When starting the management server with 'sudo' the $HOME will be set to the user calling sudo.

This fixes CLOUDSTACK-218
2012-09-27 18:58:31 +02: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