When dmc is enabled allow cloudstack to scale the VM between dynamic
ranges. This requires a further commit where there is enough memory
available between dynamic-max and static-max for the VM to scale under
memory pressure. See the TODO in Xenserver56FP1Resource.java
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
23e54bb0 introduced multiple hypervisors support for cpu and memory
overcommit. Here the HypervisorGuru base which determines the min, max
range for the memory for all hypervisors computes the minCpu using the
MemoryOverCommit ratio and minMemory using the CpuOverCommit ratio.
Minor typo/logic issue but massive damage across all HV if enabled ;)
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
When setting memory constraints on Xen guests we should honor:
static-min <= dynamic-min <= dynamic-max <= static-max
Our VmSpec while allows the guests to like between dynamic-min and
dynamic-max the memory set by the resource set the static min to be
equal to the dynamic max. This restricts the hypervisor from ensuring
optimized memory handling of guests.
see: http://wiki.xen.org/wiki/XCP_FAQ_Dynamic_Memory_Control#How_does_XCP_choose_targets_for_guests_in_dynamic_range_mode.3F
Another fix was related the restrict_dmc option. when enabled (true)
this option disallows scaling a vm. The logic was reverse handled
allowing scaling when restrict_dmc was on. This control flow is now
fixed.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Missing default constructor fails the agent manager reloading the XCP
resource on reboot of management server. This is fixed by using the
default constructor as do other Xen resources and include a new resource
ala XenServers for XCP1.6.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
1. A new implicit planner which extends the functionality provided by FirstFitPlanner.
2. Implicit planner can be used in either strict or preferred mode. In strict mode it tries to deploy a vm of a given account on a host on which vms of the account are already running. If no such host is found it'll search for an empty host to service the request. Otherwise the deploy vm request fails.
3. In preferred mode, if a host which is running vms of the account or an empty host isn't found, the planner then tries to deploy on any other host provided it isn't running implicitly dedicated strict vms of any other account.
4. Updated the createServiceOffering api to configure the details for the planner that the service offering is using.
5. Made db changes to store the service offering details for the planner.
6. Unit tests for testing the implicit planner functionality.
7. Marvin test for validating the functionality.
- Changes merged from planner_reserve branch
- Exposing deploymentplanner as an optional parameter while creating a service offering
- changes to DeploymentPlanningManagerImpl to make sure host reserve-release happens between conflicting planner usages.
No longer creating firewall rule as part of PF/Static NAT rule creation. Now firewall rule needs to be configured separately.
Also made some changes to exception handling.
* Updated SQL upgrade scripts to include midonet configs.
* Fixed bug where default ICMP allow rule was missing
on static NAT creation, keeping VMs from being able
to ping the gateway.
* Changed the filter in the MidoNetElement callbacks to allow
calls when Midonet is configured.
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
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>
* Updated SQL upgrade scripts to include midonet configs.
* Fixed bug where default ICMP allow rule was missing
on static NAT creation, keeping VMs from being able
to ping the gateway.
* Changed the filter in the MidoNetElement callbacks to allow
calls when Midonet is configured.
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
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>
Ip and port pool object names in VNMC were created by appending guest vlan, public ip and id of corresponding rule for better readability. This resulted in the name exceeding max. length allowed.
Shortened the name by removing public ip part from it.
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
1) In unittest, removed the unsed Dao from components scan
2) Netscaler and InternalLb element shouldn't impelement VPC provider as they provide only LB services support
An input parameter was incorrectly interpreted during egress rule creation and so resulted in NPE. Created a new vnmc xml for handling creation of egress rule with protocol as 'All'
Due to VNMC limitation source nat ip cannot be assigned to ASA 1000v outside interface. Working around this issue by acquiring additional public ip during network implement and assigning that to outside interface of ASA. Also made changes to ensure that source nat policy comes after pf and static nat policies in terms of evaluation by assigning a high 'order' value for it.
Squashed commit of the following:
commit def0861d5a
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu May 9 10:53:09 2013 -0700
Inernallb: added internalLbVm to the list of network elements for nonoss build
commit 56d94fc074
Merge: d828c158f9a42e
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu May 9 09:51:36 2013 -0700
Merge branch 'master' into internallb1
Conflicts:
plugins/network-elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
server/src/com/cloud/network/vpc/VpcManagerImpl.java
commit d828c154fd
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Wed May 8 14:58:22 2013 -0700
internallb: Fixed nonoss build
commit 1b8a6986a6
Merge: 9e74fa9738d35a
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Wed May 8 13:20:07 2013 -0700
Merge branch 'master' into internallb1
Conflicts:
api/src/com/cloud/async/AsyncJob.java
api/src/com/cloud/network/NetworkModel.java
api/src/com/cloud/network/rules/LoadBalancerContainer.java
api/src/org/apache/cloudstack/api/BaseCmd.java
api/src/org/apache/cloudstack/api/ResponseGenerator.java
api/src/org/apache/cloudstack/network/lb/ApplicationLoadBalancerContainer.java
client/tomcatconf/commands.properties.in
engine/schema/src/com/cloud/network/dao/LoadBalancerDaoImpl.java
server/src/com/cloud/api/ApiResponseHelper.java
server/src/com/cloud/network/NetworkManagerImpl.java
server/src/com/cloud/network/NetworkModelImpl.java
server/src/com/cloud/network/NetworkServiceImpl.java
server/src/com/cloud/server/ManagementServerImpl.java
server/test/com/cloud/network/MockNetworkModelImpl.java
server/test/com/cloud/vpc/MockNetworkManagerImpl.java
server/test/com/cloud/vpc/MockNetworkModelImpl.java
server/test/resources/appLoadBalancer.xml
setup/db/db/schema-410to420.sql
test/integration/component/test_multiple_ip_ranges.py
test/integration/smoke/test_guest_vlan_range.py
tools/marvin/marvin/integration/lib/base.py
commit 9e74fa9406
Author: Prasanna Santhanam <tsp@apache.org>
Date: Thu May 9 00:11:40 2013 +0530
marvin changes for internallbvm provider
- changed the simulator context to load the internallb bean
- fixed deployDataCenter to use the additional provider by default
- fixed the sandbox script and the setup script for simulator checkin
tests
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit 0a2d49301b
Author: Jessica Wang <jessicawang@apache.org>
Date: Tue May 7 15:50:41 2013 -0700
Internal LB - UI - zone wizard - advanced zone - enable internal LB element, enable internal LB provider.
commit 43e1667f90
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue May 7 13:26:53 2013 -0700
Moved all DAOs and VOs to the cloud-engine-schema project
commit 2fd94c8bbe
Author: Radhika PC <radhika.puthiyetath@citrix.com>
Date: Tue May 7 18:26:08 2013 +0530
CLOUDSTACK-893 api
commit 12b64d6c00
Author: Prasanna Santhanam <tsp@apache.org>
Date: Tue May 7 17:06:15 2013 +0530
Fixing the gmaven configuration for marvin/pom.xml
For the marvin checkin test custom properties had a typo when run for
the *nix environment.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit 1e4274dd9f
Author: Prasanna Santhanam <tsp@apache.org>
Date: Tue May 7 15:28:43 2013 +0530
Renaming TesDedicateVlanRange -> TestDedicateVlanRange
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit 9264ac526f
Author: Prasanna Santhanam <tsp@apache.org>
Date: Tue May 7 15:28:20 2013 +0530
Adding isolation method to the zone creation of marvin
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit 3a0dc67de0
Author: Prasanna Santhanam <tsp@apache.org>
Date: Tue May 7 15:27:26 2013 +0530
adding ACL for dedicateGuestVlanRange set of APIs
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit 79f6e11368
Author: Prasanna Santhanam <tsp@apache.org>
Date: Tue May 7 15:26:48 2013 +0530
add debug logs when access checkers fail to find API
When the access checkers fail for api discovery, we fail silently.
instead record a debug message.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit 92cb7d3e0f
Author: Hugo Trippaers <trippie@gmail.com>
Date: Tue May 7 11:44:23 2013 +0200
commit e0d8f01ecd enabled all tests. Fix
AWSAPI build by removing broken tests and excluding failing tests.
commit 4a391464c7
Author: Hugo Trippaers <htrippaers@schubergphilis.com>
Date: Tue May 7 10:57:23 2013 +0200
commit e0d8f01ecd enabled all tests, but the tests in vmware-base are horribly broken and will not compile with the current CloudStack.
Removing the tests to fix the nonoss build and they are so broken they should be rewritten from scratch anyway.
commit 2ca03a8513
Author: Prasanna Santhanam <tsp@apache.org>
Date: Tue May 7 13:51:34 2013 +0530
moving test data to top level dictionary
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit ceaa4e1b0d
Author: Prasanna Santhanam <tsp@apache.org>
Date: Tue May 7 13:50:56 2013 +0530
Adding tracelogs to the API discovery service
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit a3f5f01c7e
Author: Prasanna Santhanam <tsp@apache.org>
Date: Tue May 7 13:50:12 2013 +0530
dedicateGuestVlanRange is admin only API
Adding ACL for the dedicateGuestVlanRange API.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit 1c4c80fe91
Author: Hugo Trippaers <htrippaers@schubergphilis.com>
Date: Tue May 7 09:58:16 2013 +0200
Recent pom switcharoo caused the client to lose the dependecy on console-proxy, which it needs to include the systemvm
commit 8103f3c386
Author: Radhika PC <radhika.puthiyetath@citrix.com>
Date: Tue May 7 11:30:17 2013 +0530
CLOUDSTACK-893 first cut
commit 67d0411d73
Author: Dave Cahill <dcahill@midokura.com>
Date: Fri Apr 19 17:31:44 2013 +0900
Add docs for MidoNet networking plugin [CLOUDSTACK-996]
Signed-off-by: Dave Cahill <dcahill@midokura.com>
commit c745e6d28e
Author: Alex Huang <alex.huang@gmail.com>
Date: Mon May 6 16:34:03 2013 -0700
Fixed up the simulator to run with windows paths in cygwin
commit be91c03702
Author: Alex Huang <alex.huang@gmail.com>
Date: Mon May 6 10:34:22 2013 -0700
Moved over the VLAN daos
commit dcc09f8472
Author: Alex Huang <alex.huang@gmail.com>
Date: Mon May 6 06:31:47 2013 -0700
Missing file and updated .gitignore
commit e9953cd1a8
Author: Alex Huang <alex.huang@gmail.com>
Date: Mon May 6 06:29:59 2013 -0700
Fixed up unit testing to use only an in class TestConfiguration
commit 6727571403
Author: Alex Huang <alex.huang@gmail.com>
Date: Thu May 2 15:20:49 2013 -0700
Fixed an incorrect unit test for affinity group. Removed some useless pom.xml.
commit d015fb3520
Author: Alex Huang <alex.huang@gmail.com>
Date: Thu May 2 06:50:38 2013 -0700
Moved most of the VOs and DAOs from server package into engine-schema as well
commit 77547a58df
Author: Alex Huang <alex.huang@gmail.com>
Date: Wed May 1 15:15:57 2013 -0700
Removed files that are no longer used and further separated out the files in the core project
commit 345f3d3482
Author: Alex Huang <alex.huang@gmail.com>
Date: Wed May 1 05:46:15 2013 -0700
Moved agent commands to core and out of api
commit e91ca00571
Author: Alex Huang <alex.huang@gmail.com>
Date: Tue Apr 30 19:06:20 2013 -0700
Removed framework-api which is completely useless. Changed framework-ipc to reference gson itself. Move VOs into engine-schema.
commit f64564e490
Author: Dennis Lawler <dlawler@gmail.com>
Date: Mon Apr 29 15:10:09 2013 -0700
Removing filterwin2k option
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 944a7ea5d6
Author: Wei Zhou <w.zhou@leaseweb.com>
Date: Mon May 6 20:57:02 2013 +0100
CLOUDSTACK-2319: fix "unable to add egress rules" in SecurityGroup
Signed-off-by: Chip Childers <chip.childers@gmail.com>
commit ff7f8ba362
Author: Wei Zhou <w.zhou@leaseweb.com>
Date: Mon May 6 20:56:06 2013 +0100
CLOUDSTACK-2322: update network.gateway to fix deployVm error on
SharedNetwork after ipv6 support
Signed-off-by: Chip Childers <chip.childers@gmail.com>
commit a153373c7e
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon May 6 11:45:19 2013 -0700
CLOUDSTACK-129: added new API - listNetworkIsolationMethods - for displaying isolation methods supported by the cloudStack
commit 46f59cd49e
Author: Prasanna Santhanam <tsp@apache.org>
Date: Mon May 6 20:39:36 2013 +0530
Fixed the incorrect assertion in noncontiguous_vlan test
The assertion fails if the VLAN is found in which case find returns a
positive number. So here the assertion should infact assert < 0 result.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit bd1dcc10b3
Author: Prasanna Santhanam <tsp@apache.org>
Date: Mon May 6 19:53:42 2013 +0530
Affinity Groups requires multiple storage pools
Fixing the affinity group test which would fail to find the appropriate
storage pool to satisfy the anti-affinity group of the second VM
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit 7f853cdb8f
Author: Prasanna Santhanam <tsp@apache.org>
Date: Mon May 6 19:16:15 2013 +0530
fixing double calls to VM deploy
This fixes regression introduced in commit 2f40a90c that made duplicate
calls to deployVirtualMachine.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit 646e810fcf
Author: Prasanna Santhanam <tsp@apache.org>
Date: Mon May 6 18:51:53 2013 +0530
fixing wildcard imports
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit b29b6e8525
Author: Hugo Trippaers <htrippaers@schubergphilis.com>
Date: Fri May 3 14:03:53 2013 +0200
BigSwitch should only respond if it is the actual provider on the network.
This fixes an NPE during the release call.
commit 6fcc9b009b
Author: Hugo Trippaers <htrippaers@schubergphilis.com>
Date: Thu May 2 17:38:27 2013 +0200
Prevent Nicira NVP tags from exceeding the 40 character limit.
commit d8e61a1c0a
Author: Sanjay Tripathi <sanjay.tripathi@citrix.com>
Date: Thu May 2 13:45:39 2013 +0530
CLOUDSTACK-2188 : Parsing error with Download Monitor while checking the health of downloaded templates
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
commit 5b6e1140f9
Author: Sebastien Goasguen <runseb@gmail.com>
Date: Mon May 6 05:35:58 2013 -0400
CLOUDSTACK-2339: Adding libcloud example
commit 7be62d2374
Author: Sebastien Goasguen <runseb@gmail.com>
Date: Mon May 6 05:35:19 2013 -0400
CLOUDSTACK-2338: Adding example of how to sign api requests in python
commit 156fd68902
Author: Talluri <Srikanteswararao.Talluri@citrix.com>
Date: Fri May 3 23:11:56 2013 +0530
CLOUDSTACK-2323: fix test scripts to conform with library changes
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit 33ff5e9107
Author: sanjeevneelarapu <sanjeev.neelarapu@citrix.com>
Date: Tue Apr 30 20:09:46 2013 +0530
CLOUDSTACK-702: Tests for Multiple IP Ranges
1.Deleting IP Range from the existing CIDR
2.Add non-contiguous guest IP range in new CIDR
3.Add overlapped guest IP range in existing CIDR
Signed-off-by: sanjeevneelarapu <sanjeev.neelarapu@citrix.com>
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
commit 33059d1f66
Author: Pranav Saxena <pranav.saxena@citrix.com>
Date: Mon May 6 14:08:40 2013 +0530
scaleUp VM response change corresponding UI changes
commit 92e18d8106
Author: Pranav Saxena <pranav.saxena@citrix.com>
Date: Mon May 6 13:45:32 2013 +0530
CLOUDSTACK-2337:Resize button available for root/domain admin and normal users
commit d5cd3f7e00
Author: Likitha Shetty <likitha.shetty@citrix.com>
Date: Wed May 1 13:47:26 2013 +0530
Dedicate guest vlan range to account
commit 12c79c8377
Author: Pranav Saxena <pranav.saxena@citrix.com>
Date: Sun May 5 12:02:32 2013 +0530
scale up virtual machine response change in the backend
commit 94bac27622
Author: Rohit Yadav <bhaisaab@apache.org>
Date: Sun May 5 09:58:04 2013 +0530
appliance: Upgrade systemvm appliance from rc1 to Debian7 GA
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
commit c598bb0038
Author: Isaac Chiang <isaacchiang@gmail.com>
Date: Sun May 5 01:57:35 2013 +0530
CLOUDSTACK-2076:Listview widget infinte scrolling error
commit d0615ea9a1
Author: Pranav Saxena <pranav.saxena@citrix.com>
Date: Sun May 5 01:15:14 2013 +0530
CLOUDSTACK-2274:Detail view loading problem when deleting a zone
commit 733b513c3a
Author: Isaac Chiang <isaacchiang@gmail.com>
Date: Sat May 4 13:41:02 2013 +0530
CLOUDSTACK-2160:Refresh button functionality for security groups and statistics tab
commit 418d75d7a4
Author: Marcus Sorensen <marcus@betterservers.com>
Date: Fri May 3 14:09:52 2013 -0600
Summary: Release old DHCP entries
Detail: Refresh dnsmasq with updated entries live, no outage
BUG-ID: CLOUDSTACK-2299
Submitted-by: Dennis Lawler <dlawler@gmail.com>
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1367611792 -0600
commit b3dce64577
Author: Kelven Yang <kelveny@gmail.com>
Date: Tue May 7 10:57:19 2013 -0700
fix unitest
commit b17885f0f6
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue May 7 09:55:47 2013 -0700
InternalLb: some fixes to the unittest
commit 1cff609347
Merge: 053e184a3a5c13
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Fri May 3 11:23:08 2013 -0700
Merge branch 'master' into internallb1
Conflicts:
server/src/com/cloud/network/NetworkModelImpl.java
server/src/com/cloud/network/NetworkServiceImpl.java
server/src/com/cloud/server/ManagementServerImpl.java
server/test/com/cloud/network/MockNetworkManagerImpl.java
server/test/com/cloud/vpc/MockNetworkManagerImpl.java
commit 053e18454d
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Fri May 3 11:07:07 2013 -0700
InternalLB: marvin integration test for internal lb feature
commit 2e8e2f98f5
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Wed May 1 13:53:20 2013 -0700
InternalLB: don't allow to upgrade the network from the network offering with internal LB to the offering with public LB, and vice versa
commit c773d204c8
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed May 1 13:21:52 2013 -0700
Internal LB: if we detect that we are inside an internal lb vm, call out to the ilb script to perform LB configuration
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 8c8845bf77
Merge: 7e95545471ca30
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Wed May 1 10:14:06 2013 -0700
Merge branch 'master' into internallb1
commit 7e9554596f
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Wed May 1 10:01:16 2013 -0700
InternalLb: boot args parameters cleanup for the internal lb vm
commit b7cf870074
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 30 10:31:28 2013 -0700
InternalLb: more unittests for internal lb element
commit 63bb98ebe2
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Mon Apr 29 18:29:25 2013 -0700
allow ssh on eth1
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit ca1c313c29
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon Apr 29 17:58:45 2013 -0700
InternalLb: DB upgrade - update existing physical networks with InternalLbVm provider
commit ed50caa01c
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon Apr 29 17:48:36 2013 -0700
InternalLbVM: handle the scenario when sourceIpAddress is not passed when create internal Lb rule
commit 4c22c911a9
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Mon Apr 29 15:56:00 2013 -0700
backend support for Internal LB
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 7b24a7640c
Merge: 440e848a0dbf89
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon Apr 29 15:49:48 2013 -0700
Merge branch 'master' into internallb1
Conflicts:
server/src/com/cloud/api/ApiResponseHelper.java
server/src/com/cloud/api/query/QueryManagerImpl.java
server/src/com/cloud/configuration/ConfigurationManagerImpl.java
server/src/com/cloud/network/NetworkManagerImpl.java
server/src/com/cloud/network/firewall/FirewallManagerImpl.java
setup/db/db/schema-410to420.sql
commit 440e8484d6
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon Apr 29 13:27:06 2013 -0700
InternalLB: unittests for InternalLoadBalancerVMManager
commit 63babe4b7e
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Fri Apr 26 13:44:01 2013 -0700
InternalLb:
1) Added unittests for InternalLoadBalancerVMService
2) Added unittests for InternalLoadBalancerElementService
commit 4f9c47ce54
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu Apr 25 14:46:42 2013 -0700
InternalLb: create internal lb vm specific service offering
commit 408ee59d1f
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Wed Apr 24 17:08:08 2013 -0700
Internallb: new set of Web services APIs for managing Internal LB VMs
commit 7680e1cc10
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Wed Apr 24 17:08:08 2013 -0700
Internallb:
1) InternalLb and PublicLb can't be enabled on the same network offering
2) Can have internalLb only on VPC tier
commit d73ca7ef73
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Wed Apr 24 13:02:32 2013 -0700
InternalLb:
1) fixed the bug when the guest nic on internal lb vm wasnt set to be default
2) Don't send the rules to the internal lb vm if its in Stopped state
commit ca2fc30655
Merge: 805756704a2b2d
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 23 16:56:11 2013 -0700
Merge branch 'master' into internallb1
Conflicts:
server/src/com/cloud/network/vpc/VpcManagerImpl.java
server/src/com/cloud/server/ManagementServerImpl.java
setup/db/db/schema-410to420.sql
commit 8057567aaa
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 23 13:15:36 2013 -0700
Internallb: more unittests for ApplicationLoadBalancerService
commit 35c0273b85
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Fri Apr 19 16:17:45 2013 -0700
InternalLb: unittests for ApplicationLoadBalancerService
commit 69b23f7003
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu Apr 18 14:01:10 2013 -0700
InternalLb: create/configure/listInternalLoadBalancerElement - fixes to the API response
commit a3321ce617
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu Apr 18 13:31:16 2013 -0700
Internal LB : renamed the classes responsible for managing internal lb elements. Now the names are InternalLoadBalancerVMManager, InternalLoadBalancerVMService and InternalLoadBalancerVMManagerImpl
commit 2baf7c365c
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu Apr 18 10:02:17 2013 -0700
Internallb: verify requested IP for LB rule (if specified) against guest network cidr
commit 0cfe96bd00
Merge: 501f2ff11162f5
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Wed Apr 17 15:41:51 2013 -0700
Merge branch 'master' into internallb1
Conflicts:
api/src/com/cloud/network/IpAddress.java
server/src/com/cloud/network/NetworkServiceImpl.java
setup/db/db/schema-410to420.sql
commit 501f2ffa0b
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 16 17:03:50 2013 -0700
InternalLb: validate source ip network as a part of LB rule creation
commit 4d9a7dfd85
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 16 16:03:32 2013 -0700
InternalLB: in VPC, restrict public LB to one tier only. Internal LB can be supported on multiple tiers
commit 8689bf9eb3
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 16 15:59:56 2013 -0700
Internal LB: added internal lb vm to the list of supported providers in VPC default offering
commit b7709b89ff
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 16 11:04:22 2013 -0700
Internal Lb: added 2 boolean fields - internal_lb and public_lb - to the network offering. Define if internal or public LB service is supported. In the current release it's either one or another; in the future releases we might support both on the same network
commit 014689e45e
Merge: b3b16ba90e8158
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 16 09:55:45 2013 -0700
Merge branch 'master' into internallb1
Conflicts:
api/src/com/cloud/network/Network.java
plugins/network-elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
server/src/com/cloud/network/NetworkManagerImpl.java
server/src/com/cloud/network/NetworkServiceImpl.java
server/test/com/cloud/network/MockNetworkManagerImpl.java
server/test/com/cloud/vpc/MockNetworkManagerImpl.java
setup/db/db/schema-410to420.sql
commit b3b16bae48
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon Apr 15 17:00:31 2013 -0700
InternalLB: allow to specify more than one provider for the LB service when create network offering as diff providers can support internal and public LB for the same network
commit a4fc1d7d65
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon Apr 15 13:45:25 2013 -0700
Internal LB:
1) Added network_offering_details DB table and corresponding VO/DAO objects. Change createNetworkOffering web services api to accept the map of key/value pairs as details.
2) Allow to have multiple providers for the same service for the network to support the case when LB service can have separate providers for Internal LB and Public LB
commit 4530cebf2b
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon Apr 15 10:06:10 2013 -0700
InternalLbVm: support for start/stop Internal lb vm
commit ae69f0ae56
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Fri Apr 12 17:25:02 2013 -0700
InternalLb: fixed prepare() in InternalLbElement - have to prepare nics of User vms only
commit 888a83c221
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Fri Apr 12 15:58:27 2013 -0700
InternalLb: Start/deploy internal LB vms for the existing LB rules as a part of network implement
commit 3b41d5bee1
Merge: bb735314b1a9f1
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Fri Apr 12 15:32:40 2013 -0700
Merge branch 'master' into internallb1
Conflicts:
server/src/com/cloud/network/NetworkModelImpl.java
server/src/com/cloud/server/ManagementServerImpl.java
commit bb73531fed
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Fri Apr 12 15:13:55 2013 -0700
Internal Lb: list internal lb vms as a part of listRouters response. Introduced new parameter - role (can be virtual_router or internal_lb_vm)
commit c113ea184b
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Fri Apr 12 12:00:09 2013 -0700
Add Internal Lb Provider/Element as a part of adding a physical network
commit 78c9db79da
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Fri Apr 12 10:05:28 2013 -0700
InternalLbVm: destroy the internal lb vm when the last rule for the ip is being revoked
commit af6201257b
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu Apr 11 16:55:37 2013 -0700
Internal LB: fixed some bugs in internal lb vm startup process
commit 1db240c2b6
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu Apr 11 14:23:55 2013 -0700
InternalLb: fixed searchCriteria constructor in ApplicationLoadBalancerDaoImpl
commit 3795048fcc
Merge: f4c2b535f8a278
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu Apr 11 14:09:31 2013 -0700
Merge branch 'master' into internallb1
Conflicts:
api/src/com/cloud/async/AsyncJob.java
api/src/org/apache/cloudstack/api/ApiConstants.java
api/src/org/apache/cloudstack/api/BaseCmd.java
api/src/org/apache/cloudstack/api/ResponseGenerator.java
client/tomcatconf/commands.properties.in
server/src/com/cloud/api/ApiDBUtils.java
server/src/com/cloud/api/ApiResponseHelper.java
server/src/com/cloud/server/ManagementServerImpl.java
setup/db/db/schema-410to420.sql
commit f4c2b53c21
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu Apr 11 13:46:47 2013 -0700
InternalLB: modified InternalLbElement to start the Internal Lb vm for each ip address (if not already started)
commit 76a4b1cf81
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu Apr 11 11:41:47 2013 -0700
InternalLB: added logic for acquiring guest ip address for the Internal LB rule
commit 915e39fbaa
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu Apr 11 10:19:18 2013 -0700
Removed unused methods doing ipAllocation from GuestNetworkGuru and NetworkServiceImpl. The correct method is located in NetworkModelImpl
commit 3f2a62c7f6
Merge: 20beb7aa0b5ebc
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Wed Apr 10 17:16:07 2013 -0700
Merge branch 'master' into internallb1
commit 20beb7a16c
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Wed Apr 10 15:28:12 2013 -0700
Internal LB: applyLoadBalancerRules - put not null check for sourceIpAddressId (can be null when Schema is not Public)
commit 87e5f5b9a6
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Wed Apr 10 15:17:58 2013 -0700
Internal LB: intermediate checkin - added InternalLBAppliance manager and managerImpl
commit 53b9c0d142
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 9 17:55:10 2013 -0700
Internal LB: added @Since to API docs for Internal LB related commands
commit 867b305ea8
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 9 17:51:19 2013 -0700
Internal LB: Made InternalLbElement to extend the ip deployer as the LB service implements IPDeployerRequester
commit 7b9af28094
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 9 15:45:30 2013 -0700
InternalLb: new set of Web Services APIs to add InternalLB as a network element to the cloudStack (the element is packaged as an independent plugin). New APIs:
1) configureInternalLoadBalancerElement
2) createInternalLoadBalancerElement
3) listInternalLoadBalancerElements
commit 039e303d4a
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 9 14:01:11 2013 -0700
InternalLB: Modified pluggable service VirtualRouterElementService to accept only VirtualRouter and VpcVirtualRouter as a VirtualRouterProvider type when add/configure elements. Other VirtualRouterProviderTypes are are taken care by elb/internal lb plugins.
commit f0018b4512
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Tue Apr 9 12:56:42 2013 -0700
Internal LB:
1)Added InternalLoadBalancerManager and corresponding Impl
2)Add InternalLbVm as a default CS provider. DB upgrade is covered as well
commit e344cf250a
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon Apr 8 16:57:47 2013 -0700
InternalLB - removed unused code from LoadBalancerDao
commit 3588f46848
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon Apr 8 16:23:03 2013 -0700
Internal LB - added network-element plugin for internal lb service
commit 76325e6168
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon Apr 8 13:58:08 2013 -0700
Internal Lb:
1) When network has both kinds of LB rules - Public and Internal - never send them in the same set to the provider
2) Added extra checks on the provider side to validate if the schema - Public or Internal - is supported.
commit 56c2fe1d37
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon Apr 8 12:34:59 2013 -0700
InternalLB:
1) Added new capability for the LB service - LbSchemes. Can take 2 values - Internal and Public.
2) F5 and Netscaler LB providers - changes all LB related methods to accept LoadBalancingRule instead of ? extends FirewallRule.
commit 34bcb2d026
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Mon Apr 8 12:11:11 2013 -0700
InternalLB: implemented list/delete/create web services API commands that will be used for Internal LB creation
commit 9ab31e11f7
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Fri Apr 5 15:59:55 2013 -0700
InternalLB: change LoadBalancingRule - reference sourceIpAddress of th load balancer by its value, not DB id
commit 08f855d4e4
Author: Alena Prokharchyk <alena.prokharchyk@citrix.com>
Date: Thu Apr 4 09:26:21 2013 -0700
InternalLB:
1) Added new set of Interfaces - including the new VO - for the internal load balancer
2) DB change - added source_ip_address/source_ip_address_network_id/scheme (Internal/Public) fields to the load_balancer table
blocking public access to the VM's in basic zone using EIP.
Its required that both RNAT and INAT rules are required on the NetScaler
to provide public connectivity to user VM's in both in-bound and out-bound
directions. Currenely only INAT rule is added which permits inbound public
traffic to VM. This fix adds RNAT rule aswell, which ensures the outbound
public access from the user VM's
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.
This reverts commit 8e917b1ad3.
Fixing the eclipse setting issue caused by excluding <cs.target.dir>.
This also fixes the incubation -> graduation links in the various poms.
Conflicts:
pom.xml
so that callers of startVM in LibvirtComputingResource know that a vm failed
to start
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1366224775 -0600
pools the proper way won't cause problems for KVM HA Monitor, this patch closes
holes. Call the KVMStoragePool deleteStoragePool that properly removes it from
the KVMHA hashmap, instead of the pools direct delete() call.
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1366172318 -0600
commit 7ce45ea108
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 15 18:36:33 2013 +0530
Fixed indentation and line ending
commit 0232048f90
Merge: 735c4c897911e9
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 15 17:05:59 2013 +0530
Merge branch 'master' into cisco-vnmc-api-integration
Conflicts:
api/src/org/apache/cloudstack/api/ApiConstants.java
client/tomcatconf/commands.properties.in
setup/db/db/schema-410to420.sql
tools/marvin/marvin/integration/lib/base.py
commit 735c4c8955
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 15 15:20:37 2013 +0530
Fixed unit tests based on recent changes in the Vnmc resource code
commit f166f2d0bf
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 15 14:50:25 2013 +0530
added tests to register vnmc and asa appliance in cloudstack
commit f38be4810e
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 8 18:42:06 2013 +0530
Removed unwanted files
commit 902ce426c1
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 8 17:59:30 2013 +0530
Fixed auto-wiring of components for Cisco Vnmc
commit 08467ee307
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 8 16:04:54 2013 +0530
Fixed compilation issues, incorrect merges from last commit
commit 67f11d46ad
Merge: 3422ceec9c68e1
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 8 15:11:10 2013 +0530
Merge branch 'master' into cisco-vnmc-api-integration
commit 3422ceefb6
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 8 14:42:32 2013 +0530
Correctly associating nat, acl policy sets to edge security profile in VNMC
commit 9c1e193fca
Author: Koushik Das <koushik.das@citrix.com>
Date: Sun Apr 7 21:22:22 2013 +0530
Passing correct subnet mask while creating edge firewall in VNMC
commit 05e3d04b55
Author: Koushik Das <koushik.das@citrix.com>
Date: Tue Apr 2 17:50:57 2013 +0530
Added changes related to icmp
commit bcecb589de
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Apr 1 13:57:21 2013 +0530
Some xml file renames
commit 9c1ee93f2e
Author: Koushik Das <koushik.das@citrix.com>
Date: Sat Mar 30 15:54:25 2013 +0530
Fixed PF and static NAT rule creation in VNMC
commit 7e6159fa05
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 27 18:53:49 2013 +0530
Added more unit tests for Cisco Vnmc element
commit fc0ed9adb6
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 27 16:48:28 2013 +0530
Cleaning up VNMC config as part of network shutdown
commit 5a427d48e2
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 27 02:22:54 2013 +0530
Added unit test for Vnmc network element implement() method
commit 48cbf34d3b
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 27 02:20:45 2013 +0530
Passing correct gateway ip while creating vservice node and guest port profile in Nexus
commit 2c386c61ef
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 22 13:50:52 2013 +0530
Nexus 1000v fix
commit 4d2168bfa9
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 22 00:30:01 2013 +0530
Egress firewall rule
commit e81ab3a2f4
Author: Koushik Das <koushik.das@citrix.com>
Date: Thu Mar 21 10:50:29 2013 +0530
More tests for VnmcResource class
commit 9e9c179212
Author: Koushik Das <koushik.das@citrix.com>
Date: Thu Mar 21 00:25:10 2013 +0530
Fixed build issue from master merge
commit f0c1af2b5c
Merge: 4f305c2873ec27
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 20 16:20:10 2013 +0530
Merge branch 'master' into cisco-vnmc-api-integration
Conflicts:
api/src/com/cloud/network/Network.java
api/src/org/apache/cloudstack/api/ApiConstants.java
client/tomcatconf/components-nonoss.xml.in
client/tomcatconf/nonossComponentContext.xml.in
plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
setup/db/db/schema-410to420.sql
vmware-base/src/com/cloud/hypervisor/vmware/mo/HypervisorHostHelper.java
commit 4f305c2beb
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 20 15:09:34 2013 +0530
Initial set of tests, will add more in subsequent commits
commit 50bfcc1f75
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 20 15:02:14 2013 +0530
Updated pom to copy xmls to target location during build
commit 45bc92b826
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 20 14:58:59 2013 +0530
Fixed cpmpilation issue as missed out adding this file
commit 2ce7cdc756
Author: Koushik Das <koushik.das@citrix.com>
Date: Sun Mar 17 17:02:25 2013 +0530
Creating vservice node and associating it with port profile in nexus for guest VMs
commit 387545caff
Author: Koushik Das <koushik.das@citrix.com>
Date: Sat Mar 16 11:14:43 2013 +0530
Added license headers to XML files
commit 43e2997421
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Mar 13 11:51:59 2013 +0530
Changes related to instantiating the dao components
commit 99e88ecbf9
Author: Koushik Das <koushik.das@citrix.com>
Date: Tue Mar 12 23:40:35 2013 +0530
Fix build errors after merge from master
commit 7c20b120c2
Author: Koushik Das <koushik.das@citrix.com>
Date: Tue Mar 12 23:31:46 2013 +0530
Fixing poms and other xmls
commit ee868759a8
Merge: 9c94b6da1b33ca
Author: Koushik Das <koushik.das@citrix.com>
Date: Tue Mar 12 14:44:59 2013 +0530
Merge branch 'master' into cisco-vnmc-api-integration
Conflicts:
api/src/com/cloud/network/Network.java
api/src/org/apache/cloudstack/api/ApiConstants.java
plugins/pom.xml
setup/db/create-schema.sql
commit 9c94b6d231
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 8 22:20:23 2013 +0530
Fixed XML to create static route in VNMC correctly
commit ef069b3323
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 8 15:26:26 2013 +0530
Added logic for revoking ACL, PF and Static NAT rules
commit 4c65b70668
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 8 13:51:37 2013 +0530
Renamed delete-acl-rule -> delete-rule
commit aa94eca516
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 8 00:38:52 2013 +0530
- Creating static routes in VNMC as part of edge firewall configuration
- Passing order parameter while creating rules so that they are evaluated in a specific order
- Added methods in VnmcResource for listing acl policies and rules belonging to variouos policies. This is used to compute order while creation of various rules in VNMC
commit cc824e8585
Author: Koushik Das <koushik.das@citrix.com>
Date: Thu Mar 7 12:16:29 2013 +0530
Adding appropriate ACL rules for PF and static NAT
commit fb23c50365
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 1 17:21:45 2013 +0530
Added logic for deleting various VNMC artifacts. Added/updated relevant xmls as well.
commit 970c21a9a3
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 1 01:54:10 2013 +0530
Added implementation for delete of asa and vnmc apis
commit 22e1455142
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 1 01:19:43 2013 +0530
List asa api to return guest network if associated. From this it can be inferred if asa is available or not
commit 32223736c9
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Mar 1 00:50:55 2013 +0530
Added Vmware cluster info along with asa1kv appliance.
This is used to select the correct n1kv vsm for configuring the guest network
commit deed3cc951
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Feb 25 18:03:59 2013 +0530
Added support for static NAT rules.
- Xmls for creating static nat rules in VNMC
- applyStaticNats implementation in VNMC network element
- handler for static nat in resource class
commit 681f0b7b50
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Feb 25 10:44:13 2013 +0530
Added implementation for firewall and port forwarding rules in Cisco VNMC element class
commit 66b01a6589
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Feb 22 19:19:44 2013 +0530
VNMC xml for deleting NAT policy
commit 5d98686768
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Feb 22 19:16:41 2013 +0530
Added support for PF/DNAT rules.
Created methods in VNMCConnection class to create PF rules. Also moved out common code for PF and source NAT in methods.
Updated the corresponding VNMC resource class.
commit 8db2fbeb8f
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Feb 22 18:21:45 2013 +0530
Added xml for creating NAT policy set in VNMC
commit f2da0d50ca
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Feb 22 18:17:53 2013 +0530
Added VNMC XMLs for supporting PF/DNAT rules.
Also moved out some XMLs related to source NAT to common files so that these can be used for both source NAT and DNAT
commit 124a48819d
Author: Koushik Das <koushik.das@citrix.com>
Date: Thu Feb 21 17:53:12 2013 +0530
Separated out creation of ACL policy set and policy in VNMC
commit 1e38515f35
Author: Koushik Das <koushik.das@citrix.com>
Date: Thu Feb 21 11:54:44 2013 +0530
Added changes to create ingress fw rules in VNMC
commit cb2fba9e7c
Author: Koushik Das <koushik.das@citrix.com>
Date: Thu Feb 14 16:23:05 2013 +0530
Source NAT in VNMC
commit 720fe2f908
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Feb 13 14:16:47 2013 +0530
Fix Vnmc test file
commit d6dbe790c6
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Feb 13 12:07:03 2013 +0530
Added db. tables for asa1kv devices and their mapping with guest network
commit 3fd7e30f6e
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Feb 13 11:52:12 2013 +0530
Changes:
- Added implementation for add/list asa1kv APIs
- Added agent command for associating asa1kv appliance with logical edge firewall in VNMC
- Added handler for the above agent command in VNMC resource class
- Updated VNMC element class to support the above
commit d08e2a1faf
Author: Koushik Das <koushik.das@citrix.com>
Date: Wed Feb 13 11:40:58 2013 +0530
Added lifecycle APIs for Cisco Asa 1000v appliance.
Added corresponding Dao and VO classes.
Also added mapping Dao and VO for guest netwok and asa appliance
commit 6b999ec867
Author: Koushik Das <koushik.das@citrix.com>
Date: Tue Feb 12 00:05:39 2013 +0530
Changes:
a. Added handlers for CreateLogicalEdgeFirewall and ConfigureNexusVSMForASA commands
b. Logic for add/list vnmc device API
c. Partial implementation for network element implement()
commit 0656250308
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Feb 11 23:48:19 2013 +0530
Moved VNMC provider creation to Network.java. The plugin code would have been the ideal place to keep it but current state of the code doesn't allow it.
commit dc402eaa7a
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Feb 11 23:35:19 2013 +0530
Added new commands for the following:
a. Logical edge firewall creation in VNMC
b. Asa1kv vservice node creation and updating asa1kv inside port profile with guest network vlan id in n1kv VSM
commit d6cdfe35f8
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Feb 11 23:06:36 2013 +0530
Added helper method to create port profile in n1kv VSM with additional parameters VDC tenant and edge security profile
Added helper method to create a vservice node in n1kv VSM
commit db42da17e9
Author: Koushik Das <koushik.das@citrix.com>
Date: Mon Feb 11 22:44:01 2013 +0530
Added database table for storing VNMC devices
commit f991436335
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Feb 8 16:00:15 2013 +0530
Added support for network offering creation with VNMC as provider for firewall, port forwarding, source nat
commit 74de210359
Author: Koushik Das <koushik.das@citrix.com>
Date: Fri Feb 8 15:06:11 2013 +0530
Added name attribute for the VNMC lifecycle commands
commit 6ce25ef11d
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 16:44:28 2013 -0800
Fix licensing
commit 392cd8ed63
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 16:38:19 2013 -0800
cisco-vnmc: Fix api to use new conventions
commit 6b142bbaab
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:33:33 2013 -0800
WIP: configure ASA port profile
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 1ae21ea49a
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:33:01 2013 -0800
WIP rename device to resource to better reflect nature of VNMC
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 84d218f972
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:32:54 2013 -0800
WIP: fixes for associating ASA1000v to tenant
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit d74c6a9ac2
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:32:45 2013 -0800
WIP: fixes for associating ASA1000v to tenant
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 9350d10849
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:32:29 2013 -0800
WIP: admin commands for adding / listing VNMC
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit a8031a0cfe
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:41 2013 -0800
WIP ASA 1000v listing"
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit f9cc674b9c
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:36 2013 -0800
WIP : edge firewall
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 6a0964af00
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:30 2013 -0800
WIP : edge security policy
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit e32295e8cf
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:24 2013 -0800
WIP : dhcp server policy
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 446a9b8491
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:18 2013 -0800
WIP : dhcp server policy
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit e35e0eb59b
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:14 2013 -0800
Move unit test
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 2b43a3e74e
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:30:08 2013 -0800
Move unit test
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
commit 11b804a894
Author: Chiradeep Vittal <chiradeep@apache.org>
Date: Wed Jan 16 15:29:54 2013 -0800
WIP: XML control of VNMC
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
the advanced zone
Squashed commit of the following:
commit 3021cb917b2446f6a04f6cbb01bc56ebc5484bff
Merge: 77c6991886fe01
Author: Murali Reddy <murali.reddy@citrix.com>
Date: Sun Apr 14 17:22:05 2013 +0530
Merge branch 'master' into sharednetworkservices
commit 77c69918be
Author: Murali Reddy <murali.reddy@citrix.com>
Date: Tue Apr 9 17:16:57 2013 +0530
Trying to fit both isolated and shared network life cycle with single state
machine may need addtional work. So set network state for shared network explicitly now.
commit 365ed73a0c
Author: Murali Reddy <murali.reddy@citrix.com>
Date: Tue Apr 2 17:14:11 2013 +0530
- associateIpAddress API to associate a public IP with shared network
- shared network with services to go through the implement and shutwdon
phases
Add a flag VmDetailConstants.NESTED_VIRTUALIZATION_FLAG
Add an advanced config uption VmwareEnableNestedVirtualization
Depending on the settings of the flags and the capabilities of the target hypervisor the nested virtualization option will be set on guest VMs. It's a global setting intended only for developers to support cloud-in-a-cloud deployments.
For now it replaces ConsoleProxyManagerImpl with StaticConsoleProxyManager
Usage: mvn install -Dquickcloud
QuickCloud: rename deploy profile
QuickCloud: remove cyclic dependency introduced in nonoss build by moving SecondaryStorageDiscoverer into services
However with this fix, developers will be unable to run 'PremiumSecondaryStorageResource' (for VMWare installations) using mvn exec:java.
Instead they will have to use the exploded archive from systemvm.zip
netscaler.nitro jar.
If it's there we might as well use it.
This fixes build problems for people with old netscaler jars as the
version was not updated in the jar.
- Supports DHCP, Source NAT, Static NAT, Firewall rules, Port Forwarding
- Renamed MidokuraMidonet to MidoNet
- Related Jira ticket is CLOUDSTACK-996
Signed-off-by: Dave Cahill <dcahill@midokura.com>
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
- Creating this as a separate commit so that it is marked as a rename
- Over 50% code changed, so would count as a delete and add otherwise
Signed-off-by: Dave Cahill <dcahill@midokura.com>
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
Description:
Making SHA256SALT the default encoding algorithm to encode
passwords when creating/updating users.
Introducing a new configurable list to allow admins to
separately configure the order of preference for encoding
and authentication schemes.
Since passwords are now sent by clients as clear text,
fixing the Plain text authenticator to check against the
password passed in rather than its md5 digest.
API discovery plugin will return embedded entities for marvin to
discovery and generate it's API classes.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
deleted NFS pools, causing failures when defining new storage pools. Sometimes
a storage pool has never been used on a host, and getStoragePool fails when
copying templates or in storage migration. deleteStoragePool(pool) often fails
silently, leaving no pool defined in libvirt, but a mountpoint left behind.
This patch handles some of these exceptions and brings forward any issues via
logging.
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1364603486 -0600
Update BigSwitch Plugin:
. UI support for adding BigSwitch controller as a network service provider
. Correct the message format between the plugin and the controller
. Add Health check API
Test to add a BigSwitch controller as a network service provider and view.
Test to implementation of guest network on the controller
Test to associate VM to its guest network
Addition of two new resource types i.e. Primary and Secondary storage space in the existing pool of
resource types.
Added methods to set the limits on these resources using updateResourceLimit
API command and to get a count using updateResourceCount. Also added calls in the
Templates, Volumes, Snapshots life cycle to check these limits and to increment/decrement the new
resource types
Resource Name :: Resource type number
Primary Storage 10
Secondary Storage 11
Also added jUnit Tests for the same.
Reviewed by : nitin mehta<nitin.mehta@citrix.com>
Fixed inconsistency in cluster limit check for Vmware clusters.
While adding a new Vmware cluster limit check done correctly but while adding a host to an existing cluster there was an issue with limit check.
KVM to manager. This adds collection of available storage to KVM, not
just used.
Bugfix-for: 4.0.2, 4.1, master
Submitted-by: Ted Smith <darnoth@gmail.com>
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1363966235 -0600
The collection of network usage from VPC virtual router on KVM does not work,
because there is no corresponding procedure to deal with VPC virtual router
(cmd.isForVpc() = true).
Reviewed-by: Kishan Kavala <kishan@apache.org>
Reported-by: Wei Zhou <w.zhou@leaseweb.com>
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
cloud-defined resources on the host has caused various problems. As a backward
compatible fix, if an existing pool with a different name collides with a pool
being created (by path), the pool will be redefined with the name cloudstack
knows about. This is actually what brought up the bug, a persisted storage pool
cloudstack wasn't managing.
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1363210149 -0600
Detail: When we stop a VM, it's definition is no longer valid. Therefore, we
need to catch the exception thrown from libvirt in trying to lookup a
non-existent domain by UUID while trying to check if it's shut down.
BUG-ID:CLOUDSTACK-600
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1363201066 -0600
Detail: A previous patch fixed an issue where we are defining VMs to persist
locally on KVM hosts, which can cause issues if the agent isn't running and
libvirt decides to start the VM unbeknownst to cloudstack. The previous patch
stopped defining VMs as persistent. This patch adds compatibility for existing
cloudstack environments, removing the persistent definition on stop if needed.
BUG-ID: CLOUDSTACK-600
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1363194656 -0600
Netscaler
There is no need for getIpDeployer to depend on the fact a NetScaler
device is allocated (network is implemented state) or not-allocated
(network is in shutdown state)
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
Current kvm agent will silently ignore many exception, and there's no
way to see what really happened. This patch will log in trace level log
that was silently ignored. And also, it will fix huge bare Exception
catch, which is very harmful because it also catches RuntimeException.
Detail: This device can be used for remotely controlling the system vms through
a local socket on the host. We will attempt to replace the KVM patchdisk with
it. Tested, successfully deploys VM, and if system vm has proper driver it
will create a /dev/vport0p1 device within the VM. We will be updating the
system VM in 4.2/5.0 and will support this.
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1362527352 -0700
Libvirt-java 0.4.9 works just fine with JNA 3.2.4 which is in
all distributions.
Future libvirt version require at least JNA 3.5.1 due to new methods
and memory management, but that is not our concern now.
By depending on the JNA in the distribution and adding it to the classpath
we can work just fine.
- Building map of {trafficType, vifDriver} at configure time
- Use the relevant VIF driver for the given traffic type when call plug()
- Inform all vif drivers when call unplug(), as we no longer know traffic type
- Refactor VIF driver choosing code and add unit tests
- Basic unit tests, just test default case
- Also slight refactor of unit test code, and use jUnit 4 instead of 3, to match rest of codebase
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
Enhanced baremetal servers support on Cisco UCS
change UcsXxxDao to Spring xml loading
change ListxxxCmd to inherit ListCmd
change API response in line with current API architecture
adding missing db schema to db upgrade schemaOh
Conflicts:
client/pom.xml
plugins/hypervisors/ucs/src/com/cloud/ucs/database/UcsBladeDaoImpl.java
plugins/hypervisors/ucs/src/com/cloud/ucs/database/UcsManagerDaoImpl.java
Enhanced baremetal servers support on Cisco UCS
change API response in line with new API response convention
Conflicts:
api/src/org/apache/cloudstack/api/ApiConstants.java
Some concepts included:
* the replace.properties location used by maven is parameterized to allow
for a build that does not modify the currently git tracked files
* package naming is updated along the lines of what was discussed on the
-dev mailing list and between committers at the Build a Cloud Day in Belgi
* package version pattern is updated (since we redo all package names,
we might as well drop the epoch)
The recently added overcommit feature breaks compatibility between older management servers
and 4.2 agents.
This patch fixes that by falling back if needed.
CLOUDSTACK-657 VMware vNetwork Distributed Virtual Switch support in CloudStack
This is 5th patch for feature 'Support for VMware dvSwitch in CloudStack'.
This patch contains
1)Changes to addCluster done in vmware discoverer to support vswitch type provided as parameters. Also performing validation of vswitch type parameter provided with addCluster api call. Checks for physical network configuration for vmware cluster is added.
2)Changes to vmware resource to use specified vswitch type while preparing network for guest and public traffic types.
3)Changes to vmware manager to introduce new global parameter vmware.ports.per.dvportgroup. Some cleanup.
Virtual switch type could be chosen at zone level or at cluster level for specific traffic type.
autoExpand of dvPortGroup is available in code but disabled as its breaking because vCenter 4.1 does not support autoExpand feature. Would be enable once vSphere 5.1 SDK support is added to CloudStack.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
This is 1st patch for feature 'Support for VMware dvSwitch in CloudStack'.
This contains 3 newly introduced classes. Added apache license header for all 3 files.
[1]TrafficLable and [2]VmwareTrafficLabel classes are to define and encapsulate virtual switch type per traffic type along with other network label fields (VLAN ID and physical network).
[3]DistributedVirtualSwitchMO class is wrapper class for vSphere API calls specific to a distributed virtual switch in a vCenter datacenter.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Thanks to Devdeep for pointing this out.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
(cherry picked from commit c7935a9ab6)
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Supporting kickstart in CloudStack baremetal
able to start vm
Conflicts:
client/tomcatconf/componentContext.xml.in
server/src/com/cloud/baremetal/BareMetalTemplateAdapter.java
server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java
server/src/com/cloud/vm/UserVmManagerImpl.java
new call to network.getPhysicalNetworkId() which wasn't mocked yet in
the nvp plugin unittests.(cherry picked from commit aea5b268b4)
Signed-off-by: Hugo Trippaers <trippie@gmail.com>
allow spring to do DI for simulator plugin. componentContext.xml will
have simulator components disabled by default.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Detail: Removing references to /usr/lib/cloud and /usr/lib64/cloud so that old
systemvm.iso files aren't found by accident. systemvm.iso should exist in
/usr/share/cloudstack-common/vms now.
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1360860243 -0700
Detail: If your traffic label points to a bridge that is on a tagged interface
rather than a real physical interface, cloudstack may not parse the physical
interface correctly, bringing up tagged interfaces on the tagged interface.
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1360798665 -0700
This is a security failsafe, so even if destination does not exist we mkdir the path
with 0700 permission. If path exists mkdir -m 700 -p won't do anything.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
- Assumption is that mkdir is available on xen host
- We don't know what kind of file we're copying, dirs would have 0777 permission
by default
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
- Mgmt server impl is a pluggable service, fix it's method
- Fix getCommands() to return all cmd api classes supported by this mgmt server
- For api-discovery, get commands from pluggable services only, don't use reflections
- Don't use reflections in ApiServer, iterate pluggableservices
- Fix api discovery unit test
- The fix was done automatically using following python program along with
following step:
1. Get all apis provided by default mgmt server, all of them are in cloud-api now
cd api/src/org/apache/cloudstack/api/command
find . >> apis
2. For all apis, generate java code that adds the class to the cmdList arraylist:
f = open('apis', 'r')
data = f.read()
f.close()
output = ""
for a in data.split('\n'):
output += "cmdList.add(%s);" % a.split('/')[-1].replace('.java', '.class')
# wrote output to a file, copied content to mgmt server impl's getCommands()
# similarly, fixed import statements using same code, splitting on /
Testing:
Ran apiserver, put breakpoints in ApiServer's init() where classes are processed
Total cmd classes found by reflections (ReflectUtil) = 354
Total cmd classes found by getCommands for all pluggable services = 354
Next, copied the comma separated values for each set to a string in ipython, a & b
set(a).difference(set(b)) returned null.
The above test implies both set of cmd classes found by both methods, i.e. using
reflections and using getCommands() had same set of apis and all were unique.
Conclusion:
The changes are idempotent and don't break api server's cmd class api discovery
processing.
BUG-ID: CLOUDSTACK-1210
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
We used to define domains persistent in libvirt, which caused XML definitions
to stay there after a reboot of the hypervisor.
We however don't do anything with those already defined domains, actually, we wipe
all defined domains when starting the agent.
Some users however reported that libvirt started these domains after a reboot
before the CloudStack agent was started.
By starting domains from the XML description and not defining them we prevent
them from ever being stored in libvirt.
Due to incorrect logic the private network traffic label specified was not getting used, instead some default was getting used (vSwitch0 or privateEthernetPortProfile). The fix passes the correct label in the format vSwitchX or vSwitchX,<vlan_id> and based on that the correct switch is used.
following changes
- introduced notion of event bus with publish, subscribe, unsubscribe
semantics
- a plug-in can implement the EventBus abstraction to provide event
bug to CloudStack
- A rabbitMQ based plug-in that can interact with AMQP servers to
provide message broker based event-bug
- stream lines, action events, usage events, alerts publishing in to
convineance classed which are also used to publish corresponding
event on to event bus
- introduced notion of state change event. On a state change, in the
state machine corrsponding to the resource, a state change event is
published on the event bug
- associated a state machined with Snapshot and Network objects
- Virtual Machine, Volume, Snaphost, Network object state changes wil
result in a state change event
- 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>
Corresponding getter/setter is renamed too.
Reason is GenericDao does not update the field unless the method name matches the field name; the setter of this VO was one such case.
Detail: There are several places in the code that do a
"brctl show | grep bridgeName" or similar, which causes all sorts
of problems when you have for example a cloudVirBr50 and a
cloudVirBr5000. This patch attempts to stop relying on the output
of brctl, instead favoring sysfs and /sys/devices/virtual/net.
It cuts a lot of bash out altogether by using java File. It was
tested in my devcloud-kvm against current 4.0, as well as by the
customer reporting initial bug.
BUG-ID: CLOUDSTACK-938
Fix-For: 4.0.1
Signed-off-by: Marcus Sorensen <marcus@betterservers.com>
Description: When selecting a storage adaptor, cleanupDisk assumes that
libvirt is being used. Therefore, we pass a StoragePoolType that maps to
libvirt. This is the only place in LibvirtComputingResource where the
StoragePoolType can't be pulled from somewhere else.
BUG-ID: CLOUDSTACK-1011
Signed-off-by: Marcus Sorensen <marcus@betterservers.com>
and CloudException in one place, and Introduced ApiErrorCode to handle CloudStack API error
code to standard Http code mapping.
Signed-off-by: Min Chen <min.chen@citrix.com>
Detail: This merges the resizevolume feature branch, which provides the
ability to migrate a disk between disk offerings, thereby changing its
size, or specifying a new size if current disk offering is custom.
BUG-ID: CLOUDSTACK-644
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1358358209 -0700
Impl. and use UserContext to get User.
CloudStack's @Inject is horrible, it may sometimes fail to inject account service
during startup. Do a lazy injection using ComponentLocator when needed.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Although I still think the templates aren't well maintained, I just
added 12.04 since this is an LTS and people probably want it in the
list of templates.
This system should be more generic I think though.
Create OvsVifDriver to deal with openvswitch specifics for plugging
intefaces
Create a parameter to set the bridge type to use in
LibvirtComputingResource.
Create several functions to get bridge information from openvswitch
Add a check to detect the libvirt version and throw an exception when
the version is to low ( < 0.9.11 )
Fix classpath loading in Script.findScript to deal with missing path
separators at the end.
Add notification to the BridgeVifDriver that lswitch broadcast type is
not supported.
Create OvsVifDriver to deal with openvswitch specifics for plugging
intefaces
Create a parameter to set the bridge type to use in
LibvirtComputingResource.
Create several functions to get bridge information from openvswitch
Add a check to detect the libvirt version and throw an exception when
the version is to low ( < 0.9.11 )
Fix classpath loading in Script.findScript to deal with missing path
separators at the end.
Add notification to the BridgeVifDriver that lswitch broadcast type is
not supported.
Plugin should not be responsible for existence of checking an API, this was wrong.
Throw exception boldly when checkAccess fails.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
- Fix method to return listApis per api name basis
- Return api response, api related cmd etc. as part of response
- Caching and processing all cmd, response classes when plugin starts, made class
list, maps static so they are shared by multiple instances in case, takes about
1306ms to do the processsing but only on load time
- Cache for first listApi() and return precached data thereon, takes 2.2ms
for first call, during runtime and 0ms thereon
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
- Fix StaticRoleBasedAPIAccessChecker to check api access based on roletype
- Remove properties file which is not needed now for api discovery plugin
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
In case of api discovery, it does not make sense to create a separate properties file
If this plugin is enabled in components.xml, a user should be able to discover
all the apis accessible to their role.
listApis based on role type of caller user
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
- Makes plugins self contained so they decide their properties file format
- PluggableService creates the contract that implementing entity will return a
properties map which is apiname:rolemask (both are strings)
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Remove usage and impl as adapter.
We have duplicate code that generates apiname:cmd class maps which is
unavoidable right now as:
- Plugin should not depend on ApiServer or any other component
- cloud-utils cannot depend on cloud-api for the APICommand annotation
- Use java reflect to create a static method in cloud-utils that does the job
would be unsafe.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
to the api project, ensure that all methods use interfaces from the api project.
By moving it to the api project, it lessens the dependency of plugins on the server components.
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
NetworkManager's exclusive focus is now
- handling plugins during orchestration, and
- to deal with ip address allocation.
Those classes that used to refer to NetworkManager to get access to the datamodel now refer to NetworkModel
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
- Introduces api/discovery plugin that helps discover apis on the mgmt server
- It's a pluggable service, therefore has it's own api-discovery_commands.properties
where the discovery api, listApi can be blacklisted (by removing it), or it's
role mask can be changed
- By default its response has all the apis
- Changes in other parts of the code to make it work, viz. components.xml, pom.xml,
and in ApiServer where it is used as an adapter to get apiname, cmd mappings
The ApiDiscoveryService interface is a contract that the implementing class will
provide:
1. A means to get all the apis as a list of response, plugin is free to implement
the response class, as long as it extends on the BaseResponse:
ListResponse<? extends BaseResponse> listApis();
2. Provides a map of apiname as the key and cmd class as the value:
Map<String, Class<?>> getApiNameCmdClassMapping();
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Modify the spec file to package the agent files and the scripts
Some changes to the poms to put the java dependencies in the right place.
Move the agent script to the dedicated os dir in packaging.
Issue seen during system vm template upgrade and restoreVM command
scenarios for vmware. In these cases CS tries to recreate root disk with
same name as the existing one, in case of vmware this results in creation
of vmdk file with same name for both existing and new root volume.
This results in undesired behavior when storage cleanup thread tries to
cleanup old volume. Made the vmdk file name unique by adding the volume
id to it. This will ensure that during volume recreation in the scenarios
mentioned vmdk will get created with a new name and there will be
no undesired side effects of running the storage cleanup thread.
For LB device in inline mode, the ip deployer(the owner of public ip) is the
firewall in front of it, not itself. So check if it's inline or not, if it's
inline, return the firewall as ip deployer
Use SRX firewall filter as SRX firewall. The old security policy mechanism
cannot be used as IP based. This would enable SRX's ability to control traffic
for F5 behind it.
Change access to canHandle so it's easier to unittest.
Make a note that answers can be null if the host is down, there should
be a way to deal with this, but for now an NPE is an adequate indication
that something is wrong.
- Fix interface to return array of strings, or filenames
- Fix StaticRoleBased ACL adapter to process config files by going through all pluggable services
- Refactor interface names
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Automates name field filling using following python program which reads from
various *commands.properties.in files and populates name fields based on the
name cmd class mapping defined in them.
import os
search_pattern = "@APICommand("
pattern_len = len(search_pattern)
prop_files = [
"client/tomcatconf/cisconexusvsm_commands.properties.in",
"client/tomcatconf/f5bigip_commands.properties.in",
"client/tomcatconf/junipersrx_commands.properties.in",
"client/tomcatconf/netapp_commands.properties.in",
"client/tomcatconf/netscalerloadbalancer_commands.properties.in",
"client/tomcatconf/nicira-nvp_commands.properties.in",
"client/tomcatconf/simulator_commands.properties.in",]
file_prefixes = [
"plugins/hypervisors/vmware/src/",
"plugins/network-elements/f5/src/",
"plugins/network-elements/juniper-srx/src/",
"plugins/file-systems/netapp/src/",
"plugins/network-elements/netscaler/src/",
"plugins/network-elements/nicira-nvp/src/",
"plugins/hypervisors/simulator/src/",]
counter = 0
for prop_file in prop_files:
f = open(prop_file, 'r')
data = f.read()
f.close()
file_prefix = file_prefixes[counter]
apis = filter(lambda x: x.strip()!='' and (not x.startswith('#')), data.split('\n'))
for api in apis:
api_name = api.split('=')[0].strip()
cmd_name = file_prefix + api.split('=')[1].split(';')[0].replace('.', '/').strip() + ".java"
if not os.path.exists(cmd_name):
print cmd_name, api_name
f = open(cmd_name, 'r')
d = f.read()
f.close()
idx = d.find(search_pattern) + pattern_len
new_str = d[:idx] + "name = \"%s\", " % api_name + d[idx:]
f = open(cmd_name, 'w')
f.write(new_str)
f.close()
counter += 1
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Entities correlated to the Identity and carry a uuid and those
correlated to InternalIdentity carry an id. Those entities that carry
both will correlated to Identity and InternalIdentity.
This refactors entities wherever possible to ensure the VO only
implements the first class entity.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Multiple fixes:
1. changes to the mvn configuration
a. include simulator to client.war
b. activate simulator by profile
2. templates for simulator
3. developer prefill for simulator
a. Use deplydb-simulator to setup simulator db
4. Inherit components-simulator.xml from components.xml
5. ListVolumesCommand missed for MockStorageManager
6. Include simulator properties into utils/db.properties
TODO:
Secondary storage VMs don't come up because ComponentLocator doesn't
retain a unique set of adapaters by name. Fix this in subsequent
checkin.
BootArgs carry router priority for master and backup and simulator will
reuse the priority to decide RvR status. Deprecating the odd/even logic.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Detail:
To induce latency for a command you have to use an API call like so
http://localhost:8096/client/api?command=configureSimulator&zoneid=1&podid=1&name=CheckRouterCommand&value=wait:80|timeout:0
(This is a hidden API command just for the simulator)
You will see the configuration effected in the mockconfiguration table of
simulator db. You can introduce the latency at runtime without restarting
management server.
mysql> select * from mockconfiguration;
+----+----------------+--------+------------+---------+--------------------+-------------------+
| id | data_center_id | pod_id | cluster_id | host_id | name | values |
+----+----------------+--------+------------+---------+--------------------+-------------------+
| 1 | 1 | 1 | NULL | NULL | CheckRouterCommand | wait:80|timeout:0 |
+----+----------------+--------+------------+---------+--------------------+-------------------+
1 row in set (0.00 sec)
By providing the optional zoneid, podid, clusterid, hostid you can induce the
latency at various levels. This delay will happen before the command is
processed and post-execution return Command's Answer back to management
server.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Simulator just like any hypervisor should be a plugin.
resurrecting it to aid api refactoring tests. WIP
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Detail: Instead of using LibvirtStorageAdaptor for everything, you can create
your own storage adaptor and use it. We select storage adaptor based on storage
pool type, thus we needed to adjust LibvirtComputingResource to pass pool type
to everything in KVMStoragePoolManager. This in turn required that we pass the
info necessary to LibvirtComputingResource as well, so a few agent Commands were
modified.
Note this patch in and of itself shouldn't change any existing behavior, just
allow for new storage adaptors to be selected based on storage pool type.
Reviewed-by: Edison Su
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1355769696 -0700
These unittests do not depend on the componentlocator but instead are
completely dependent on mock objects. This ensures that they can be run
standalone without any requirements on the environment.
Includes some fixes to NiciraNvpGuestNetworkGuru and GuestNetworkGuru
Note to self, surefire actually runs with assertions enabled where junit
inside eclipse doesn't. Sure surefire will mark tests as failed when an
assertion is triggered. Take care when mocking stuff.
Added some unittests for the NiciraNvpApi. These tests mainly validate
the logic of the execute methods, which are the main thing in this
class. Other methods are basically wrappers around these functions.
Changed NiciraNvpApi to have a factory method for obtaining the
HttpMethod. This makes it easier to mock it.
Changed the executeMethods in NiciraNvpApi to protected so the unittests
have access.
Fixed a bug in NiciraNvpApi where releaseconnection was not called in
some cases.
Nicira NVP can't handle a range of port when implementing port
forwarding, so return an error message when a rule is being implemented
that uses port ranges.
Include unittest to verify this behaviour
Rewritten handling for static nat and port forwarding, should make some
more sense now and the complex functions are split in smaller units.
Fix a small bug in Match
Add equals function to NatRule that ignores the uuid field.
network in the advanced zone
Changing the F5, NetScaler, SRX network elemetns to handle both 'isolated networks'
and 'shared networks' in the advanced zone
Bug ID:CLOUDSTACK-312 enable L4-L7 network services in the shared network in the advanced zone
Detail: If source image is qcow2, and we want a qcow2 image, then doing a
convert strips off compression and any snapshots the user had in that image. If
a backing file exists, we stick with convert so we can pull in both the backing
file and the COW image, otherwise we just cp the qcow2 file. This is also faster
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1354755241 -0700
Move ExternalNetworkDeviceManager to cloud-api, as server depends on cloud-api
The api refactoring of one of the api required this interface
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
- Refactor VPN and VM APIs to admin and user pkgs
- Names space, org.apache.cloudstack
- Fix refactored apis in commands*.in
- Fix comments etc.
- Expand tabs, remove trailing whitespace
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
Changed the creation of the NiciraNvpApi to a factory method that can be
overridden by a mock object.
Setup two tests to test the configure function of the NiciraNvpResource
to test this factory method.
Detail: This patch deletes any patchdisk found when deleting root volume for
system VM.
BUG-ID: CLOUDSTACK-566
Bugfix-for: 4.0.1
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1354222335 -0700
stopped
Detail: This patch fixed an issue with hosts trying to stop system vms that were
already not running and deleting a patch disk for the system vm running on
another host. It got applied to 4.0 but not master.
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1354222160 -0700
Detail: Because of the way most other primary storage types work with cloudstack
(i.e. backing stores) CLVM actually copies the template to a local logical
volume on primary storage, then uses that. This causes all of your primary
storage to be littered with a copy of every template used. Since we're not
using these, dump the template direct to the newly created logical volume.
This is faster as well since the template is sparse; we're not creating a fat
template on primary storage and then copying that to a logical volume when we
deploy from template.
BUG-ID: CLOUDSTACK-508
Bugfix-for: 4.1
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1353221260 -0700
Detail: In com.cloud.hypervisor.kvm.resource.BridgeVifDriver.java, in 2 places
an if block should have evaluated to true if trafficLabel was null, however it
was causing a NullPointerException instead.
BUG-ID : NONE
Bugfix-for: 4.0
Reviewed-by: Marcus Sorensen
Reported-by: Dave Cahill
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1352307750 -0700
The authenticators now have an encode function that cloudstack will use to encode the user supplied password before storing it in the database. This makes it easier to add other authenticators with other hashing algorithms. The requires a two step approach to creating the admin account at first start as the authenticators are only present in the management-server component locator.
The SHA256 salted authenticator make use of this new system and adds a hashing algorithm based on SHA256 with a salt. This type of hash is far less susceptible to rainbow table attacks.
To make use of these new features the users password will be sent over the wire just as he typed it and it will be transformed into a hash on the server and compared with the stored password. This means that the hash will not go over the wire anymore.
The default authenticator in components.xml is still set to md5 for backwards compatibility. For new installations the sha256 could be enabled.
Detail: There was a regression in functionality introduced by
915babd970 where the public
bridge could not also be the private bridge. This had several
additional consequences, this patch should revert the behavior
back while keeping the functionality enhancements introduced by that
commit.
BUG-ID : NONE
Reviewed-by: Dave Cahill
Reported-by: Dave Cahill via cloudstack-dev
Signed-off-by: Marcus Sorensen <shadowsor@gmail.com> 1351574006 -0600
called.
VifDriver.unplug must be called in MigrateCommand which hooks VM
migration in source host, because plug will be called in
PrepareForMigration in destination host. But that operation is missing
in current LibvirtComputingResources.
Signed-off-by: Edison Su <sudison@gmail.com>
On kvm computing host, vifdriver.unplug will always fails (throws
LibvirtException) and network cleanup will not be called. This was
because the code first undefine the computing domain, and then tries to
query the destroyed machine definition to fetch NIC information. IMHO,
kvm plugin code rounds LibvirtException too much.
Signed-off-by: Edison Su <sudison@gmail.com>
The vmware modules should be listed as provided so they are never
packaged. However this also means that you have to put them in the
web-inf/lib directory by hand.
Set the version of the api in the central pom for easy reference.
Add wsdl4j as a runtime requirement. It is actually required by the
vmware implementation but it is easier to list it as a requirements for
the component here as vmware is not in any maven repo
put the dependency on vim back in the dependencies. It is not required
for compile, but is required as runtime by apputils.
vmware-lib-jaxrpc is now provided by axis-jaxrpc-1.4.jar, the former is
the same as latter (bit by bit) and only difference is the file name.
- Fix dependency in vmware-base's pom.xml
- Fix dependency in hypervisor-plugin-vmware's pom.xml
- Fix install-non-oss.sh by reverting commit:
2e6ddc6c36.
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
This commit merges the nicira-l3support branch with master. This
effectively adds nicira nvp l3 support to master. The NiciraNVP Provider
can support the following services with this modification: Connectivity,
SourceNat, StaticNat and PortForwarding
Testing done:
Create, Delete network offerings with Nicira Element
Use Gui to add, modify, remove Nicira Element and Provider
Provision, deprovision SourceNat networks
Provision, deprovision Portforwarding and StaticNat rules
Tested with Nicira NVP release 2.1.0, 2.2.0 and 2.2.1 (2.2.x recommended)
Since only the cephx user like 'admin' was passed we couldn't define two RBD storage pools
using the cephx user admin, even if they were running on different Ceph clusters.
By adding the monitor hostname and poolname to the secret's usage (which we don't even use) it becomes
unique.
Fixes the hard coded path in the vmware plugin.
The systemvm.iso file would copy the script only to /opt/cloud/bin.
Same is the path used for vpc_netusage.sh
Signed-off-by: Rohit Yadav <rohit.yadav@citrix.com>
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>
create
The code is unable to detect an existing pool, because we use a random
UUID each time. New Libvirt doesn't allow multiple pools to be defined
to the same storage. This patch generates a UUID based on the storage
path, so that it can be detected as existing and reused. It also cleans
up no-op code and adjusts the naming of a few things to clean up any
confusion.
Signed-off-by: Edison Su <sudison@gmail.com>
Since /root is r-x permissions, Java fails to mkdir /root/.ssh (even
though the agent is running as root) because it looks for the writable
permission. This patch modifies the 'chmod 700 /root/.ssh' shell command
that we already use into 'mkdir -m 700 /root/.ssh', to be able to create
the directory as root even though write permissions are not set on
/root. This seemed cleaner/safer than adding writable to /root.
Signed-off-by: Edison Su <sudison@gmail.com>
The default value for local.storage.path does not exists by
default in CentOS 6. By default, this results in NullPointerException
silently. Without this log message, administrator can't figure out
the reason at all.
Signed-off-by: Edison Su <sudison@gmail.com>
/root/.ssh is created with perms '600' if it doesn't already exist. This causes
a problem in that it can't write out id_rsa.cloud:
2012-08-27 16:35:40,227 DEBUG [cloud.agent.Agent] (agentRequest-Handler-4:null)
Processing command: com.cloud.agent.api.ModifySshKeysCommand
2012-08-27 16:35:40,228 DEBUG [kvm.resource.LibvirtComputingResource]
(agentRequest-Handler-4:null) Failed to create file: java.io.IOException:
Permission denied
Doing 'chmod u+x /root/.ssh' fixed the above, so it seems that even though the
agent is running as root it cares about being able to chdir into /root.ssh
Signed-off-by: Sheng Yang <sheng.yang@citrix.com>
Implements
SetupGuestNetworkCommand,SetNetworkACLCommand,SetSourceNatCommand,IpAssocVpcCommand,SetPortForwardingRulesVpcCommand.
Passes basic functionality, though I'm sure there may be some honing to
do.
Also fixes a few minor things found along the way:
vpc_guestnw.sh wasn't successfully setting up apache due to default
listen IP of 10.1.1.1
vpc_guestnw.sh was referencing a 'logger_it' function, replaced with
'logger -t cloud'
system vms were running with OS type "Debian GNU/Linux 5.0(32-bit)",
which was not found in the KVMGuestOsMapper
the Xen implementation of SetupGuestNetworkCommand had apparently
copied its catch message from UnPlug Nic, fixed string
Send-by: Marcus Sorensen
RB: https://reviews.apache.org/r/6883
This is part 1 in enabling VPC for KVM. The various commands needing
implementation will be submitted individually unless I'm told to do
otherwise, in case I don't complete all of the commands, such that
someone else can take over or build on my work.
RB: https://reviews.apache.org/r/6859
Send-by: shadowsor@gmail.com
Add BridgeVifDriver and move current vif implementation to it.
- remove dependency on VirtualRoutingResource.
- factor out some of the networking code in LibvirtComputingResource
to BridgeVifDriver.
Add base class for KVM VifDriver.
Add VifDriver Interface for KVM.
RB: https://reviews.apache.org/r/6285
Send-by: Tomoe Sugihara <tomoe@midokura.com>
Add BridgeVifDriver and move current vif implementation to it.
- remove dependency on VirtualRoutingResource.
- factor out some of the networking code in LibvirtComputingResource
to BridgeVifDriver.
Add base class for KVM VifDriver.
Add VifDriver Interface for KVM.
RB: https://reviews.apache.org/r/6285
Send-by: Tomoe Sugihara <tomoe@midokura.com>
We used to generate a UUID when this wasn't set, but since we aren't writing to
agent.properties anymore we have to make sure the UUID is persistent across restarts.
Libvirt can also return a bunch of emulators for eg ARM and S390
We filter those out since we do not support these architectures.
This way we don't try to start a x86_64 instance with a S390 emulator
Since we are using libvirt for handling our storage pools we should rely on that information as well.
Before fetching the capacity we refresh the pool so libvirt has the most up-to-date information.
This is not needed with newly created pools since libvirt does a refresh on creation.
[Dropped Vmware support in this commit, due to lack of VMware support in VPC now]
Conflicts:
plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
* Separate service for NetworkACL - "NetworkACL" service
* allow having just one network supporting LB in the VPC
* perform check against VPC when upgrade network to the new network offering (the same set of checks when you add new network to the VPC)