Commit Graph

11675 Commits

Author SHA1 Message Date
Khosrow Moossavi 2ab5ab1c90 CLOUDSTACK-10175: Prevent VPC list leakage if project=-1 specified on API (#2352)
This PR fixes the issue in which there's a leak when doing API call for listing VPC with domain account and projectId=-1.
Note for reviewers: The code formatting changed so many lines in the commit but the actual change is in line 2467-2471.
2017-12-28 14:47:13 +05:30
Khosrow Moossavi 290a8bc1c2 CLOUDSTACK-10166: Get accountId and domainId from VPC when tagging a NetworkACL as a user (#2347)
This fixes the issue that a non-root user cannot tag a network ACL item
and after the fix a non-root user still cannot tag a globally defined
ACL item and only the ACLs they have access to.
2017-12-27 13:16:04 +05:30
Rohit Yadav d19629a115 CLOUDSTACK-10013: Fixes based on code review and test failures
This includes test related fixes and code review fixes based on
reviews from @rafaelweingartner, @marcaurele, @wido and @DaanHoogland.

This also includes VMware disk-resize limitation bug fix based on comments
from @sateesh-chodapuneedi and @priyankparihar.

This also includes the final changes to systemvmtemplate and fixes to
code based on issues found via test failures.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-12-23 17:51:42 +05:30
Rohit Yadav 4338e0f4f1 CLOUDSTACK-9595: Fix another regression introduced in #1762
In a VMware 55u3 environment it was found that CPVM and SSVM would
get the same public IP. After another investigative review of
fetchNewPublicIp method, it was found that it would always pick up the
first IP from the sql query list/result.

The cause was found to be that with the new changes no table/row locks
are done and first item is used without looping through the list of
available free IPs. The previously implementation method that put
IP address in allocating state did not check that it was a free IP.

In this refactoring/fix, the first free IP is first marked as allocating
and if assign is requested that is changed into Allocated state.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-12-23 09:22:44 +05:30
Rohit Yadav 68b3b4436a CLOUDSTACK-10001: Fix incorrect total host memory in responses
This fixes incorrect total host memory in listHosts and related host
responses, regression introduced in #2120.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-12-23 09:22:44 +05:30
Rohit Yadav 15b11a3b27 CLOUDSTACK-10013: Fix VMware related issues and fix misc tests
This fixes test failures around VMware with the new systemvmtemplate.
In addition:

- Does not skip rVR related test cases for VMware
- Removes rc.local
- Processes unprocessed cmd_line.json
- Fixed NPEs around VMware tests/code
- On VMware, use udevadm to reconfigure nic/mac address than rebooting
- Fix proper acpi shutdown script for faster systemvm shutdowns
- Give at least 256MB of swap for VRs to avoid OOM on VMware
- Fixes smoke tests for environment related failures

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-12-23 09:22:44 +05:30
Rohit Yadav 6fc389a044 CLOUDSTACK-10187: Don't delete vifs for VPCs with source nat
On XenServer, both redundant router's vifs were getting deleted when any
PF rule is removed from any of the acquired public IPs. This fix
ensures that lastIp is set to `false` when processed by hypervisor
resources to avoid removing of VIFs when VPCs have any source nat IP.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-12-23 09:22:44 +05:30
Rohit Yadav facc5945f0 CLOUDSTACK-10193: Fix smoke tests failures with new systemvmtemplate
- Several systemvmtemplate optimizations
- Uses new macchinina template for running smoke tests
- Switch to latest Debian 9.3.0 release for systemvmtemplate
- Introduce a new `get_test_template` that uses tiny test template
  such as macchinina as defined test_data.py
- rVR related fixes and improvements

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-12-23 09:22:44 +05:30
Rohit Yadav 0102e8593d CLOUDSTACK-10129: UX improvements and event timeline
- Fixes timezone issue where dates show up as nvalid in UI
- Introduces new event timeline listing/filtering of events
- Several UI improvements to add columns in list views
- Bulk operations support in instance list view to shutdown and destroy
  multiple-selected VMs (limitation: after operation, redundant entries
  may show up in the list view, refreshing VM list view fixes that)
- Align table thead/tbody to avoid splitting of tables

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-12-23 09:22:44 +05:30
dahn 8e6d8a1cf3 CLOUDSTACK-9542: make listNics and ListUserVms return uniform NIC data (#2208)
Makes listNics and ListUserVms return uniform NICs.
2017-12-21 17:51:45 +05:30
Rohit Yadav 593ed59bcd
CLOUDSTACK-10173: Pick network rate from guest offering for VRs (#2351)
Per the following doc, VR's guest/public nic should pick up network
rate from its network offering:
http://docs.cloudstack.apache.org/projects/cloudstack-administration/en/latest/service_offerings.html#network-throttling

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-12-21 17:50:40 +05:30
Sigert Goeminne d49765619d CLOUDSTACK-10024: Network migration support
Co-Authored-By: Frank Maximus frank.maximus@nuagenetworks.net
Co-Authored-By: Raf Smeets raf.smeets@nuagenetworks.net

New API’s:

* migrateNetwork
* migrateVpc
2017-12-21 11:25:17 +01:00
Rohit Yadav 0e3ddb2975
CLOUDSTACK-9595: Fix regression introduced in #1762 (#2370)
The `assignDedicateIpAddress` previously had marked the newly fetched
IP as allocated but now it does not do that. This fails for VPCs
where SNATs IP are retained as allocating and not allocated after
creation.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-12-21 00:31:51 +05:30
Bitworks Software, Ltd 80a6961b5d CLOUDSTACK-10168: VR duplicate entries in /etc/hosts when reusing VM name (#2366)
Bug is fixed. Fixed typo 'adress' to 'address' everywhere which leads to correct generation for agent communication json dhcp command.
2017-12-20 23:19:12 +05:30
harikrishna-patnala cd637fd05f CLOUDSTACK-9875: Unable to re-apply Explicit dedication to VM (#2042)
Problem:
When a VM is deployed with in an Affinity group which has the cluster dedicated to a subdomain (zone is dedicated to parent domain) it is getting successful. We can also stop the vm and remove the affinity group, but if you want to add back the affinity it is failing.

Root cause:
During VM deployment there is clear check on affinity type (account/domain). Here since the acl_type is "domain" it does not expect to be same owner for entities.
But during update of affinity to VM there is no specific check for acl_type "domain".

Solution:
Fix is to make the access check similar to VM deployment where it does not expect to be same owner for entities if the acl_type is "domain".
2017-12-20 17:12:46 +05:30
Nicolas Vazquez 13c325aad4 CLOUDSTACK-10102: New network type L2 (#2281)
This feature allows CloudStack administrators to create layer 2 networks on CloudStack. As these networks are purely layer 2, they don't require IP addresses or Virtual Router, only VLAN is necessary (provided by administrator or assigned by CloudStack). Also, network services should be handled externally, e.g. DNS, DHCP, as they are not provided by L2 networks.
As a consequence, a new Guest Network type is created within CloudStack: L2

Description:
Network offerings and networks support new guest type: L2.
L2 Network offering creation allows administrator to select Specify VLAN or let CloudStack assign it dynamically.
L2 Network creation allows administrator to specify VLAN tag (if network offerings allows it) or simply create network.
VM deployments on L2 networks:
VMs should not IP addresses or any network service
No Virtual Router deployed on network
If Specify VLAN = true for network offering, network gets implemented using a dynamically assigned VLAN
UI changes

A new button is added on Networks tab, available for admins, to allow L2 networks creation
2017-12-20 17:07:39 +05:30
Nitin Kumar Maharana 8acb0908c4 CLOUDSTACK-9880: Expansion of Management IP Range. (#2048)
At present, The management IP range can only be expanded under the same subnet. According to existing range, either the last IP can be forward extended or the first IP can be backward extended. But we cannot add an entirely different range from the same subnet. So the expansion of range is subnet bound, which is fixed. But when the range gets exhausted and a user wants to deploy more system VMs, then the operation would fail. The purpose of this feature is to expand the range of management network IPs within the existing subnet. It can also delete and list the IP ranges.

Please refer the FS here: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Expansion+of+Management+IP+Range
2017-12-20 08:36:53 +00:00
niteshsarda 6e3495f535 CLOUDSTACK-10190: Duplicate public VLAN for two different admin accounts (#2361)
ISSUE :
Duplicate public VLAN for two different admin accounts.

STEPS TO REPRODUCE :

Start multiple threads for executing createVlanIpRange API.
Make sure multiple threads run in parallel.
Verify vlan table in DB, duplicate entry for same VLAN and IP address range will be encountered, just id and uuid will be different, rest all fields will have similar value.
Following entry will be observed in vlan table :
`mysql> select * from vlan where vlan_id like 'vlan://77' and removed is null;
+----+--------------------------------------+-----------+--------------+-----------------+---------------------------+----------------+----------------+------------+---------------------+-------------+----------+-----------+---------+---------------------+
| id | uuid | vlan_id | vlan_gateway | vlan_netmask | description | vlan_type | data_center_id | network_id | physical_network_id | ip6_gateway | ip6_cidr | ip6_range | removed | created |
+----+--------------------------------------+-----------+--------------+-----------------+---------------------------+----------------+----------------+------------+---------------------+-------------+----------+-----------+---------+---------------------+
| 15 | 6a205b78-d162-43e3-8da9-86a3ff60f40e | vlan://77 | 10.112.63.65 | 255.255.255.192 | 10.112.63.66-10.112.63.70 | VirtualNetwork | 1 | 200 | 200 | NULL | NULL | NULL | NULL | 2017-12-13 12:55:51 |
| 17 | ff8b5175-b247-45a5-b8d3-feb6a1ca64d0 | vlan://77 | 10.112.63.65 | 255.255.255.192 | 10.112.63.66-10.112.63.70 | VirtualNetwork | 1 | 200 | 200 | NULL | NULL | NULL | NULL | 2017-12-13 12:55:51 |
+----+--------------------------------------+-----------+--------------+-----------------+---------------------------+----------------+----------------+------------+---------------------+-------------+----------+-----------+---------+---------------------+
2017-12-19 14:39:34 +05:30
subhash yedugundla 1edb3e8a45 CLOUDSTACK-9595: Avoiding the deadlocks in the code (#1762)
MySQLTransactionRollbackException is seen frequently in logs
Root Cause
Attempts to lock rows in the core data access layer of database fails if there is a possibility of deadlock. However Operations are not getting retried in case of deadlock. So introducing retries here
Solution
Operations would be retried after some wait time in case of dead lock exception.
2017-12-19 00:06:21 +05:30
Rafael Weingärtner 3c6df7c970 CLOUDSTACK-10196: Remove ejb-api 3.0 dependency (#2348)
Fixed QuotaAlertManagerImplTest, which was injecting mock objects manually.
2017-12-18 23:59:06 +05:30
Syed Mushtaq Ahmed 47419df368 CLOUDSTACK-10039: Adding used IOPS to storage pool response (#2294)
This change adds allocatediops to the ListStoragePool API. This applies to managed storage where we have a guaranteed minimum IOPS set. This is useful for monitoring if we have reached the IOPS limit on a storage cluster.
2017-12-15 18:12:13 +05:30
Yoan Blanc 6ab2ba9230
doc: replace virutal by virtual (typo)
Signed-off-by: Yoan Blanc <yoan.blanc@exoscale.ch>
2017-12-13 09:59:15 +01:00
Milamber 895aee37f7 CLOUDSTACK-9736: Incoherent validation and error message when you change the vm.password.length configuration parameter (#2358)
Default value introduce in schema-430to440.sql are 6 for the length

CLOUDSTACK-10111 have already the error message.
2017-12-12 17:06:20 +05:30
René Moser e5f0a68a4d CLOUDSTACK-10077: allow to have different VPN customer gateway configs for same gateway IP (#2267)
Related 86bbe211f2 and CLOUDSTACK-494. Currently we can not have serveral VPCs in one account with different VPN customer gateways configuration per same gateway IP.
2017-12-11 21:58:21 +05:30
Nitin Kumar Maharana 8c6fb0e312 CLOUDSTACK-10157: Wrong notification while migration (#2337)
Root Cause:
Earlier, it was failing with ArrayIndexOutOfBoundsException, when the list is empty and accessing the first element.
The error was only observed in Log, but was not showing in UI as it was not throwing any exception.
Hence the API call was in turn successful.

Solution:
Added the empty check before sending device details.
Which says either the required GPU device is not available or out of capacity.
2017-12-11 21:50:37 +05:30
subhash yedugundla ed6e3be756 CLOUDSTACK-7793: Create Snaphot with quiesce option set to true fails with InvalidParameterValueException (#2312)
reate Snaphot with quiesce option set to true fails with InvalidParameterValueException

--quiescevm option is only supported with netapp plugin with vmware. When netapp is not there, they would be struck in Allocated state and Deletion is not supported in allocated state. To fix this issue, deletion is supported in allocated state as well.
2017-12-01 02:43:39 +05:30
Gabriel Beims Bräscher bd5604428b
Merge pull request #2124 from GabrielBrascher/CLOUDSTACK-9432
CLOUDSTACK-9432: cluster/host dedicated to a domain is owned by the root domain
2017-11-28 10:31:23 -02:00
Sigert Goeminne 77864992fe CLOUDSTACK-9776: extra DHCP options support for Nuage VSP
Co-Authored-By: Frank Maximus <frank.maximus@nuagenetworks.net>
Co-Authored-By: Prashanth Manthena <prashanth.manthena@nuagenetworks.net>
Co-Authored-By: Raf Smeets <raf.smeets@nuagenetworks.net>

Bug: https://issues.apache.org/jira/browse/CLOUDSTACK-9776

Design-Doc: https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+extra+DHCP+option+support
2017-11-21 11:44:39 +01:00
Marc-Aurèle Brothier 421f1072d5 CLOUDSTACK-10123: Entity should use GMT TZ for timestamp values (#2303)
Depending on the timezone you're running CS (before GMT timezones) you could experience that some jobs are marked as failed since the parent job got a null result despite its child job having successfully done the job. The child job got deleted by the CleanupTask ahead of time, due to a missing datetime conversion to GMT timezone.

Jobs are failing with this message: Job failed with un-handled exception

The fix intends to correct any datetime used in the code that should be using the GMT timezone instead of the local one since all DB datetime should be stored at GMT.
2017-11-18 09:14:57 +05:30
Rene Moser 55c059c098 CLOUDSTACK-10144: fix possible NPE in listVlanIpRanges 2017-11-17 10:04:43 +05:30
Frank Maximus 14ab69e19a
Merge pull request #2005 from nuagenetworks/feature/nw_offering_for_vpc
CLOUDSTACK-9450: Network Offering for VPC based on DB flag
2017-11-16 17:33:07 +01:00
mrunalinikankariya 137d6a8940 CLOUDSTACK-10090: createPortForwardingRule api call accepts 'halt' as Protocol which Stops VR (#2273)
…Protocol which Stops VR

When we run the createPortForwardingRule API with input as Protocol as halt the PF rule is added however Halt is executed on VR. Hence the VR is stopped.

Following entry added to Firewall_Rules table and VirtualRouter went to halt(stopped)
mysql> select * from firewall_rules where id = 7

*************************** 1. row ***************************
id: 7
uuid: XXXXXXXXXXXXXXXXXXXXXXXXXXX
ip_address_id: 13
start_port: 222
end_port: 222
state: Revoke
protocol: halt
purpose: PortForwarding
account_id: 2
domain_id: 1
network_id: 208
xid: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
created: 2017-09-04 04:48:16
icmp_code: NULL
icmp_type: NULL
related: NULL
type: User
vpc_id: NULL
traffic_type
2017-11-08 10:25:37 +05:30
mrunalinikankariya 32807cb887 CLOUDSTACK-9958: Include tags of resources in listUsageRecords API (#2242)
Tags field to be included in the listusagerecords response such that it can be used in billing report. E.g.
"tags":[
{"key":"city","value":"Toronto","resourcetype":"UserVm","resourceid":"a0cca906-f985-4b56-ad11-f33e59c4c733","account":"admin","domainid":"dec39eb8-4f81-11e7-8315-067fa0000031","domain":"ROOT"}
,
{"key":"region","value":"canada","resourcetype":"UserVm","resourceid":"a0cca906-f985-4b56-ad11-f33e59c4c733","account":"admin","domainid":"dec39eb8-4f81-11e7-8315-067fa0000031","domain":"ROOT"}
2017-11-07 09:52:00 +05:30
Abhinandan Prateek 4627fb2cd7 CLOUDSTACK-9972: Enhance listVolume API to include physical size and … (#2158)
* CLOUDSTACK-9972: Enhance listVolume API to include physical size and utilization.
Also fixed pool, cluster and pod info

* CLOUDSTACK-9972: Fix volume_view and duplicate API constant

* CLOUDSTACK-9972: Backport Do not allow vms to be deployed on hosts that are in disabled pod

* CLOUDSTACK-9972: Fix localization missing keys

* CLOUDSTACK-9972: Fix sql path
2017-11-05 21:44:43 +05:30
Rohit Yadav eda3b35bfa CLOUDSTACK-10012: Migrate to Embedded Jetty
- Migrate to embedded Jetty server.
- Improve ServerDaemon implementation.
- Introduce a new server.properties file for easier configuration.
- Have a single /etc/default/cloudstack-management to configure env.
- Reduce shaded jar file, removing unnecessary dependencies.
- Upgrade to Spring 5.x, upgrade several jar dependencies.
- Does not shade and include mysql-connector, used from classpath instead.
- Upgrade and use bountcastle as a separate un-shaded jar dependency.
- Remove tomcat related configuration and files.
- Have both embedded UI assets in uber jar and separate webapp directory.
- Refactor systemd and init scripts, cleanup packaging.
- Made cloudstack-setup-databases faster, using `urandom`.
- Remove unmaintained distro packagings.
- Moves creation and usage of server keystore in CA manager, this
  deprecates the need to create/store cloud.jks in conf folder and
  the db.cloud.keyStorePassphrase in db.properties file. This also
  remove the need of the --keystore-passphrase in the
  cloudstack-setup-encryption script.
- GZip contents dynamically in embedded Jetty

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-11-03 23:57:25 +05:30
Rafael Weingärtner c6b808fd33 CLOUDSTACK-10111: Fix validation for parameter "vm.password.length" (#2291)
The description of the parameter was saying that the parameter has to be bigger than 6, however, in the code we were only accepting values bigger than 10. This PR changes the validation method to accept any number >= 6. We also change other inconsistencies in error messages presented to users. in near by validations.
2017-11-03 20:35:33 +05:30
Frank Maximus d467a6b8ec CLOUDSTACK-9450: Network Offering for VPC based on DB flag
Co-Authored-By: Raf Smeets <raf.smeets@nuagenetworks.net>
2017-11-03 12:39:23 +01:00
Nitesh Sarda 1d36b7288a CLOUDSTACK-10120 : Allow migration of VM's from Cloudstack UI between the hosts with different version 2017-11-03 08:37:20 +01:00
Frank Maximus d077b3efc6
Merge pull request #2004 from nuagenetworks/feature/vr_without_public_ip
CLOUDSTACK-9832: Do not assign public IP NIC to the VPC VR when the VPC offering does not contain VpcVirtualRouter as a SourceNat provider
2017-11-02 11:56:05 +01:00
Sigert Goeminne 587b66db71 CLOUDSTACK-10057: listNetworkOfferings now returns the correct number of offerings (#2250)
Fix paginated response to send correct total resource counts.
2017-10-31 15:05:29 +05:30
Rohit Yadav 41fdb88970 CLOUDSTACK-10047: DVSwitch fixes and improvements (#2293)
Allow security policies to apply on port groups:
- Accepts security policies while creating network offering
- Deployed network will have security policies from the network offering
  applied on the port group (in vmware environment)
- Global settings as fallback when security policies are not defined for a network
  offering
- Default promiscuous mode security policy set to REJECT as it's the default
  for standard/default vswitch

Portgroup vlan-trunking options for dvswitch: This allows admins to define
a network with comma separated vlan id and vlan
range such as vlan://200-400,21,30-50 and use the provided vlan range to
configure vlan-trunking for a portgroup in dvswitch based environment.

VLAN overlap checks are performed for:
- isolated network against existing shared and isolated networks
- dedicated vlan ranges for the physical/public network for the zone
- shared network against existing isolated network

Allow shared networks to bypass vlan overlap checks: This allows admins
to create shared networks with a `bypassvlanoverlapcheck` API flag
which when set to 'true' will create a shared network without
performing vlan overlap checks against isolated network and against
the vlans allocated to the datacenter's physical network (vlan ranges).

Notes:
- No vlan-range overlap checks are performed when creating shared networks
- Multiple vlan id/ranges should include the vlan:// scheme prefix

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-10-25 15:14:42 +05:30
Mike Tutkowski 4c89b5b97a Merge branch 'pr-2081' 2017-10-18 14:25:45 -06:00
dahn 3985c68bc5 CLOUDSTACK-10007 no isolationmethod check for directpodbase basic zone nets (#2296) 2017-10-15 09:06:04 +02:00
dahn a379230e8e CLOUDSTACK-9957 Annotations (#2181)
* annotations on hosts

* Adding marvin tests

* rebase error

* review comments

* context for owner

* review

* illegal entity test

* entityType check on input

* Annotation events

* rebase issues
2017-10-13 11:55:26 +02:00
dahn ed7811a9a2 CLOUDSTACK-10046 checksum validation for any java supported Digests-type (#2246)
* CLOUDSTACK-10046 digest helper for calculating checksums

* CLOUDSTACK-10046 cleanup unused checksum code

* CLOUDSTACK-10046 padding method proof of concept

* CLOUDSTACK-10046 only compare checksums if old value is valid

* Adding positive and negative tests for md5, sha-1 and sha-256, for xen, vmware and kvm hypervisors.
KVM Results:

 Negative Test Passed - Exception Occurred Under template download ['Traceback (most recent call last):\n', '  File "/Users/bstoyanov/Documents/sb2/cloudstack/test/integration/smoke/test_templates.py", line 189, in test_02_1_create_template_with_checksum_sha1_negative\n    self.download(self.apiclient, template.id)\n', '  File "/Users/bstoyanov/Documents/sb2/cloudstack/test/integration/smoke/test_templates.py", line 260, in download\n    template.status)\n', 'Exception: Failed to download template: status - Failed post download script: checksum "{sha-1}bf580a13f791d86acf3449a7b457a91a14389264" didn\'t match the given value, "{sha-1}someInvalidValue"\n']
=== TestName: test_02_1_create_template_with_checksum_sha1_negative | Status : SUCCESS ===
=== TestName: test_02_create_template_with_checksum_sha1 | Status : SUCCESS ===.
 Negative Test Passed - Exception Occurred Under template download ['Traceback (most recent call last):\n', '  File "/Users/bstoyanov/Documents/sb2/cloudstack/test/integration/smoke/test_templates.py", line 203, in test_03_1_create_template_with_checksum_sha256_negative\n    self.download(self.apiclient, template.id)\n', '  File "/Users/bstoyanov/Documents/sb2/cloudstack/test/integration/smoke/test_templates.py", line 260, in download\n    template.status)\n', 'Exception: Failed to download template: status - Failed post download script: checksum "{SHA-256}efc03633f2b8f5db08acbcc5dc1be9028572dfd8f1c6c8ea663f0ef94b458c5" didn\'t match the given value, "{SHA-256}someInvalidValue"\n']
=== TestName: test_03_1_create_template_with_checksum_sha256_negative | Status : SUCCESS ===
=== TestName: test_03_create_template_with_checksum_sha256 | Status : SUCCESS ===
 Negative Test Passed - Exception Occurred Under template download ['Traceback (most recent call last):\n', '  File "/Users/bstoyanov/Documents/sb2/cloudstack/test/integration/smoke/test_templates.py", line 217, in test_04_1_create_template_with_checksum_md5_negative\n    self.download(self.apiclient, template.id)\n', '  File "/Users/bstoyanov/Documents/sb2/cloudstack/test/integration/smoke/test_templates.py", line 260, in download\n    template.status)\n', 'Exception: Failed to download template: status - Failed post download script: checksum "{md5}ada77653dcf1e59495a9e1ac670ad95f" didn\'t match the given value, "{md5}someInvalidValue"\n']
=== TestName: test_04_1_create_template_with_checksum_md5_negative | Status : SUCCESS ===
=== TestName: test_04_create_template_with_checksum_md5 | Status : SUCCESS ===

* CLOUDSTACK-10046 digest helper for calculating checksums

* CLOUDSTACK-10046 cleanup unused checksum code

* CLOUDSTACK-10046 padding method proof of concept

* CLOUDSTACK-10046 only compare checksums if old value is valid

* Adding positive and negative tests for md5, sha-1 and sha-256, for xen, vmware and kvm hypervisors.
KVM Results:

 Negative Test Passed - Exception Occurred Under template download ['Traceback (most recent call last):\n', '  File "/Users/bstoyanov/Documents/sb2/cloudstack/test/integration/smoke/test_templates.py", line 189, in test_02_1_create_template_with_checksum_sha1_negative\n    self.download(self.apiclient, template.id)\n', '  File "/Users/bstoyanov/Documents/sb2/cloudstack/test/integration/smoke/test_templates.py", line 260, in download\n    template.status)\n', 'Exception: Failed to download template: status - Failed post download script: checksum "{sha-1}bf580a13f791d86acf3449a7b457a91a14389264" didn\'t match the given value, "{sha-1}someInvalidValue"\n']
=== TestName: test_02_1_create_template_with_checksum_sha1_negative | Status : SUCCESS ===
=== TestName: test_02_create_template_with_checksum_sha1 | Status : SUCCESS ===.
 Negative Test Passed - Exception Occurred Under template download ['Traceback (most recent call last):\n', '  File "/Users/bstoyanov/Documents/sb2/cloudstack/test/integration/smoke/test_templates.py", line 203, in test_03_1_create_template_with_checksum_sha256_negative\n    self.download(self.apiclient, template.id)\n', '  File "/Users/bstoyanov/Documents/sb2/cloudstack/test/integration/smoke/test_templates.py", line 260, in download\n    template.status)\n', 'Exception: Failed to download template: status - Failed post download script: checksum "{SHA-256}efc03633f2b8f5db08acbcc5dc1be9028572dfd8f1c6c8ea663f0ef94b458c5" didn\'t match the given value, "{SHA-256}someInvalidValue"\n']
=== TestName: test_03_1_create_template_with_checksum_sha256_negative | Status : SUCCESS ===
=== TestName: test_03_create_template_with_checksum_sha256 | Status : SUCCESS ===
 Negative Test Passed - Exception Occurred Under template download ['Traceback (most recent call last):\n', '  File "/Users/bstoyanov/Documents/sb2/cloudstack/test/integration/smoke/test_templates.py", line 217, in test_04_1_create_template_with_checksum_md5_negative\n    self.download(self.apiclient, template.id)\n', '  File "/Users/bstoyanov/Documents/sb2/cloudstack/test/integration/smoke/test_templates.py", line 260, in download\n    template.status)\n', 'Exception: Failed to download template: status - Failed post download script: checksum "{md5}ada77653dcf1e59495a9e1ac670ad95f" didn\'t match the given value, "{md5}someInvalidValue"\n']
=== TestName: test_04_1_create_template_with_checksum_md5_negative | Status : SUCCESS ===
=== TestName: test_04_create_template_with_checksum_md5 | Status : SUCCESS ===

* Adding additional test with no checksum added when registering template
Result:
test_05_create_template_with_no_checksum (integration.smoke.test_templates.TestCreateTemplateWithChecksum) ... === TestName: test_05_create_template_with_no_checksum | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 1 test in 42.320s

OK

* Fixing negative tests exception handling

* Adding tests for ISO checksum validation and fixing a zero prefix failure test in templates

* CLOUDSTACK-10046 padding

* CLOUDSTACK-10046 usability additions

* yet another IDE artifact hindering checkstyle
2017-10-11 11:49:06 +02:00
Frank Maximus 1d382e0cb4 CLOUDSTACK-9832: Remove public interface from VPC Virtual Router
Co-Authored-By: Prashanth Manthena <prashanth.manthena@nuagenetworks.net>
Co-Authored-By: Sigert Goeminne <sigert.goeminne@nuagenetworks.net>

Bug: https://issues.apache.org/jira/browse/CLOUDSTACK-9832

Detail:
When the VPC offering does not contain VpcVirtualRouter as a SourceNat provider,
then we will not add the interface in the public network to the VpcVR.

CLOUDSTACK-9832: Move isSrcNat check to VpcManager
2017-10-11 11:35:53 +02:00
dahn 7ca5b535a4 CLOUDSTACK-9899 Url validation disabling (#2074)
* CLOUDSTACK-9899 adding a global setting for not checking URLs from the MS

* CLOUDSTACK-9899 refactor HttpTemplateDownloader contructor cleanup

* CLOUDSTACK-9899 refactor HttpTemplateDownloader.download() cleanup

* CLOUDSTACK-9899 add the new config key to configurable

* CLOUDSTACK-9899 refactor download method

* CLOUDSTACK-9899 less verbose setting comment

* CLOUDSTACK-9899 debug message to indicate checking happened

* CLOUDSTACK-9899 typi flase -> false
2017-10-10 19:56:00 +02:00
Rafael Weingärtner b044f1bc96 CLOUDSTACK-9859: Retirement of midonet plugin (final removal) (#2285)
Following the component retirement process defined in [1], a vote thread was started in [2]. The community decided to retire this Midonet plugin. This task represents the final step of the retirement, which is the removal of the plugin from CloudStacks code base.

[1] https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=68720798
[2] http://markmail.org/message/qigrtfirwnmct4hr
2017-10-10 10:08:23 +05:30
Harika Punna 6bb0ca2f85 This feature separates the snapshot creation on primary and its backing up on secondary.
As part of this, a new parameter, which is optional, is added to CreateSnapshotCmd, which seperates the creation and backup.

More details in the FS-
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Separate+creation+and+backup+operations+for+a+volume+snapshot
2017-10-04 14:39:03 +05:30
dahn a06530ddd8 CLOUDSTACK-10007 Isolation method claim (#2249)
CLOUDSTACK-10007 isolationMethod claiming
2017-09-28 11:07:48 +02:00
SudharmaJain c670691bfb CLOUDSTACK-8865: Adding SR doesn't create Storage_pool_host_ref entry for disabled host (#876)
This causes VM deployment failure on the host that was disabled while adding the storage repository.
In the attachCluster function of the PrimaryDataStoreLifeCycle, we were only selecting hosts that are up and are in enabled state. Here if we select all up hosts, it will populate the DB properly and will fix this issue. Also added a unit test for attachCluster function.
2017-09-21 10:49:11 +05:30
sureshanaparti f2584bb9e7 CLOUDSTACK-9182: Some running VMs turned off on manual migration when auto migration failed while host preparing for maintenance. (#1252)
Fix: Block VMOperations if Host in PrepareForMaintenance mode. VM operations (Stop, Reboot, Destroy, Migrate to host) are not allowed when Host in PrepareForMaintenance mode.
2017-09-20 16:23:24 +05:30
Nathan Johnson 2bad9a6c11 CLOUDSTACK-9949: add ability to specify mac address (#2143)
Added ability to specify mac in deployVirtualMachine and
addNicToVirtualMachine api endpoints.

Validates mac address to be in the form of:
aa:bb:cc:dd:ee:ff , aa-bb-cc-dd-ee-ff , or aa.bb.cc.dd.ee.ff.

Ensures that mac address is a Unicast mac.

Ensures that the mac address is not already allocated for the
specified network.
2017-09-16 12:16:42 +05:30
Nathan Johnson 2ccea134ae CLOUDSTACK-10056: Fix vm details usage (#2248)
Fix bug where disk controller specified via vm details throws
a NumberFormatException, since "scsi" is not a number.
2017-09-16 12:01:03 +05:30
SudharmaJain c4ca420f66 CLOUDSTACK-8969: VPN customer gateway can't be registered with hostname (#955)
When we have VPN customer gateway which is resolved by a hostname , we should be able to register the VPN customer gateway with its hostname instead of the IP address, this would be useful in case where the remote device IP is dynamically assigned , where customers use DDNS to resolve it.
2017-09-13 10:29:08 +05:30
Nitin Kumar Maharana a52ce3628c CLOUDSTACK-10058: Error while opening the Settings tab in Secondary storage (#2254)
Root Cause:
Some global parameters contains NULL value, where the code doesn't handle NULL check.
So it fails with an exception. Hence nothing appears on the field(ERROR).

Solution:
Added required NULL check.
2017-09-01 13:13:39 +02:00
SudharmaJain 4dd8b5d061 CLOUDSTACK-9563: ExtractTemplate returns malformed URL after migrating NFS to s3 (#1733)
While downloading the template for the first time install path was not available. During first download after migration template is synced to s3 storage and template install path is updated to DB. But while generating the extract URL we are still taking install path from TemplateDataStoreVO object cached in the process.
2017-09-01 11:23:41 +02:00
mrunalinikankariya d1e61eb3ff CLOUDSTACK-9812: Update 'updatePortForwardingRule' api to include additional parameter end port (#1985)
Configure a PF rule Private port : Start port ; 20 ENd POrt 25 || Public Port : Start port 20 ; ENd Port : 25.
Trigger UpdatePortForwardingRule api
ApI fails with following error : " Unable to update the private port of port forwarding rule as the rule has port range "

Solution-
Port range gets modified
2017-08-31 09:44:51 +02:00
Boris Stoyanov f917ab660e CLOUDSTACK-9782: Improve host HA tests
- All tests should pass on KVM, Simulator
- Add test cases covering FSM state transitions and actions

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-30 18:06:48 +02:00
Rohit Yadav d2c3408da7 CLOUDSTACK-9782: Improve scheduling of jobs
- Removed three bg thread tasks, uses FSM event-trigger based scheduling
- On successful recovery, kicks VM HA
- Improves overall HA scheduling and task submission, lower DB access

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-30 18:06:48 +02:00
Rohit Yadav c0b33db5ce CLOUDSTACK-9782: Nested-oobm CloudStack plugin
Nested out-of-band management plugin to work with hosts that are VMs in
a CloudStack env.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-30 18:06:48 +02:00
Rohit Yadav 212e5ccfa7 CLOUDSTACK-9782: Host HA and KVM HA provider
Host-HA offers investigation, fencing and recovery mechanisms for host that for
any reason are malfunctioning. It uses Activity and Health checks to determine
current host state based on which it may degrade a host or try to recover it. On
failing to recover it, it may try to fence the host.

The core feature is implemented in a hypervisor agnostic way, with two separate
implementations of the driver/provider for Simulator and KVM hypervisors. The
framework also allows for implementation of other hypervisor specific provider
implementation in future.

The Host-HA provider implementation for KVM hypervisor uses the out-of-band
management sub-system to issue IPMI calls to reset (recover) or poweroff (fence)
a host.

The Host-HA provider implementation for Simulator provides a means of testing
and validating the core framework implementation.

Signed-off-by: Abhinandan Prateek <abhinandan.prateek@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-30 18:06:48 +02:00
Jayapal 6e832b55dc Merge pull request #2109 from Accelerite/CLOUDSTACK-9922
CLOUDSTACK-9922 Unable to use 8081 port for Load balancing
2017-08-30 15:15:19 +05:30
Rohit Yadav 7ce54bf7a8 CLOUDSTACK-9993: Securing Agents Communications (#2239)
This introduces a new certificate authority framework that allows
pluggable CA provider implementations to handle certificate operations
around issuance, revocation and propagation. The framework injects
itself to `NioServer` to handle agent connections securely. The
framework adds assumptions in `NioClient` that a keystore if available
with known name `cloud.jks` will be used for SSL negotiations and
handshake.

This includes a default 'root' CA provider plugin which creates its own
self-signed root certificate authority on first run and uses it for
issuance and provisioning of certificate to CloudStack agents such as
the KVM, CPVM and SSVM agents and also for the management server for
peer clustering.

Additional changes and notes:
- Comma separate list of management server IPs can be set to the 'host'
  global setting. Newly provisioned agents (KVM/CPVM/SSVM etc) will get
  radomized comma separated list to which they will attempt connection
  or reconnection in provided order. This removes need of a TCP LB on
  port 8250 (default) of the management server(s).
- All fresh deployment will enforce two-way SSL authentication where
  connecting agents will be required to present certificates issued
  by the 'root' CA plugin.
- Existing environment on upgrade will continue to use one-way SSL
  authentication and connecting agents will not be required to present
  certificates.
- A script `keystore-setup` is responsible for initial keystore setup
  and CSR generation on the agent/hosts.
- A script `keystore-cert-import` is responsible for import provided
  certificate payload to the java keystore file.
- Agent security (keystore, certificates etc) are setup initially using
  SSH, and later provisioning is handled via an existing agent connection
  using command-answers. The supported clients and agents are limited to
  CPVM, SSVM, and KVM agents, and clustered management server (peering).
- Certificate revocation does not revoke an existing agent-mgmt server
  connection, however rejects a revoked certificate used during SSL
  handshake.
- Older `cloudstackmanagement.keystore` is deprecated and will no longer
  be used by mgmt server(s) for SSL negotiations and handshake. New
  keystores will be named `cloud.jks`, any additional SSL certificates
  should not be imported in it for use with tomcat etc. The `cloud.jks`
  keystore is stricly used for agent-server communications.
- Management server keystore are validated and renewed on start up only,
  the validity of them are same as the CA certificates.

New APIs:
- listCaProviders: lists all available CA provider plugins
- listCaCertificate: lists the CA certificate(s)
- issueCertificate: issues X509 client certificate with/without a CSR
- provisionCertificate: provisions certificate to a host
- revokeCertificate: revokes a client certificate using its serial

Global settings for the CA framework:
- ca.framework.provider.plugin: The configured CA provider plugin
- ca.framework.cert.keysize: The key size for certificate generation
- ca.framework.cert.signature.algorithm: The certificate signature algorithm
- ca.framework.cert.validity.period: Certificate validity in days
- ca.framework.cert.automatic.renewal: Certificate auto-renewal setting
- ca.framework.background.task.delay: CA background task delay/interval
- ca.framework.cert.expiry.alert.period: Days to check and alert expiring certificates

Global settings for the default 'root' CA provider:
- ca.plugin.root.private.key: (hidden/encrypted) CA private key
- ca.plugin.root.public.key: (hidden/encrypted) CA public key
- ca.plugin.root.ca.certificate: (hidden/encrypted) CA certificate
- ca.plugin.root.issuer.dn: The CA issue distinguished name
- ca.plugin.root.auth.strictness: Are clients required to present certificates
- ca.plugin.root.allow.expired.cert: Are clients with expired certificates allowed

UI changes:
- Button to download/save the CA certificates.

Misc changes:
- Upgrades bountycastle version and uses newer classes
- Refactors SAMLUtil to use new CertUtils

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-28 12:15:11 +02:00
Daan Hoogland 426894411e CE-110 move config to public fields 2017-08-25 08:57:51 +02:00
vedulasantosh 4b38d36284 CLOUDSTACK-9915 ListSnapshots API does not provide virtual size information of the snapshots (#2101) 2017-08-24 13:21:13 +02:00
Nitin Kumar Maharana 1f29313071 CLOUDSTACK-10002: Restart network with cleanup spawns Redundant Routers(In Default Network Offering) (#2186)
The setter name is different from what it should be used by update call.
2017-08-22 22:48:32 +02:00
SudharmaJain 7f987ace35 CLOUDSTACK-9165: unable to use reserved IP range in a network for external VMs (#1246) 2017-08-22 21:11:45 +02:00
Rohit Yadav cc749cca3e Merge branch '4.10' 2017-08-22 10:23:29 +02:00
Rohit Yadav 0f27bc9a7b Merge branch '4.9' into 4.10 2017-08-22 10:23:00 +02:00
Rohit Yadav 310195cbe2 CLOUDSTACK-10052: Simplify dynamic roles enable checking (#2241)
This fixes issue of enabling dynamic roles based on the global setting
only. This also fixes application of the default role/permissions mapping
on upgrade from 4.8 and previous versions to 4.9+.

Previously, it would make additional check to ensure commands.properties
is not in the classpath however this creates confusion for admins who
may skip/skim through the rn/docs and assume that mere changing the
global settings was not enough.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-22 10:22:27 +02:00
pavanaravapalli 250c47eb62 CLOUDSTACK-9964: Snapahots are getting deleted if VM is assigned to another user (#2159) 2017-08-19 21:11:45 +02:00
Joakim Sernbrant ea52a1312f CLOUDSTACK-9763: set ssh public key when creating vm data (#1919) 2017-08-19 20:59:11 +02:00
Marc-Aurèle Brothier 4e4d7c7e36 CLOUDSTACK-9773: Don't break API output with non-printable characters (#1936) 2017-08-19 20:55:20 +02:00
Rohit Yadav a502c00ca7 Merge branch '4.9' into 4.10 2017-08-17 23:04:29 +02:00
Sigert Goeminne cd2176f9a6 CLOUDSTACK-10031: change default configuration for router.aggregation.command.each.timeout from 3 to 600 seconds (#2223)
Change default configuration for router.aggregation.command.each.timeout from 3 to 600 seconds (#2223)
(cherry picked from commit 17bc6afc82)

This fixes some test_nic failures caused due to short aggregation command timeout

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-17 23:01:46 +02:00
Sigert Goeminne 17bc6afc82 CLOUDSTACK-10031: change default configuration for router.aggregation.command.each.timeout from 3 to 600 seconds (#2223)
Change default configuration for router.aggregation.command.each.timeout from 3 to 600 seconds (#2223)
2017-08-11 12:26:24 +02:00
Nicolas Vazquez 3f330a2199 CLOUDSTACK-10044: Update role permission (#2236)
This feature allows changing permission for existing role permissions, as those were static and could not be changed once created. It also provides the ability to change these permissions in the UI using a drop down menu for each permission rule, in which admin can select ‘Allow’ or ‘Deny’ permission.

Changes in the API:

This feature modifies behaviour of updateRolePermission API method:

New optional parameters ‘ruleid’ and ‘permission’ are introduced, they are mutual exclusive to ‘ruleorder’ parameter. This defines two use cases:
Update role permission: ‘ruleid’ and ‘permission’ parameters needed
Update rules order: ‘ruleorder’ parameter needed
Parameter ‘ruleorder’ is now optional
updateRolePermission providing ‘ruleorder’ parameter should be sent via POST
2017-08-11 12:24:50 +02:00
Rohit Yadav f84728d374 Merge branch '4.10' 2017-08-10 01:59:34 +02:00
Rohit Yadav d9b7b8cb62 Merge branch '4.9' into 4.10
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-10 01:39:14 +02:00
ustcweizhou aee3dbb49a CLOUDSTACK-10000: Fix remote access vpn does not work due to '#' in password (#2182) 2017-08-10 01:30:21 +02:00
Wei Zhou 5645164dbb CLOUDSTACK-8958: release dedicated ip range in domain removal 2017-08-10 01:11:51 +02:00
SowjanyaPatha f66bbb9521 CLOUDSTACK-9922 Unable to use 8081 port for Load balancing 2017-08-08 11:57:45 +05:30
Abhinandan Prateek d7f5b929b2 CLOUDSTACK-9861: Expire VM snapshots after configured duration (#2026)
Default value of the account level global config vmsnapshot.expire.interval is -1 that conforms to legacy behaviour. A positive value will expire the VM snapshots for the respective account in that many hours.
2017-08-06 00:13:17 +02:00
Mowgli 3614f8aae2 CLOUDSTACK-9608: Errored State and Abandoned state Templates are not displayed on UI. (#1774)
Errored and Abandoned Templates should also be displayed on UI so that user has the accessibility to delete the template even before the clean up thread is run. Refer - CLOUDSTACK-9608
2017-08-06 00:10:26 +02:00
niteshsarda 6203013ec6 CLOUDSTACK-9955 : Featured Templates/Iso's created by Root/admin user are not visible to Domain Admin users (#2144)
ISSUE: Featured Templates/Iso's created by Root/admin user are not visible to Domain Admin users.

STEPS TO REPRODUCE

Mark a template as featured and try to view it from a domain admin user
The issue occurs for both templates and iso's registered before and after upgrade
Templates,ISO's whose owner is ROOT admin, public: Yes, featured: Yes
Log in to UI (as a domain admin, such as an admin of “TEST/TEST1” domain)
Choose “Templates”.
Error message will be shown on UI
2017-08-04 20:59:07 +02:00
dahn 597df24b53 CLOUDSTACK-10007: Isolation methods (#2193)
Change isolation methods from an enum to a registry based construct to enhance pluggability
2017-08-03 12:20:37 +02:00
Rohit Yadav 98dc4eb96a CLOUDSTACK-9782: New Background Polling Task Manager (#2218)
CloudStack has several background polling tasks that are spread across
the codebase, the aim of this work is to provide a single manager to
handle submission, execution and handling of background tasks. With
the framework implemented, existing oobm background task has been
refactored to use this manager.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-03 11:53:45 +02:00
mrunalinikankariya b936feb108 CLOUDSTACK-9950:listUsageRecords doesnt return required fields (#2137)
There is no cpuspeed, cpunumber or memory details in the listUsageRecords output as documented
In DB (cloud_usage table) we have cpu_speed, cpu_cores and ram fileds, but these are not populated for all the VM's. These fields are only populated for the VM's which are deployed with custom service offerings.
2017-08-03 00:39:57 +02:00
Olivier Lemasle 43ae8e3503 CLOUDSTACK-9840: Fix datetime format of snapshots events (#2008)
Include the timezone in datetime format of snapshot events, to be consistent
with every other events.
"eventDateTime" was added by @chipchilders in commit 14ee684ce3 and was
updated the same day to add the timezone (commit bf967eb622) except for
Snapshots.
2017-08-03 00:31:49 +02:00
SowjanyaPatha 7fea069e8a CLOUDSTACK-9954 Unable to create service offering with networkrate=0 (#2142)
Unable to create service offering with networkrate=0(Unlimited network throttling) with an error "Failed to create service offering xxxxxxx: specify the network rate value more than 0".
2017-08-03 00:19:38 +02:00
subhash yedugundla b70879cbac CLOUDSTACK-9560 Root volume of deleted VM left unremoved
(cherry picked from commit 5568ee93ad)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Nitesh Sarda 26bcb9afd8 CLOUDSTACK-9935 : Search in VPN Customer Gateway not working
(cherry picked from commit fdadc7b760)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Subhash Yedugundla 77fb2c92ce CLOUDSTACK-9592 Empty responses from site to site connection status are not handled propertly
(cherry picked from commit ddf8fd514a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Priyank Parihar 30bb5587d2 CLOUDSTACK-9610: Disabled Host Keeps Being up status after unmanging cluster.
(cherry picked from commit 4b165f1b8f)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Anshul Gangwar 75c81d918a CLOUDSTACK-9705: Unauthenticated API allows Admin password reset
Now, Updating the password via UpdateUser API is not allowed via integration port

(cherry picked from commit d206336e1a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Sudhansu 8240bc4aa2 CLOUDSTACK-9701: When host is disabled/removed,
capacity_type for local storage in op_host_capacity
is still enabled

(cherry picked from commit e06e3b7cd4)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Sudhansu 4bacb64994 CLOUDSTACK-9842: Unable to map root volume usage to VM
removed code which nullifies  vm_instance_id
Also modified QueryManagerImpl to ignore volume which does not have uuid. This is to avoid duplicate volume listing.

(cherry picked from commit 3cced927c4)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Nitesh Sarda e574953427 CLOUDSTACK-9814 : Unable to edit a Sub domain, which has the same name in different domains
(cherry picked from commit 254771c01c)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Bharat Kumar d03f499b05 CLOUDSTACK-9638 Problems caused when inputting double-byte numbers for custom compute offerings
(cherry picked from commit 59312dd976)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Bharat Kumar 63997b3b19 CLOUDSTACK-9666 Added basic configuration validation for the config drive global settings
(cherry picked from commit 366175b9a5)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Bharat Kumar b696a00ea2 CLOUDSTACK-9725 Failed to update VPC Network during N/w offering Upgrade which doesnt have ACL service Enabled.
check if acl service provider is configured when network is associated with a acl.

(cherry picked from commit bbff9f1575)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Sudhansu 5ce122cc08 CLOUDSTACK-9630: Cannot use listNics API as advertised
added missing  details for listNics API response.

(cherry picked from commit e7326b10ef)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Jayapal 4c37e11175 CLOUDSTACK-8931: Fail to deploy VM instance when use.system.public.ips=false
(cherry picked from commit e1384c3b63)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
root 41d1d40940 CLOUDSTACK-9748:VPN Users search functionality broken
(cherry picked from commit 61823c24f6)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Nitin Kumar Maharana 645283abc4 CLOUDSTACK-9623: Deploying virtual machine fails due to "Couldn't find vlanId" in Basic Zone
(cherry picked from commit 280f3be4e6)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Nick Livens 1f44e884ad CLOUDSTACK-9321 : Multiple Internal LB rules (more than one Internal LB rule with same source IP address) are not getting resolved in the corresponding InternalLbVm instance's haproxy.cfg file
CLOUDSTACK-9321 : Adding component tests for VPC Network functionality - Internal LB rules

CLOUDSTACK-9321 : Extending Nuage VSP Internal LB Marvin tests

Co-Authored-By: Prashanth Manthena <prashanth.manthena@nuagenetworks.net>, Frank Maximus <frank.maximus@nuagenetworks.net>

(cherry picked from commit 62e858131f)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Rajani Karuturi c14aa40a47 CLOUDSTACK-8950 Hypervisor Parameter check is not performed for
registerTemplate and getUploadParamsForTemplate API's

Any string is allowed as hypervisor type from the api.
HypervisorType.getType() tries to validate with the enums and if nothing
matches, sets the type as None.

Added a check to not allow None hypervisor type when registering.

(cherry picked from commit cc06c5189a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Anshul Gangwar 120ac33d7a CLOUDSTACK-9682: Block VM migration to a storage which is in maintainenece mode. If
the destination pool is in maintenance mode do not allow a volume to be migrated to
the storage pool. Fixed it for volume migration and vm migration with volume.

(cherry picked from commit 8ef94819da)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Jayapal 54bd8ee880 CLOUDSTACK-9724: Fixed missing additional public ip on tier network with cleanup
(cherry picked from commit ee726af53b)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Bharat Kumar a9050fa42a CLOUDSTACK-8857 listProjects doesn't return tags vmstopped or vmrunning when their value is zero
(cherry picked from commit c6e9d82595)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Priyank Parihar cdc9947d48 CLOUDSTACK-8841: Storage XenMotion from XS 6.2 to XS 6.5 fails.
(cherry picked from commit 69647b38ce)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Sudharma Jain af9c6b7bdc CLOUDSTACK-9851 travis CI build failure after merge of PR#1953
(cherry picked from commit 7348f9412a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Suresh Kumar Anaparti e61815a255 CLOUDSTACK-9794: Unable to attach more than 14 devices to a VM
Updated hardcoded value with max data volumes limit from hypervisor capabilities.

(cherry picked from commit 93f5b6e8a3)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Jayapal 980be4dfc9 CLOUDSTACK-9757: Fixed issue in traffic from additional public subnet
(cherry picked from commit baac747089)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-08-01 20:40:25 +02:00
Rohit Yadav 619da91386 Merge branch '4.10' 2017-07-28 11:28:20 +02:00
Rohit Yadav e9f526e221 Merge branch '4.9' into 4.10
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-07-28 10:49:34 +02:00
Syed Mushtaq Ahmed 623ca0def2 CLOUDSTACK-10015: Return storage provider with response to list storage pools (#2200)
It would be useful if we return the provider name in the list storage pools response. This will be useful for example to identify different storages that are in use and their scope.
2017-07-27 23:14:11 +02:00
Abhinandan Prateek 7ed3179bd1 CLOUDSTACK-9569: add router.aggregation.command.each.timeout to agent.properties (#1933) 2017-07-27 11:17:20 +02:00
SowjanyaPatha 31f27da93d Merge branch 'master' of https://github.com/apache/cloudstack 2017-07-27 04:26:03 -04:00
Marc-Aurèle Brothier dbf11d5e2d API: display zone capacity data only to admin 2017-07-26 15:17:28 +02:00
Rohit Yadav c384239a05 Merge branch '4.10' 2017-07-24 12:44:25 +02:00
Rohit Yadav 83e9de4bfd Merge branch '4.9' into 4.10 2017-07-24 12:43:24 +02:00
Rohit Yadav de0d1c7893 CLOUDSTACK-9985: Allow creation of roles with names of deleted roles
This allows admins to create roles with names of previously deleted
roles.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-07-24 12:42:53 +02:00
Harika Punna bef5c17baa CLOUDSTACK-9982: Introduce new response parameter: PhysicalSize in listTemplates API response 2017-07-24 09:28:25 +02:00
Bharat Kumar d98520a6da CLOUDSTACK-9667 Enable resourcecount.check.interval by default 2017-07-24 09:26:17 +02:00
Rene Moser 256c193e92 CLOUDSTACK-8873: add zonename in load balancer response 2017-07-23 23:16:23 +02:00
Wei Zhou afbbb810f0 CLOUDSTACK-9405: add details parameter in listDomains API to reduce the execution time 2017-07-23 23:15:26 +02:00
Wei Zhou 047a57ddf2 CLOUDSTACK-7984: Add vm.{disk,network}.stats.interval.min global setting 2017-07-23 17:15:23 +02:00
Wei Zhou 960cb84083 CLOUDSTACK-7984: Collect network statistics for VMs on shared network (KVM implementation) 2017-07-23 17:15:23 +02:00
Rohit Yadav 61208b5db2 Merge remote-tracking branch 'origin/4.10' 2017-07-23 13:46:20 +02:00
Rohit Yadav c1e5cb32d0 Merge remote-tracking branch 'origin/4.9' into 4.10
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-07-23 13:30:04 +02:00
Sudhansu 970746c6d6 CLOUDSTACK-9668 : disksizeallocated of PrimaryStorage is different from the total size of a volume
update capacity if current allocated is different from used bytes in DB.
2017-07-23 13:15:07 +02:00
Wei Zhou d216345af7 CLOUDSTACK-9136: remove ssh keypairs along with removing account
We also allow ROOT Admin to remove remained ssh keypairs of removed account
2017-07-23 13:11:38 +02:00
Slair1 4c2d851486 VR related periodic jobs are scheduled twice and run twice on management servers 2017-07-23 13:06:56 +02:00
Wei Zhou 088cca2b28 CLOUDSTACK-9997: Add cpu cores information in CapacityResponse
This commit contains following changes
(1) add CPU CORE information in op_host_capacity
(2) add capacity name in the CapacityResponse
(3) add allocatedCapacity for CPU/MEMORY/CPU CORE for zones
(4) sort CapacityResponse by zonename and CapacityType
2017-07-22 11:26:37 +02:00
Nitin Kumar Maharana e243a31e41 CLOUDSTACK-8672 : NCC Integration with CloudStack.
Improvements.
2017-07-20 12:42:43 +05:30
Nitin Kumar Maharana b2b422c7d7 CLOUDSTACK-8672 : NCC Integration with CloudStack. 2017-07-20 12:42:43 +05:30
Priyank Parihar b2f7f9abb6 CLOUDSTACK-8672 : NCC Integration with CloudStack. 2017-07-20 12:42:43 +05:30
Rajesh Battala 884606f77b CLOUDSTACK-8672 : NCC Integration with CloudStack. 2017-07-20 12:42:43 +05:30
Rohit Yadav 322e18a7b6 CLOUDSTACK-9928: Allow native CloudStack users to change password in UI
This allows native CloudStack users to change password in UI when LDAP
is enabled. Overall changes:
- A new usersource returned in the listUsers response
- Removed ldap check in the UI, replaced with check based on user source
- DB changes to include user.source in user_view
- Changed UI error message for non-native users trying to change password

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-07-14 14:55:08 +05:30
Gabriel Beims Bräscher cd5611273f Resource dedicated to a domain is owned by the root domain
When dedicating a resource (cluster or host) to a domain, the affinity
group which is created is visible to everyone rather than only to domain
that the cluster is dedicated to.
2017-06-21 17:55:25 -03:00
root 3fc696e7f5 CLOUDSTACK-9954 Unable to create service offering with networkrate=0 2017-06-12 07:56:45 -04:00
Rajani Karuturi ccd623fdf5 Merge pull request #2100 from Accelerite/CLOUDSTACK-9907
CLOUDSTACK-9907 Physical size of snapshot is considered for usage
2017-06-07 11:08:03 +05:30
Rajani Karuturi b8c113f4b9 Merge pull request #1726 from yvsubhash/CLOUDSTACK-9560
CLOUDSTACK-9560 Root volume of deleted VM left unremoved
2017-06-06 17:11:06 +05:30
Rajani Karuturi ef7dabe635 Merge pull request #1866 from Accelerite/egresdcidr
Advanced isolated network egress destination cidr support added
2017-06-06 17:10:14 +05:30
Rajani Karuturi 9fd0965087 Merge pull request #2126 from Accelerite/CLOUDSTACK-9740
CLOUDSTACK-9740 : Search for secondary IP of NIC that is attached to an instance is not working
2017-06-06 16:29:45 +05:30
Rajani Karuturi b894cc4cf1 Merge pull request #2132 from Accelerite/CLOUDSTACK-9935
CLOUDSTACK-9935 : Search in VPN Customer Gateway not working
2017-06-06 16:23:36 +05:30
Rajani Karuturi 18af707aeb Merge pull request #1725 from yvsubhash/CLOUDSTACK-9559
CLOUDSTACK-9559  Why allow deleting zone without deleting the seconda…
2017-06-06 16:16:10 +05:30
Rajani Karuturi b9ddf5a9fe Merge pull request #1761 from yvsubhash/CLOUDSTACK-9592
CLOUDSTACK-9592 Empty responses from site to site connection status a…
2017-06-06 16:07:10 +05:30
Rajani Karuturi 2734e9ec94 Merge pull request #1776 from priyankparihar/CLOUDSTACK-9603
CLOUDSTACK-9603: 'concurrent.snapshots.threshold.perhost' parameter should not accept String.
2017-06-06 16:06:17 +05:30
Rajani Karuturi 02996fcabf Merge pull request #1779 from priyankparihar/CLOUDSTACK-9610
CLOUDSTACK-9610: Disabled Host Keeps Being up status after unmanaging …
2017-06-06 16:05:21 +05:30
Rajani Karuturi 7b1b31dfa5 Merge pull request #1865 from anshul1886/CLOUDSTACK-9705
CLOUDSTACK-9705: Unauthenticated API allows Admin password reset
2017-06-06 15:56:41 +05:30
Rajani Karuturi ac4a02f944 Merge pull request #1868 from anshul1886/CLOUDSTACK-9707
CLOUDSTACK-9707: While using hostid parameter, vm gets deployed on an…
2017-06-06 15:54:16 +05:30
Rajani Karuturi d962cc1b60 Merge pull request #1869 from sudhansu7/CLOUDSTACK-9701
CLOUDSTACK-9701: Local storage capacity is not handled properly
2017-06-06 15:52:51 +05:30
Jayapal 065fa1c849 CLOUDSTACK-9669:Advaced zone isolated network egress destination cidr support
CLOUDSTACK-9669:egress destination cidr VR python script changes
    CLOUDSTACK-9669:egress destination API and orchestration changes
    CLOUDSTACK-9669: Added the ipset package in systemvm template
    CLOUDSTACK-9669:Added licence header for new files
    CLOUDSTACK-9669: replacing 0.0.0.0/0 with the network cidr

     ipset member add with 0.0.0.0/0 fails. So 0.0.0.0/0 replaced with the network cidr.
     In source cidr 0.0.0.0/0 is nothing but network cidr.
     updated the default egress all cidr with network cidr
2017-06-06 15:51:00 +05:30
Rajani Karuturi 278514f623 Merge pull request #1900 from anshul1886/CLOUDSTACK-8862
CLOUDSTACK-8862: Introduced new state attaching for volume. This will…
2017-06-06 15:50:06 +05:30
Rajani Karuturi 571d125bcb Merge pull request #2012 from sudhansu7/CLOUDSTACK-9842
CLOUDSTACK-9842: Unable to map root volume usage to VM
2017-06-06 15:48:13 +05:30
Rajani Karuturi 6f5bc8962a Merge pull request #2086 from Accelerite/cstack-9905
CLOUDSTACK-9905:VPN Gateway with Public Subnet
2017-06-06 15:46:09 +05:30
Rajani Karuturi 68fcef3783 Merge pull request #2113 from Accelerite/vpnuser
CLOUDSTACK-9162: Handled vpn user add when vpn is not enabled on the…
2017-06-06 15:44:31 +05:30
Rajani Karuturi 7ee751e747 Merge pull request #1894 from Accelerite/CLOUDSTACK-9700
CLOUDSTACK-9700 Allow user to Register/Copy templates to multiple zones at the same time
2017-06-06 15:41:28 +05:30
Rajani Karuturi 511ebe6dd4 Merge pull request #927 from karuturi/secure-configs
CLOUDSTACK-9901 secure and hidden config values are returned as plaintext string
2017-06-06 15:37:44 +05:30
Rajani Karuturi 3ddac36d20 Merge pull request #1867 from anshul1886/CLOUDSTACK-9706
CLOUDSTACK-9706: Added snapshots cleanup in start and storage GC thre…
2017-06-06 15:36:23 +05:30
Rajani Karuturi 68d50fbfd8 Merge pull request #1996 from Accelerite/secretkey
CLOUDSTACK-9099: SecretKey is returned from the APIs
2017-06-06 15:35:11 +05:30
Rajani Karuturi f5d97fe556 Merge pull request #1987 from Accelerite/SubDomainIssue
CLOUDSTACK-9814 : Unable to edit a Sub domain, which has the same name in different domains
2017-06-05 13:26:19 +05:30
Nitesh Sarda fdadc7b760 CLOUDSTACK-9935 : Search in VPN Customer Gateway not working 2017-05-31 18:19:08 +05:30
Nitesh Sarda 5eed75120b CLOUDSTACK-9740 : Search for secondary IP of NIC that is attached to an instance is not working 2017-05-31 15:42:51 +05:30
Jayapal 5d989f322c CLOUDSTACK-9162: Handled vpn user add when vpn is not enabled on the account 2017-05-29 15:32:04 +05:30
Rajani Karuturi b7540af00e Merge pull request #1967 from bvbharatk/CLOUDSTACK-9638
CLOUDSTACK-9638 Problems caused when inputting double-byte numbers fo…
2017-05-25 11:44:25 +05:30
Rajani Karuturi 0b98923679 Merge pull request #2098 from mike-tutkowski/CLOUDSTACK-9917
Fix for CLOUDSTACK-9660
2017-05-24 15:41:58 +05:30
Bharat Kumar 09de5e0b51 CLOUDSTACK-9665 List hosts api dose not report correct cpu and memory usage. 2017-05-18 22:45:02 +05:30
Rajani Karuturi 701146ff28 Merge pull request #1908 from Accelerite/staticnat
CLOUDSTACK-9317: Fixed disable static nat on leaving ips on interface
2017-05-18 15:48:09 +05:30
Rajani Karuturi 8e087ca3ef Merge pull request #874 from harikrishna-patnala/CLOUDSTACK-8897
CLOUDSTACK-8897: baremetal:addHost:make host tag info mandtory in bar…
2017-05-18 15:15:46 +05:30
Anshul Gangwar f52719a9cf CLOUDSTACK-9707: While using hostid parameter, vm gets deployed on another if the host
given is running out of capacity. If host id is specified the deployment should happen
on the given host and it should fail if the host is out of capacity. We are retrying
deployment on the entire zone without the given host id if we fail once. The retry,
which will retry on other hosts, should only be attempted if host id isn't given.

Also, introduces global setting
allow.deploy.vm.if.deploy.on.given.host.fails with which old behaviour
can be restored
2017-05-18 12:21:30 +05:30
SowjanyaPatha 721f4475f4 CLOUDSTACK-9907 Physical size of snapshot is considered for usage 2017-05-18 11:13:18 +05:30
Mrunalini Kankariya 9d5752662f CLOUDSTACK-9905:VPN Gateway with Public Subnet 2017-05-17 19:03:06 +05:30
Rajani Karuturi 38701073a6 Merge pull request #2006 from Accelerite/CLOUDSTACK-9833
CLOUDSTACK-9833: Move configuration parameters from Config.java to use configdepot
2017-05-17 15:18:59 +05:30
Jayapal 87cf33ac5c CLOUDSTACK-9099: Added a separate API to apikey and secretkey 2017-05-17 14:16:12 +05:30
Rajani Karuturi e77a2f80f2 Merge pull request #868 from anshul1886/CLOUDSTACK-8894
CLOUDSTACK-8894: Restrict vGPU enabled VMs dynamic scaling if new service offering has different vGPU type
2017-05-17 12:39:10 +05:30
Rajani Karuturi 8b3cadb55e Merge release branch 4.9 to master
* 4.9:
  Do not set gateway to 0.0.0.0 for windows clients
  CLOUDSTACK-9904: Fix log4j to have @AGENTLOG@ replaced
  ignore bogus default gateway   when a shared network is secondary the default gateway gets overwritten by a bogus one   dnsmasq does the right thing and replaces it with its own default which is not good for us   so check for '0.0.0.0'
  Activate NioTest following changes in CLOUDSTACK-9348 PR #1549
  CLOUDSTACK-9828: GetDomRVersionCommand fails to get the correct version as output Fix tries to return the output as a single command, instead of appending output from two commands
  CLOUDSTACK-3223 Exception observed while creating CPVM in VMware Setup with DVS
  CLOUDSTACK-9787: Fix wrong return value in NetUtils.isNetworkAWithinNetworkB
2017-05-17 11:36:52 +05:30
Rajani Karuturi 83b93d2f60 Merge pull request #1971 from bvbharatk/CLOUDSTACK-9726
CLOUDSTACK-9726 Update state is not changed to UPDATE_FAILED in case …
2017-05-17 11:19:25 +05:30
Jayapal d04a3e842c CLOUDSTACK-9317: Update review comments and rule state column 2017-05-17 11:08:13 +05:30
Jayapal 8ef52325e7 CLOUDSTACK-9317: When there 1 static nat removing PF rules is handled
There is 1 static nat rule and 2 PF rule. Removing 2 PF rules was deleting static nat rule.
    Fixed this issue in this commit.
2017-05-17 11:07:28 +05:30
Jayapal c20e0ef88f CLOUDSTACK-9317: Fixed disable static nat on leaving ips on interface 2017-05-17 11:03:50 +05:30
Harikrishna Patnala d2fe2332d3 CLOUDSTACK-9833: Move configuration parameters from Config.java to use ConfigDepot
Following parameters are moved to configdepot.
snapshot.max.hourly
snapshot.max.daily
snapshot.max.weekly
snapshot.max.monthly
enable.secure.session.cookie
json.content.type
2017-05-17 10:48:17 +05:30
Rajani Karuturi 7434d91614 Merge pull request #1873 from Accelerite/dhcpOffloadFix
CLOUDSTACK-9709: Updated the vm ip fetch task to use the correct the …
2017-05-17 10:43:51 +05:30
Rajani Karuturi 339fe4c7bd Merge pull request #1883 from Accelerite/uniqueMac
CLOUDSTACK-9723: Enable unique mac address across the zones
2017-05-17 10:36:19 +05:30
Rajani Karuturi 5c316a9b00 Merge pull request #1968 from bvbharatk/CLOUDSTACK-9666
CLOUDSTACK-9666 Added basic configuration validation for the config d…
2017-05-17 10:25:33 +05:30
Rajani Karuturi cbd3662482 Merge pull request #2055 from shapeblue/sharedisolated
CLOUDSTACK-9887 ignore bogus default gateway
2017-05-17 09:53:39 +05:30
Rajani Karuturi a4f3c71744 Merge pull request #1849 from sudhansu7/CLOUDSTACK-9690
CLOUDSTACK-9690: Scale CentOS7 VM fails with error
2017-05-16 11:24:50 +05:30
Rajani Karuturi 108361ca95 Merge pull request #1180 from harikrishna-patnala/CLOUDSTACK-9112
CLOUDSTACK-9112: Deploy VM failing frequently due to capacity calculation not synchron…
2017-05-16 11:20:03 +05:30
Rajani Karuturi 6b0e67502c Merge pull request #1992 from Accelerite/CS-9824
CLOUDSTACK-9824:Resource count for Primary storage is considered twice - while creating and while attaching the disk
2017-05-16 11:11:49 +05:30
rashmidixit 49a862b223 CLOUDSTACK-9700: Allow user to Register/Copy templates to multiple zones at the same time 2017-05-15 14:07:22 +05:30
subhash_y a2a1f25131 CLOUDSTACK-9559 Why allow deleting zone without deleting the secondary storage under the zone 2017-05-15 12:08:32 +05:30
Wei Zhou 2e926d87e0 Do not set gateway to 0.0.0.0 for windows clients 2017-05-15 08:20:41 +02:00
Mike Tutkowski 0506fe6086 Fix for CLOUDSTACK-9660
A root volume can be replaced by a different root volume without the VM it belongs to being expunged.

From dev@:

For example: Let’s say we have a system VM running on NFS primary storage. We then put this primary storage into maintenance mode, which creates the system VM (with the same name) on a different primary storage (we do not create a new row in the cloud.vm_instance table for this VM). While this VM works, the original root disk of the system VM remains on the original primary storage and is not destroyed by the code in StorageManagerImpl.cleanupStorage(boolean) in 4.10 because 4.10 (as shown above) only asks for non-root volumes to consider for deletion. In the 4.9 version of the code, the original root disk is cleaned up in StorageManagerImpl.cleanupStorage(boolean). The problem with 4.10 relying on a root disk always being deleted when the VM it belongs to is deleted is that in a situation like this that the system VM doesn’t get deleted at this point – it gets a new root disk that’s hosted by a different primary storage (so now it’s original root disk is stranded).
2017-05-11 13:39:30 -06:00
Sudhansu e06e3b7cd4 CLOUDSTACK-9701: When host is disabled/removed,
capacity_type for local storage in op_host_capacity
is still enabled
2017-05-09 15:44:02 +05:30
Rajani Karuturi ed2f573160 Merge release branch 4.9 to master
* 4.9:
  Honor network.dns.basiczone.updates setting when sending DHCP config to VRs
2017-05-09 09:30:56 +05:30
Rajani Karuturi 550bec8171 Merge pull request #2077 from wido/4.9-dhcpupdatesvr
Honor network.dns.basiczone.updates setting when sending DHCP config …
2017-05-09 09:22:26 +05:30
Subhash Yedugundla ddf8fd514a CLOUDSTACK-9592 Empty responses from site to site connection status are not handled propertly 2017-05-08 19:24:34 +05:30
Rajani Karuturi 45f62c3483 Merge pull request #1813 from priyankparihar/CLOUDSTACK-9604
CLOUDSTACK-9604: Root disk resize support for VMware and XenServer.
2017-05-08 10:15:57 +05:30
Wido den Hollander 607ce943cf
Honor network.dns.basiczone.updates setting when sending DHCP config to VRs
When sending the DHCP offerings to the VRs this setting wasn't read properly which made
it default to 'all'.

This causes all DHCP offerings to be send to all VRs instead of just those in the POD.

As VR provisioning can be very time consuming this can drastically reduce deployment time
of the VR.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2017-05-05 12:56:22 +02:00
Sudhansu e7a7db3ef3 CLOUDSTACK-9690: Scale CentOS7 VM fails with error
1. Removed XenServerGuestOsMemoryMap from CitrixHelper.java
This java file was holding a static in memory map named XenServerGuestOsMemoryMap. This was the source for xenserver dynamic memory values(max and min). These values were moved to guest_os_details table.

2. DAO layer was modified to access these values.
3. VirtualMachineTo object was modified to populate the dynamic memory values.
4. addGuestOs and UpdateGuestOS api has been modified to update memory values.
2017-05-05 10:58:12 +05:30
Rajani Karuturi fca41148b7 CLOUDSTACK-9901 secure and hidden config values are returned as plaintext string
secure and hidden config values are first unencrypted before returning
them in the api. This is not desired as they are secure configs
returning encrypted strings for secure and hidden configs if encryption
is enabled.
2017-05-03 14:58:02 +05:30
Rajani Karuturi dcc7f4ce27 Merge release branch 4.9 to master
* 4.9:
  CLOUDSTACK-9647: NIC adapter type becomes e1000 , even after changing the global parameter  "vmware.systemvm.nic.device.type" to vmxnet3 for VPC VR
2017-05-02 11:21:42 +05:30
Rajani Karuturi bdc4fd700b Merge pull request #1810 from sudhansu7/CLOUDSTACK-9647
CLOUDSTACK-9647: NIC adapter type becomes e1000 , even after changing…
2017-05-02 11:17:19 +05:30
Rajani Karuturi 2de854c6dc Merge pull request #2071 from shapeblue/certificate-handling-move
CLOUDSTACK-9815 move CertService to more generic location
2017-05-02 11:11:32 +05:30
Rajani Karuturi 57628b2dd0 Merge pull request #2030 from shapeblue/snapshot-housekeeping
CLOUDSTACK-9864 cleanup stale worker VMs after job expiry time
2017-05-02 11:08:50 +05:30
Rajani Karuturi 8854d4c343 Merge pull request #1792 from nitin-maharana/nitin4
CLOUDSTACK-9623: Deploying virtual machine fails due to "Couldn't find vlanId" in Basic Zone
2017-05-02 11:07:51 +05:30
Rajani Karuturi 992ce6e64f Merge pull request #1970 from bvbharatk/CLOUDSTACK-9725
CLOUDSTACK-9725 Failed to update VPC Network during N/w offering Upgr…
2017-05-02 11:06:54 +05:30
Daan Hoogland ae4e571d51 CLOUDSTACK-9815 move package further to apache location 2017-05-01 10:55:36 +02:00
Daan Hoogland 20c67ac2aa CLOUDSTACK-9815 rename ssl to tls 2017-04-27 14:20:55 +02:00
Daan Hoogland 4bb7ffe2cf CLOUDSTACK-9815 move CertService to more generic location
this can be used in ApplicationClusters as well as in planned CA-plugins
2017-04-27 10:34:10 +02:00
Rajani Karuturi 3f6d27faab Merge pull request #1797 from sudhansu7/CLOUDSTACK-9630
CLOUDSTACK-9630: Cannot use listNics API as advertised
2017-04-27 11:14:50 +05:30
Mowgli c2c1f01d2e Merge branch 'master' into CLOUDSTACK-9604 2017-04-26 11:48:56 +05:30
Nitesh Sarda feb5fa901e CLOUDSTACK-9779 : Releasing secondary guest IP fails with error VM nic Ip x.x.x.x is mapped to load balancing rule 2017-04-25 12:03:03 +05:30
Rajani Karuturi f0dd5994b4 Merge pull request #1582 from DaanHoogland/CLOUDSTACK-9408
CLOUDSTACK-9408 for the move away from download.cloud.com
2017-04-24 07:57:07 +05:30
Rajani Karuturi 38f1050ff8 Merge release branch 4.9 to master
* 4.9:
  Bug-ID:CLOUDSTACK-9369 Fixed Ldap regression
2017-04-23 09:42:19 +05:30
Rajani Karuturi a5963f2d86 Merge pull request #2009 from Accelerite/CLOUDSTACK-9369
CLOUDSTACK-9369 Fixed Ldap regression
2017-04-23 09:41:15 +05:30
Rajani Karuturi 524fc324bc Merge pull request #1917 from Accelerite/RvRipRel
CLOUDSTACK-9756: Configure to  ignore the ipassoc failure
2017-04-22 21:09:38 +05:30
Rajani Karuturi 0c9ddcb443 Merge pull request #1993 from Accelerite/sharednw
CLOUDSTACK-8931: Fail to deploy VM instance when use.system.public.ips=false
2017-04-22 20:56:27 +05:30
Rajani Karuturi 6f168c8e16 Merge pull request #1957 from Accelerite/CLOUDSTACK-9748
CLOUDSTACK-9748:VPN Users search functionality broken
2017-04-22 20:54:43 +05:30
Sudhansu e7326b10ef CLOUDSTACK-9630: Cannot use listNics API as advertised
added missing  details for listNics API response.
2017-04-21 15:27:23 +05:30
Sudhansu 3cced927c4 CLOUDSTACK-9842: Unable to map root volume usage to VM
removed code which nullifies  vm_instance_id
Also modified QueryManagerImpl to ignore volume which does not have uuid. This is to avoid duplicate volume listing.
2017-04-21 15:23:13 +05:30
Rajani Karuturi 9cc3ae8a94 Merge release branch 4.9 to master
* 4.9:
  CLOUDSTACK-9857: With this change if agent dies the systemd will catch it properly and show process as exited
  CLOUDSTACK-9805: Display VR list in network details
  CLOUDSTACK-9356: FIX Cannot add users in VPC VPN
2017-04-20 19:32:20 +05:30
Rajani Karuturi 5fcf648e7e Merge pull request #1903 from ustcweizhou/vpc-vpn-add-user
[4.9] CLOUDSTACK-9356: FIX Cannot add users in VPC VPN
2017-04-20 15:53:00 +05:30
Rajani Karuturi 6e93ca1f7d Merge pull request #1935 from nvazquez/deleteDomainFix
CLOUDSTACK-9764: Delete domain failure due to Account Cleanup task
2017-04-20 15:41:41 +05:30
Rajani Karuturi b40098d3b3 Bug-ID:CLOUDSTACK-9369 Fixed Ldap regression
Ldap auto creation of accounts is broken due to the security fix for
CLOUDSTACK-9369.
There was an explicit check to not allow login incase the
user doesnt exist. removed the same.
2017-04-20 15:25:47 +05:30
Daan Hoogland f07d729086 CLOUDSTACK-9408 for the move away from download.cloud.com
- commented some occurences of cloud.com as being harmless
  * examples
  * identifiers (internal)
 - changed the URL for vhd-util download
 - changed comments from 'cloud.com' to 'Apache CloudStack'
2017-04-20 11:35:36 +05:30
Daan Hoogland c689d4a696 CE-113 trace logging and rethrow instead of nesting CloudRuntimeException 2017-04-18 18:11:00 +02:00
Anshul Gangwar b766bf7fc9 CLOUDSTACK-8862: Introduced new state attaching for volume. This will make sure that other attach operation on same volume will fail gracefully without calling access calls for managed storage like SolidFire
Also, skipping test_upload_attach_volume as there is no implementation
which supports this.
2017-04-17 15:40:02 +05:30
subhash yedugundla 5568ee93ad CLOUDSTACK-9560 Root volume of deleted VM left unremoved 2017-04-09 19:00:45 +05:30
nvazquez 60ff09d4f7 CLOUDSTACK-9764: Delete domain failure due to Account Cleanup task 2017-04-07 12:40:56 -03:00
rashmidixit d8158fe5f4 CLOUDSTACK-9718: Revamp the dropdown showing lists of hosts available for migration in a Zone
Reviewed-By: Rashmi Dixit

    Problem: All the hosts suitable for VM Migration are not shown in the UI. This could
    confuse the user as the target host might never be shown in the UI.

    Root Cause: The API (findHostsForMigration) always returned page 1 results which would
    be always <= default.page.size global parameter. Therefore, in case of large
    no. of hosts where the result can map to multiple pages, this issue would arise.

    Solution: 1. Replace drop-down with listView widget.
    2. Allow lazy-loading of records on listView's scroll.
    3. Show additional parameters (CPU/Memory used) to assist admin in decision making.
    4. Provide 'Search by host name' to limit the results.

Added change where if there are no hosts found, an empty row with message will
appear.
2017-04-06 12:31:51 +05:30
Rajani Karuturi 5c0979fff5 Merge release branch 4.9 to master
* 4.9:
  CLOUDSTACK-9783: Improve metrics view performance
2017-04-06 12:04:55 +05:30
Sudharma Jain 7348f9412a CLOUDSTACK-9851 travis CI build failure after merge of PR#1953 2017-03-30 09:22:58 +05:30
Bharat Kumar 55067a8692 CLOUDSTACK-9726 Update state is not changed to UPDATE_FAILED in case when Host is put in Maintenance Mode. 2017-03-27 05:44:05 -07:00
nvazquez edf0e2b26f CLOUDSTACK-9827: Storage tags stored in multiple places 2017-03-24 13:37:04 -03:00
Anshul Gangwar c68931fc64 CLOUDSTACK-9706: Added snapshots cleanup in start and storage GC thread if they are failed to cleanup during DeleteSnapshot command 2017-03-17 17:40:55 +05:30
Harikrishna Patnala f34469a41b CLOUDSTACK-9112: deployVM thread is holding the global lock on network longer and cause delays and some improvements in the planner
There are some VM deployment failures happening when multiple VMs are deployed at a time, failures mainly due to NetworkModel code that iterates over all the vlans in the pod. This causes each deployVM thread to hold the global lock on Network longer and cause delays. This delay in turn causes more threads to choose same host and fail since capacity is not available on that host.

Following are some changes required to be done to reduce delays during VM deployments which in turn causes some vm deployment failures when multiple VMs are launched at a time.

    In Planner, remove the clusters that do not contain a host with matching service offering tag. This will save some iterations over clusters that dont have matching tagged host
    In NetworkModel, do not query the vlans for the pod within the loop. Also optimized the logic to query the ip/ipv6
    In DeploymentPlanningManagerImpl, do not process the affinity group if the plan has hostId provided.
2017-03-15 15:21:29 +05:30
Rajani Karuturi 3f0fbf251c Merge pull request #1953 from Accelerite/CLOUDSTACK-9794
CLOUDSTACK-9794: Unable to attach more than 14 devices to a VMUpdated hardcoded value with max data volumes limit from hypervisor capabilities.

* pr/1953:
  CLOUDSTACK-9794: Unable to attach more than 14 devices to a VM

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-03-13 22:19:04 +05:30
Rajani Karuturi 9b85cbca41 Merge pull request #1958 from shapeblue/CLOUDSTACK-5806
CLOUDSTACK-5806: add presetup to storage types that support over provisioning

Ideally this should be configurable via global settings

* pr/1958:
  CLOUDSTACK-5806: add presetup to storage types that support over provisioning Ideally this should be configurable via global settings

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-03-13 22:16:16 +05:30
Suresh Kumar Anaparti 93f5b6e8a3 CLOUDSTACK-9794: Unable to attach more than 14 devices to a VM
Updated hardcoded value with max data volumes limit from hypervisor capabilities.
2017-03-13 16:14:12 +05:30
Anshul And Priyank ec66256149 CLOUDSTACK-9604: Root disk resize support for VMware and XenServer. 2017-03-09 19:20:38 +05:30
Jayapal e1384c3b63 CLOUDSTACK-8931: Fail to deploy VM instance when use.system.public.ips=false 2017-03-09 17:40:34 +05:30
Pranali Mande 616c05e292 CLOUDSTACK-9824:Resource count for Primary storage is considered twice - while creating and while attaching the disk 2017-03-07 17:23:02 +05:30
Priyank Parihar 4b165f1b8f CLOUDSTACK-9610: Disabled Host Keeps Being up status after unmanging cluster. 2017-03-07 14:23:29 +05:30
Jayapal e3ae08b3ee CLOUDSTACK-9709: Updated the vm ip fetch task to use the correct the thread 2017-03-07 09:50:18 +05:30
Nitesh Sarda 254771c01c CLOUDSTACK-9814 : Unable to edit a Sub domain, which has the same name in different domains 2017-03-03 20:01:19 +05:30
Jayapal d71879c3a7 CLOUDSTACK-9756: Configure to ignore the ipassoc failure 2017-03-02 14:33:33 +05:30
Nitin Kumar Maharana 280f3be4e6 CLOUDSTACK-9623: Deploying virtual machine fails due to "Couldn't find vlanId" in Basic Zone 2017-03-02 01:40:03 +05:30
Harikrishna Patnala 1e256ccf50 CLOUDSTACK-8897: baremetal:addHost:make host tag info mandtory in baremetal addhost Api call
addhost api is successful with out providing the host tag info and we recommend host tag is mandatory for bare-metal.
In the current implementation host tag check is happening at vm deployment stage but it will be good to have host tag field as mandatory field during adding of the host it self.
2017-03-01 14:18:49 +05:30
Anshul Gangwar f9f0e50f3f CLOUDSTACK-8894: Restrict vGPU enabled VMs dynamic scaling if new service offering has different vGPU type 2017-02-28 17:58:24 +05:30
Rohit Yadav 402253504e CLOUDSTACK-9783: Improve metrics view performance
This improves the metrics view feature by improving the rendering performance
of metrics view tables, by reimplementing the logic at the backend and data
served via APIs. In large environments, the older implementation would
make several API calls that increases both network and database load.

List of APIs introduced for improving the performance:

    listClustersMetrics
    listHostsMetrics
    listInfrastructure
    listStoragePoolsMetrics
    listVMsMetrics
    listVolumesMetrics
    listZonesMetrics

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-02-28 13:45:03 +05:30
Koushik Das f843fcb969 Fix build failure on master 2017-02-28 11:22:30 +05:30
Rajani Karuturi 4f32febfed Merge pull request #815 from priyankparihar/CS-43756
CLOUDSTACK-8841: Storage XenMotion from XS 6.2 to XS 6.5 fails.Removed Host version check in API. Because
Case 1:(Lower to Higher Version)
Migration from lower version to higher version is valid.
Case 2:(Higher to Lower Version)
In this case system(Host) will not allow.
So no need to check version in API. Additionally,  CLOUDSTACK User Interface(UI) does  not allow  migration between different version of hyper-visors. But sometimes user wants to do migration from  Lower to Higher Version. Now he can do it via API.

ACS Link ==>
https://issues.apache.org/jira/browse/CLOUDSTACK-8841

* pr/815:
  CLOUDSTACK-8841: Storage XenMotion from XS 6.2 to XS 6.5 fails.

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-28 06:11:15 +05:30
Rajani Karuturi 6a18cdd6ef Merge pull request #1825 from Accelerite/CLOUDSTACK-9660
CLOUDSTACK-9660: NPE while destroying volumes during 1000 VMs deploy and destroy tests

NPE is seen as VM destroy and storage cleanup threads try to remove the same root volume. Fix is to handle
only non-root volumes in storage cleanup thread, root volumes will be handled as part of VM destroy.

* pr/1825:
  CLOUDSTACK-9660: NPE while destroying volumes during 1000 VMs deploy and destroy tests NPE is seen as VM destroy and storage cleanup threads try to remove the same root volume. Fix is to handle only non-root volumes in storage cleanup thread, root volumes will be handled as part of VM destroy.

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-28 06:00:02 +05:30
Rajani Karuturi 48cbef6d24 Merge pull request #1922 from Accelerite/vpcApub
CLOUDSTACK-9757: Fixed issue in traffic from additional public subnetAcquire ip from additional public subnet and configure nat on that ip.
After this pick any from that network and access additional public subnet from this vm. Traffic is supposed to go via additional public subnet interface in the VR.

* pr/1922:
  CLOUDSTACK-9757: Fixed issue in traffic from additional public subnet

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-28 05:53:59 +05:30
Rajani Karuturi fa85151be9 Merge release branch 4.9 to master
* 4.9:
  CLOUDSTACK-9746 system-vm: logrotate config causes critical failures
  CLOUDSTACK-9788: Fix exception listNetworks with pagesize=0
  CLOUDSTACK-8663: Fixed various issues to allow VM snapshots and volume snapshots to exist together
  Fix HVM VM restart bug in XenServer
2017-02-28 05:47:06 +05:30
Rajani Karuturi ea7c48cf61 Merge pull request #1941 from anshul1886/CLOUDSTACK-8663
CLOUDSTACK-8663: Fixed various issues to allow VM snapshots and volumesnapshots to exist together

Reverting VM to disk only snapshot in Xenserver corrupts VM

Stale NFS secondary storage on XS leads to volume creation failure from snapshot

Fixed various concerns raised in #672

* pr/1941:
  CLOUDSTACK-8663: Fixed various issues to allow VM snapshots and volume snapshots to exist together

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-28 05:39:34 +05:30
Abhinandan Prateek b6c259d72a CLOUDSTACK-5806: add presetup to storage types that support over provisioning
Ideally this should be configurable via global settings
2017-02-24 16:11:29 +05:30
Priyank Parihar f2a159fb5d CLOUDSTACK-9603: concurrent.snapshots.threshold.perhost does not validate value given. 2017-02-24 15:42:37 +05:30
Jayapal baac747089 CLOUDSTACK-9757: Fixed issue in traffic from additional public subnet 2017-02-24 14:50:48 +05:30
Jayapal 7eea445703 CLOUDSTACK-9723: Enable unique mac address across the zones 2017-02-23 12:39:31 +05:30
Bharat Kumar bbff9f1575 CLOUDSTACK-9725 Failed to update VPC Network during N/w offering Upgrade which doesnt have ACL service Enabled.
check if acl service provider is configured when network is associated with a acl.
2017-02-23 12:30:18 +05:30
Bharat Kumar 366175b9a5 CLOUDSTACK-9666 Added basic configuration validation for the config drive global settings 2017-02-23 12:11:57 +05:30
Rajani Karuturi cd68e99148 Merge pull request #838 from bvbharatk/CLOUDSTACK-8857
CLOUDSTACK-8857 listProjects doesn't return tags vmstopped or vmrunning when their value is zero listProjects doesn't return tags vmstopped or vmrunning when their value is zero
added the the appropriate tags to response.

tested this manually by creating projects, launching vms from project accounts and then listing the projects.

* pr/838:
  CLOUDSTACK-8857 listProjects doesn't return tags vmstopped or vmrunning when their value is zero

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-23 12:08:47 +05:30
Rajani Karuturi 75c08c467c Merge pull request #865 from bvbharatk/CLOUDSTACK-8856
CLOUDSTACK-8856 Primary Storage Used(type tag with value 2) related tPrimary Storage Used(type tag with value 2) related tag is not showing in listCapacity api response

* pr/865:
  CLOUDSTACK-8856 Primary Storage Used(type tag with value 2) related tag is not showing in listCapacity api response.

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-23 12:08:18 +05:30
Bharat Kumar 59312dd976 CLOUDSTACK-9638 Problems caused when inputting double-byte numbers for custom compute offerings 2017-02-23 12:08:03 +05:30
Rajani Karuturi bb274a1865 Merge release branch 4.9 to master
* 4.9:
  CLOUDSTACK-9789: Fix releasing secondary guest IP fails with associated static nat which is actually not used
  CLOUDSTACK-9628: Use correct virtualsize with Swift as secondary storage
2017-02-23 06:07:52 +05:30
Rajani Karuturi c6f0ba76b1 Merge pull request #1947 from ustcweizhou/RemoveSecondaryIP
CLOUDSTACK-9789: Fix releasing secondary guest IP fails with associated static nat which is actually not used

* pr/1947:
  CLOUDSTACK-9789: Fix releasing secondary guest IP fails with associated static nat which is actually not used

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-23 06:05:56 +05:30
Rajani Karuturi 9efd9059ef Merge pull request #1885 from Accelerite/vpctier
CLOUDSTACK-9724: Fixed missing additional public ip on tier network wIn VPC tier network acquire an ip and configure the PF service on it. VR now will have the two ip addresses on the interface.
Now restart the VPC tier network with cleanup option. After router comes up the public interface has only one ip (source nat ip)
Fixed the above issue.

* pr/1885:
  CLOUDSTACK-9724: Fixed missing additional public ip on tier network with cleanup

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-23 05:38:51 +05:30
root 61823c24f6 CLOUDSTACK-9748:VPN Users search functionality broken 2017-02-21 19:45:43 +05:30
Rajani Karuturi 50147a4208 Merge pull request #1882 from Accelerite/CLOUDSTACK-8737_CodeCleanup
CLOUDSTACK-8737: Removed the missed out-of-band VR reboot code, not required based on persistent VR changes.

* pr/1882:
  CLOUDSTACK-8737: Removed the missed out-of-band VR reboot code, not required based on persistent VR changes.

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-21 17:30:55 +05:30
Rajani Karuturi fe555e194e Merge pull request #1881 from Accelerite/CLOUDSTACK-9721
CLOUDSTACK-9721: Remove deprecated/unused global configuration parameter - consoleproxy.loadscan.interval

* pr/1881:
  CLOUDSTACK-9721: Remove deprecated/unused global configuration parameter - consoleproxy.loadscan.interval

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-21 17:30:30 +05:30
Rajani Karuturi 987be62b2e Merge pull request #1926 from jayantpatil1234/CS-50157
CLOUDSTACK-9768: Time displayed for events in UI is incorrectTime displayed for events in UI is incorrect. Let's say, when we login using Japanese language the time displayed in the events is GMT instead of JST. However with English language the time is JST, as expected.
Example:
Time is displayed in the event is 10:40, if you are logged in using English language.
Whereas, time in the event shows 19:40 If you login with Japanese language.

* pr/1926:
  CLOUDSTACK-9768: Time displayed for events in UI is incorrect

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-21 05:57:10 +05:30
Rajani Karuturi 1d1b503dec Merge pull request #1924 from niteshsarda/CS-50213
CLOUDSTACK-9766 : Executing deleteSnapshot api with already deleted sIf we try to delete the snapshot which is already deleted, then no proper error appears in the log and it just try to delete the snapshot which is already deleted.

Steps to reproduce :
-------
1-create a snapshot
2-delete the snapshot
3-try to delete snapshot which is deleted in step 2

Expected Result
-------------
Result should show proper error message. Request for deleting already deleted snapshot should not be placed.

* pr/1924:
  CLOUDSTACK-9766 : Executing deleteSnapshot api with already deleted snapshot does not throw any exception or failure message

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-21 05:46:18 +05:30
Rajani Karuturi 3582c653f6 Merge pull request #1874 from Accelerite/RAvpn
CLOUDSTACK-9711: Fixed error reporting while adding vpn user
If configuring vpn user in one of the network fails the failure is ignored, failure should be shown in API response.

* pr/1874:
  CLOUDSTACK-9711: Fixed error reporting while adding vpn user

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-21 05:41:09 +05:30
Rajani Karuturi 248c3f72c7 Merge release branch 4.9 to master
* 4.9:
  CLOUDSTACK-9691: Added test list_snapshots_with_removed_data_store
  CLOUDSTACK-9691: Fixed unhandeled excetion in list snapshot command when a primary store is deleted related to it
2017-02-20 16:28:15 +05:30
Jayapal a3e6bce8e6 Revert "CLOUDSTACK-9711: Fixed error reporting while adding vpn user"
This reverts commit d7b792c3f9.
2017-02-20 16:26:45 +05:30
Jayapal d7b792c3f9 CLOUDSTACK-9711: Fixed error reporting while adding vpn user 2017-02-20 15:07:30 +05:30
Anshul Gangwar 2fd28f2bff CLOUDSTACK-9691: Fixed unhandeled excetion in list snapshot command when
a primary store is deleted related to it
2017-02-20 11:30:02 +05:30
Rajani Karuturi 8bd33d3db6 Merge pull request #1952 from sgoeminn/CLOUDSTACK-9790
CLOUDSTACK-9790: fix NPE in case of Basic zone.This PR fixes the creation of a basic zone.
https://issues.apache.org/jira/browse/CLOUDSTACK-9790

* pr/1952:
  CLOUDSTACK-9790: fix NPE in case of Basic zone.

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-19 15:16:53 +05:30
Rajani Karuturi d84347ba8c Merge pull request #1838 from anshul1886/CLOUDSTACK-9682
CLOUDSTACK-9682: Block VM migration to a storage which is in maintainenece mode. If

the destination pool is in maintenance mode do not allow a volume to be migrated to
the storage pool. Fixed it for volume migration and vm migration with volume.

* pr/1838:
  CLOUDSTACK-9682: Block VM migration to a storage which is in maintainenece mode. If the destination pool is in maintenance mode do not allow a volume to be migrated to the storage pool. Fixed it for volume migration and vm migration with volume.

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-17 17:48:32 +05:30
Sigert Goeminne a01f7e76c3 CLOUDSTACK-9790: fix NPE in case of Basic zone. 2017-02-17 11:05:58 +01:00
nvazquez 3a6d98289c CLOUDSTACK-9539: Support changing Service offering for instance with VM Snapshots 2017-02-16 10:49:09 -03:00
Wei Zhou 0f054246b6 CLOUDSTACK-9789: Fix releasing secondary guest IP fails with associated static nat which is actually not used 2017-02-16 14:18:56 +01:00
Rajani Karuturi 238046fdaa Merge pull request #1834 from Accelerite/CLOUDSTACK-9679
CLOUDSTACK-9679:Allow master user to manage subordinate user uploaded template

* pr/1834:
  CLOUDSTACK-9679:Allow master user to manage subordinate user uploaded template

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-16 15:43:41 +05:30
Rajani Karuturi c3c9b8f38b Merge pull request #1747 from nvazquez/storageTags
CLOUDSTACK-9574: Redesign storage views## Part 1: Redesign storage tags
### Actual behavior

Primary storage tags are being saved as an entry on `storage_pool_details` with:
* name = TAG_NAME
* value = "true"

When a boolean property is defined in {{storage_pool_details}} and has value = "true", it is displayed as a tag.

![](https://issues.apache.org/jira/secure/attachment/12836196/PS-DETAILS.PNG "Screenshot 1 - Primary storage details")
![](https://issues.apache.org/jira/secure/attachment/12836195/PS.PNG "Screenshot 2 - Primary storage view")

### Goal

Redesign `Storage Tags` for Primary Storage view, to list only tags, as it is done in Host Tags (Hosts view).

## Part 2: Remove details from listImageStores API call response and UI

### Description
In Secondary Storage view we propose removing `Details` field, as `Setting` tab list details for a given image store. We also remove details from response on `listImageStores` API method

* pr/1747:
  CLOUDSTACK-9574: Redesign storage tags and remove details from listImageStores response and UI

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-16 12:30:15 +05:30
Rajani Karuturi c09a9f322e Merge pull request #1833 from Accelerite/CLOUDSTACK-9678
BUG-ID:CLOUDSTACK-9678listNetworkOfferings API is listing all the offerings which has same prefix in their name

* pr/1833:
  BUG-ID:CLOUDSTACK-9678 listNetworkOfferings API is listing all the offerings which has same prefix in their name

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-16 11:39:31 +05:30
Anshul Gangwar ca84fd4ffd CLOUDSTACK-8663: Fixed various issues to allow VM snapshots and volume
snapshots to exist together

Reverting VM to disk only snapshot in Xenserver corrupts VM

Stale NFS secondary storage on XS leads to volume creation failure from snapshot
2017-02-15 12:56:39 +05:30
Rajani Karuturi 9d8eebf68d Merge pull request #1939 from Accelerite/CLOUDSTACK-8886
CLOUDSTACK-8886: Limitations is listUsageRecords output, listUsageRecAs @kansal  is inactive created new branch and raised the PR. This is continuation of PR #858
This closes #858

Problem: Only domainid is returned by usageReports API call. In cloudstack documention it mentions "domain" as being in the usage response. The API should really be returning the domain as account information has both account and accountid.

Fix: Missing setDomainName at the time of creating response.

* pr/1939:
  CLOUDSTACK-8886: Limitations is listUsageRecords output, listUsageRecords does not return domain - Fixed and tests added

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-15 10:37:50 +05:30
Rajani Karuturi 13bfdd71e6 Merge pull request #1741 from swill/strongswanvpn
Updated StrongSwan VPN ImplementationThis PR is a merge of @jayapalu changes in #872 and the changes I had to make to get the functionality working.

I have done pretty extensive testing of this code so far and we are looking to be in pretty good shape.  One thing to note is that a `Diffie-Hellman` group **is required** in order for this feature to work correctly.  It is not highlighted in the tests below, but I have shown that the `PFS` is not required for this feature to work.  In #872 I have shown a more exhaustive set of tests of this code, but I have limited this set of tests to a recommended `IKE` and `ESP` configuration in order to reduce the noise and test the other areas of functionality.

**Test Results**
I am testing this functionality by creating two VPCs with VMs in each and creating a S2S VPN connection between the two VPCs. Then I SSH into a VM in one VPC and I ping the private IP of a VM in the other VPC. Then I tear it down and try a different configuration.

_Setup_

```
VPC 1                          VPC 2
=====                          =====
VPN Gateway                    VPN Gateway
VPN Customer Gateway           VPN Customer Gateway
VPN Connection        <--->    VPN Connection
 - Passive = True               - Passive = False
```

_Legend_
`SKIP` => At least one of the VPN Connections did not come up, so no test was run.
`OK` => The ping test was successful over the S2S VPN connection.
`FAIL` => The ping test failed over the S2S VPN connection.

`Passive` => Specifies if either the `<vpc_1> : <vpc_2>` sides of the VPN Connection is set to passive.
`Conn State` => Specifies the connection status of the `<vpc_1> : <vpc_2>` VPN Connection in the UI.
`Requires Reset` => If the ping test does not result in an `OK`, then a VPN Connection Reset is performed on either `<vpc_1> : <vpc_2>` sides of the VPN Connection based on which side is not showing `Connected`.  The results in the `Status` column is the final result after the reset is performed.

_Results_

```
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| Status | IKE & ESP            | DPD   | Encap | IKE Life | ESP Life | Passive       | Conn State                  | Requires Reset |
+========+======================+=======+=======+==========+==========+===============+=============================+================+
| OK     | aes128-sha1;modp1536 | True  | False | 86400    | 3600     | True : False  | Disconnected : Connected    | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| OK     | aes128-sha1;modp1536 | True  | True  | 86400    | 3600     | True : False  | Disconnected : Connected    | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| OK     | aes128-sha1;modp1536 | True  | False |          | 3600     | True : False  | Disconnected : Connected    | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| OK     | aes128-sha1;modp1536 | True  | False | 86400    |          | True : False  | Disconnected : Connected    | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| OK     | aes128-sha1;modp1536 | True  | False |          |          | True : False  | Disconnected : Connected    | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| OK     | aes128-sha1;modp1536 | True  | False | 86400    | 3600     | False : False | Connected : Connected       | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| OK     | aes128-sha1;modp1536 | True  | False | 86400    | 3600     | True : True   | Disconnected : Disconnected | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| OK     | aes128-sha1;modp1536 | True  | False | 86400    | 3600     | False : True  | Connected : Disconnected    | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| OK     | aes128-sha1;modp1536 | False | False | 86400    | 3600     | False : False | Connected : Connected       | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| OK     | aes128-sha1;modp1536 | False | False | 86400    | 3600     | True : False  | Disconnected : Connected    | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| OK     | aes128-sha1;modp1536 | False | False | 86400    | 3600     | True : True   | Disconnected : Disconnected | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| OK     | aes128-sha1;modp1536 | False | False | 86400    | 3600     | False : True  | Connected : Disconnected    | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| SKIP   | aes128-sha1          | True  | False | 86400    | 3600     | True : False  | Disconnected : Error        | True : False   |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| SKIP   | aes128-sha1          | False | False | 86400    | 3600     | True : False  | Disconnected : Error        | True : False   |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| FAIL   | aes128-sha1          | True  | False | 86400    | 3600     | True : True   | Disconnected : Disconnected | True : True    |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
| SKIP   | aes128-sha1          | True  | False | 86400    | 3600     | False : False | Connected : Error           | False : False  |
+--------+----------------------+-------+-------+----------+----------+---------------+-----------------------------+----------------+
```

* pr/1741:
  complete implementation of the StrongSwan VPN feature

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-14 17:59:17 +05:30
Rajani Karuturi 2aeca0d34f Merge release branch 4.9 to master
* 4.9:
  CLOUDSTACK-8896: allocated percentage of storage pool going beyond 100%
2017-02-14 14:45:32 +05:30
Jayapal ee726af53b CLOUDSTACK-9724: Fixed missing additional public ip on tier network with cleanup 2017-02-14 14:26:40 +05:30
Kshitij Kansal f17d27dd93 CLOUDSTACK-8886: Limitations is listUsageRecords output, listUsageRecords does not return domain - Fixed and tests added 2017-02-13 16:41:56 +05:30
Anshul Gangwar 8ef94819da CLOUDSTACK-9682: Block VM migration to a storage which is in maintainenece mode. If
the destination pool is in maintenance mode do not allow a volume to be migrated to
the storage pool. Fixed it for volume migration and vm migration with volume.
2017-02-13 15:29:52 +05:30
Rajani Karuturi bec9115a61 CLOUDSTACK-8896: allocated percentage of storage pool going beyond 100%
This issue occurs when a volume in Ready state is moved across storage
pools.

While finding if the storage pool has enough space, it has a check to
consider the size of non Ready volumes only. This is true if the volume
to be attached to a vm is in the same storage pool. But, if the volume
is in another storage pool and has to be moved to a vm's storage pool,
the size of the volume should be considered in doing the space check.

computing the asking size when volume is not in ready state or when the
volume is on a different storage pool.
2017-02-13 15:27:11 +05:30
Suresh Kumar Anaparti 0f35241aad CLOUDSTACK-8737: Removed the missed out-of-band VR reboot code, not required based on persistent VR changes. 2017-02-13 15:07:17 +05:30
Rajani Karuturi cc06c5189a CLOUDSTACK-8950 Hypervisor Parameter check is not performed for
registerTemplate and getUploadParamsForTemplate API's

Any string is allowed as hypervisor type from the api.
HypervisorType.getType() tries to validate with the enums and if nothing
matches, sets the type as None.

Added a check to not allow None hypervisor type when registering.
2017-02-13 15:07:06 +05:30
pallavi_dumbre be554d2cb6 BUG-ID:CLOUDSTACK-9678
listNetworkOfferings API is listing all the offerings which has same prefix in their name
2017-02-13 15:04:35 +05:30
Rajani Karuturi e02003d653 Merge pull request #844 from ustcweizhou/assignvm-master
[4.10] CLOUDSTACK-7985: assignVM in Advanced zone with Security GroupsThis commit contains the following changes:
(1) implementation of assignVM in Advanced zone with Security Groups
(2) keep the default nic on shared network when assignVM
(3) allow migrate vm from/to project;
(4) UI change for selecting account/project/network

* pr/844:
  CLOUDSTACK-7985: assignVM in Advanced zone with Security Groups
  CLOUDSTACK-7985: keep the default nic on shared network when assignVM
  CLOUDSTACK-7985: (1) allow migrate vm from/to project; (2) UI change for selecting account/project/network

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-09 11:54:40 +05:30
Suresh Kumar Anaparti da7148a13e CLOUDSTACK-9721: Remove deprecated/unused global configuration parameter - consoleproxy.loadscan.interval 2017-02-09 10:55:29 +05:30
Rajani Karuturi 25f1552e37 Merge release branch 4.9 to master
This closes #1644

* 4.9:
  CLOUDSTACK-4858 Honors the snapshot.backup.rightafter configuration variable Unhides snapshot.backup.rightafter from global configuration
2017-02-08 13:43:02 +05:30
Rajani Karuturi c101817d45 Merge pull request #1697 from myENA/feature/49_observe_snapshot_backup_rightafter
CLOUDSTACK-4858 Honors the snapshot.backup.rightafter configuration variable

Unhides snapshot.backup.rightafter from global configuration

If snapshot.backup.rightafter is set to false (defaults to true), snapshots are
not backed up to secondary storage.

This is the same as PR #1644 applied to 4.9, as per @jburwell

* pr/1697:
  CLOUDSTACK-4858 Honors the snapshot.backup.rightafter configuration variable Unhides snapshot.backup.rightafter from global configuration

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-08 12:34:17 +05:30
Rajani Karuturi e303baa1bf Merge pull request #1905 from nvazquez/expungeVmRefactor
CLOUDSTACK-9738: [Vmware] Optimize vm expunge process for instances with vm snapshots## Description
It was noticed that expunging instances with many vm snapshots took a look of time, as hypervisor received as many tasks as vm snapshots instance had, apart from the delete vm task. We propose a way to optimize this process for instances with vm snapshots by sending only one delete task to hypervisor, which will delete vm and its snapshots

## Use cases

1. deleteVMsnapohsot-> no changes to current behavior
2. destroyVM with expunge=false ->  no actions to VMsnaphsot is performed at the moment. When VM cleanup thread is executed it will perform the same sequence as (3). If instance is recovered before expunged by the cleanup thread it will remain intact with VMSnapshot chain present
3. destroyVM with expunge=true:
   * Vmsnaphsot is marked with removed timestamp and state = Expunging in DB
   * VM is deleted in HW

* pr/1905:
  CLOUDSTACK-9738: [Vmware] Optimize vm expunge process for instances with vm snapshots

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-08 12:28:09 +05:30
Rajani Karuturi 202b92f243 Merge pull request #1767 from nvazquez/userVmAndTemplatesDetails
CLOUDSTACK-9457: Allow retrieval and modification of VM and template details via API and UIJIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9457

### Goal
This PR proposes list/add/update/delete user vm and vm template details via API and UI.

### VM UI Screenshots
Setting tab is added on Instances page. Actions allowed are: Add/Edit/Remove
![](https://issues.apache.org/jira/secure/attachment/12844858/VMDetails1.JPG "Screenshot 1 - VM Details")

Settings tab is only shown if instance is Stopped:
![](https://issues.apache.org/jira/secure/attachment/12844859/VMDetailsRunning.JPG "Screenshot 2 - VM Details Hidden Running VM")
![](https://issues.apache.org/jira/secure/attachment/12844860/VMDetailsStopped.JPG "Screenshot 3 - VM Details Stopped VM")

### Templates UI Screenshots
Setting tab is added on Templates page. Actions allowed are: Add/Edit/Remove:
![](https://issues.apache.org/jira/secure/attachment/12844857/TemplateDetails1.JPG "Screenshot 4 - Template Details")

* pr/1767:
  CLOUDSTACK-9457: Allow retrieval and modification of VM and template details via API and UI

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-02-08 12:12:37 +05:30
nvazquez 13ccbda10e CLOUDSTACK-9574: Redesign storage tags and remove details from listImageStores response and UI 2017-02-07 17:50:09 -03:00
nvazquez 6ce6cf67f0 CLOUDSTACK-9738: [Vmware] Optimize vm expunge process for instances with vm snapshots 2017-02-06 23:39:01 -03:00
Rajani Karuturi 122c27b338 Merge release branch 4.9 to master
* 4.9:
  CLOUDSTACK-8805: Domains become inactive automatically. Handled the '%' case by replacing that with a literal character rather than a wildcard character.
2017-02-07 06:24:02 +05:30
Will Stevens f045d65b90 complete implementation of the StrongSwan VPN feature 2017-02-02 16:18:06 -05:00
Jayant Patil b468fde987 CLOUDSTACK-9768: Time displayed for events in UI is incorrect 2017-02-02 12:59:25 +05:30
Nitesh Sarda f8ad3e8115 CLOUDSTACK-9766 : Executing deleteSnapshot api with already deleted snapshot does not throw any exception or failure message 2017-02-01 11:59:45 +05:30
Rajani Karuturi 7233ac37cd Merge pull request #977 from ustcweizhou/vm-snapshot
[4.10] CLOUDSTACK-8746: VM Snapshotting implementation for KVM

* pr/977:
  Fixes for testing VM Snapshots on KVM. Related to PR 977
  CLOUDSTACK-8746: vm snapshot implementation for KVM

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2017-01-31 05:58:56 +05:30
Wido den Hollander 84e496b4f9
CLOUDSTACK-676: IPv6 Basic Security Grouping for KVM
This commit implements basic Security Grouping for KVM in
Basic Networking.

It does not implement full Security Grouping yet, but it does:
- Prevent IP-Address source spoofing
- Allow DHCPv6 clients, but disallow DHCPv6 servers
- Disallow Instances to send out Router Advertisements

The Security Grouping allows ICMPv6 packets as described by RFC4890
as they are essential for IPv6 connectivity.

Following RFC4890 it allows:
- Router Solicitations
- Router Advertisements (incoming only)
- Neighbor Advertisements
- Neighbor Solicitations
- Packet Too Big
- Time Exceeded
- Destination Unreachable
- Parameter Problem
- Echo Request

ICMPv6 is a essential part of IPv6, without it connectivity will break or be very
unreliable.

For now it allows any UDP and TCP packet to be send in to the Instance which
effectively opens up the firewall completely.

Future commits will implement Security Grouping further which allows controlling UDP and TCP
ports for IPv6 like can be done with IPv4.

Regardless of the egress filtering (which can't be done yet) it will always allow outbound DNS
to port 53 over UDP or TCP.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2017-01-26 15:36:08 +01:00
Wido den Hollander c0e7766713
CLOUDSTACK-9359: IPv6 for Basic Networking with KVM
This commit adds the initial functionality for IPv6 in Basic Networking.

When a valid IPv6 CIDR is configured for the POD/VLAN the DirectPodBasedNetworkGuru
will use the EUI-64 calculation to calculate the IPv6 Address the Instance will obtain.

For this it is required that the physical routers in the Layer 2 network (POD/VLAN) send out
Router Advertisements with the same subnet as configured in CloudStack.

A example subnet could be 2001:db8::/64

Using radvd a Linux Router could send out Router Advertisements using this configuration:

  interface eth0
  {

	MinRtrAdvInterval 5;
	MaxRtrAdvInterval 60;
	AdvSendAdvert on;
        AdvOtherConfigFlag off;
        IgnoreIfMissing off;

	prefix 2001:db8::/64 {
	};

        RDNSS 2001:db8:ffff::53 {
        };
  };

A Instance with MAC Address 06:7a:88:00:00:8b will obtain IPv6 address 2001:db8:100::47a:88ff:fe00:8b

Both Windows, Linux and FreeBSD use the same calculation for their IPv6 Addresses, this is specified
in RFC4862 (IPv6 Stateless Address Autoconfiguration).

Under Linux it is mandatory that IPv6 Privacy Extensions are disabled:

$ sysctl -w net.ipv6.conf.all.use_tempaddr=0

Windows should be configured to use the MAC Address as the identifier for the EUI-64/SLAAC calculation.

$ netsh interface ipv6 set privacy state=disabled store=persistent
$ netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent

The IPv6 address is stored in the 'nics' table and is then returned by the API and will be shown in the UI.

Searching for a conflicting IPv6 Address it NOT required as each IPv6 address is based on the MAC Address
of the Instance and therefor unique.

Security Grouping has not been implemented yet and will follow in a upcoming commit.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2017-01-26 15:17:33 +01:00
Wei Zhou a2428508e2 CLOUDSTACK-8746: vm snapshot implementation for KVM
(1) add support to create/delete/revert vm snapshots on running vms with QCOW2 format
(2) add new API to create volume snapshot from vm snapshot
(3) delete metadata of vm snapshots before stopping/migrating and recover vm snapshots after starting/migrating
(4) enable deleting of VM snapshot on stopped vm or vm snapshot is not listed in qcow2 image.
(5) enable smoke tests for vmsnaphsots on KVM
2017-01-24 21:47:30 +01:00
Wei Zhou 2ec3ba36bd CLOUDSTACK-9356: FIX Cannot add users in VPC VPN 2017-01-12 08:00:44 +01:00
Koushik Das bc86baeaa0 Signed-off-by: Koushik Das <koushik@apache.org> 2017-01-10 14:46:52 +05:30
Jayapal 9805f0ed5a CLOUDSTACK-9711: Fixed error reporting while adding vpn user 2016-12-28 15:22:23 +05:30
nvazquez e8049af153 CLOUDSTACK-9457: Allow retrieval and modification of VM and template details via API and UI 2016-12-27 23:33:50 -03:00
Wei Zhou ab0d04d10e CLOUDSTACK-7985: assignVM in Advanced zone with Security Groups 2016-12-27 12:02:50 +01:00
Wei Zhou 3f16740d82 CLOUDSTACK-7985: keep the default nic on shared network when assignVM 2016-12-27 11:58:25 +01:00
Wei Zhou a1d2fba1d2 CLOUDSTACK-7985: (1) allow migrate vm from/to project; (2) UI change for selecting account/project/network 2016-12-27 11:58:25 +01:00
Nitin Kumar Maharana 397a7328ab CLOUDSTACK-8805: Domains become inactive automatically.
Handled the '%' case by replacing that with a literal character rather than a wildcard character.
2016-12-27 16:09:27 +05:30
Anshul Gangwar d206336e1a CLOUDSTACK-9705: Unauthenticated API allows Admin password reset
Now, Updating the password via UpdateUser API is not allowed via integration port
2016-12-26 12:12:39 +05:30
Rohit Yadav a9f45dfc5f
Merge branch '4.9' 2016-12-23 17:50:42 +05:30
Rohit Yadav 746998d162 Merge pull request #1811 from sudhansu7/CLOUDSTACK-9649
CLOUDSTACK-9649: In the management server log there is an error
ISSUE
============
In the management server log there is an error

2016-10-01 00:07:31,670 ERROR [c.c.h.v.r.VmwareResource] (DirectAgent-417:ctx-e8c89b3f strmg-esx-01, cmd: GetRouterAlertsCommand) (logid:7beb3819) Command failed due to Exception: java.io.IOException
Message: There was a problem while connecting to 0.0.0.0:3922

In case of basic zone and VMWare ESXi host, the NIC 2 always gets 0.0.0.0 as IP address. Looks like we are generating an error for connecting through this invalid IP.

2016-10-01 04:37:31,680 DEBUG [c.c.a.m.AgentManagerImpl] (RouterStatusMonitor-1:ctx-8880f9c8) (logid:946838b8) Details from executing class com.cloud.agent.api.routing.GetRouterAlertsCommand: Command failed due to Exception: java.io.IOException
Message: There was a problem while connecting to 0.0.0.0:3922

2016-10-01 04:37:31,680 WARN  [c.c.n.r.VirtualNetworkApplianceManagerImpl] (RouterStatusMonitor-1:ctx-8880f9c8) (logid:946838b8) Unable to get alerts from router r-4-VM Command failed due to Exception: java.io.IOException
Message: There was a problem while connecting to 0.0.0.0:3922

2016-10-01 04:37:31,682 DEBUG [c.c.n.ExternalDeviceUsageManagerImpl] (ExternalNetworkMonitor-1:ctx-913c7bae) (logid:1b926a60) External devices stats collector is running...

Root Cause:
As Link local is not used in basic zone mode (vmware). 0.0.0.0 is just shown as a placeholder address. In getRouterAlerts before sending GetRouterAlertsCommand added check for ip and skip the command if ip is '0.0.0.0'.

* pr/1811:
  CLOUDSTACK-9649: In the management server log there is an error  related to 0.0.0.0 IP address

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-22 13:30:42 +05:30
Rohit Yadav c7b0345ed2 Merge pull request #1804 from Accelerite/CLOUDSTACK-9639
CLOUDSTACK-9639: Unable to create shared network with vLan isolationDescription:
=========
Create shared network fails with Error.
While creating a shared network it fails to create with Error "The new IP range you have specified has overlapped with the guest network in the zone: XYZ. Please specify a different gateway/netmask"

Steps to Reproduce:
===============
1. Create an isolated network with a subnet eg: 10.1.1.0/24
2. Create a shared network with the same subnet but different VLAN, we should observe this issue.

Expected Behaviour:
===============
It shouldn't restrict the creation of the guest network with the same subnet as long as they are segmented by VLAN.

ACTUAL BEHAVIOR:
===============
It doesn't allow the creation of shared guest networks if there is any isolated guest network using the same subnet although it allows using the same subnet in multiple shared networks.

Cause:
=====
The issue is happening because, when Shared network is getting created we are checking if there is any guest network already implemented with the same CIDR and throwing the error without checking if they are having same VLAN also. Creating the same CIDR shared network with different VLAN should be allowed.

Fix:
===
When creating a shared network, if there is any existing guest network with the same CIDR, we check if they are having the same VLAN, if they are in same VLAN, then we don't allow creating it. If they are in the same CIDR with different VLAN then we allowing to create the network.

* pr/1804:
  CLOUDSTACK-9639: Unable to create shared network with vLan isolation

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-22 13:29:59 +05:30
Rohit Yadav 60c4fce690 Merge pull request #1782 from jayapalu/CLOUDSTACK-9617
CLOUDSTACK-9617: Fixed enabling remote access after PF configured on Enabling Remote access Vpn Fails when there is a portforwarding rule of the reserved ports ( 1701 , 500 , 4500) under TCP protocol on Source nat IP

* pr/1782:
  CLOUDSTACK-9617: Fixed enabling remote access after PF or LB  configured on vpn tcp ports

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-22 13:09:19 +05:30
Rohit Yadav 5b7f35c39f
Merge branch '4.9' 2016-12-22 10:02:24 +05:30
Rohit Yadav 743dd4249c Merge pull request #1839 from shapeblue/CLOUDSTACK-9683
CLOUDSTACK-9683: system.vm.default.hypervisor will pin the hypervisor for VR too with this fix

* pr/1839:
  CLOUDSTACK-9683: system.vm.default.hypervisor will pin the hypervisor for VR too with this fix

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-22 10:01:52 +05:30
Rohit Yadav d63c74a7d9
Merge branch '4.9' 2016-12-22 00:16:41 +05:30
Rohit Yadav 6f98fcd3a5 CLOUDSTACK-9688: Fix failing smoke tests
Fixes failing smoke tests due to enviroment issues or corner cases:
- Fixes NPE in Template Manager

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-21 11:45:20 +05:30
Abhinandan Prateek ca8a00442c CLOUDSTACK-9683: system.vm.default.hypervisor will pin the hypervisor for VR too with this fix 2016-12-19 13:06:02 +05:30
pdumbre 87849c3964 CLOUDSTACK-9679:Allow master user to manage subordinate user uploaded template 2016-12-16 19:00:26 +05:30
Bharat Kumar c6e9d82595 CLOUDSTACK-8857 listProjects doesn't return tags vmstopped or vmrunning when their value is zero 2016-12-12 13:36:46 +05:30
Jayapalu d2ca30a133 CLOUDSTACK-9617: Fixed enabling remote access after PF or LB configured on vpn tcp ports 2016-12-12 11:59:33 +05:30
Rohit Yadav 17653a86fa
Merge branch '4.9' 2016-12-10 01:29:16 +05:30
Rohit Yadav c89198f4c6 Merge pull request #1796 from sudhansu7/CLOUDSTACK-9626
CLOUDSTACK-9626: Instance fails to start after unsuccesful computeISSUE
============
Instance fails to start after unsuccesful compute offering upgrade.

TROUBLESHOOTING
==================
We observed VM instance get compute values "cpuNumber","cpuSpeed","memory" removed from table "user_vm_details", which cause instance fail to startup next time on XenServer

`mysql> select * from user_vm_details where vm_id=10;
--------------------------------------------------------------------------------------------------
id 	vm_id 	name 	value 	display

--------------------------------------------------------------------------------------------------
218 	10 	platform 	viridian:true;acpi:1;apic:true;pae:true;nx:true 	1
219 	10 	hypervisortoolsversion 	xenserver56 	1
220 	10 	Message.ReservedCapacityFreed.Flag 	true 	1

--------------------------------------------------------------------------------------------------
3 rows in set (0.00 sec)`

`2016-11-29 06:49:03,667 ERROR [c.c.a.ApiAsyncJobDispatcher] (API-Job-Executor-12:ctx-49c25b1d job-125) (logid:114a2f1b) Unexpected exception while executing org.apache.cloudstack.api.command.admin.vm.ScaleVMCmdByAdmin
java.lang.NullPointerException
	at com.cloud.vm.UserVmManagerImpl.upgradeRunningVirtualMachine(UserVmManagerImpl.java:1664)
	at com.cloud.vm.UserVmManagerImpl.upgradeVirtualMachine(UserVmManagerImpl.java:1631)
	at com.cloud.vm.UserVmManagerImpl.upgradeVirtualMachine(UserVmManagerImpl.java:1561)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:106)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
	at com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:51)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at com.sun.proxy.$Proxy197.upgradeVirtualMachine(Unknown Source)
	at org.apache.cloudstack.api.command.admin.vm.ScaleVMCmdByAdmin.execute(ScaleVMCmdByAdmin.java:48)
	at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:150)
	at com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:108)
	at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:554)
	at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49)
	at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
	at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
	at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
	at org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46)
	at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:502)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)`

REPRO STEPS
==================
1. Set global setting enable.dynamic.scale.vm to true
2. Create a custom Compute Offerings A
3. Create a VM instance apply A, ie. cpuNumber=1,cpuSpeed=1000,memory=512M
4. Create another custom Compute Offerings B
5. Change service offering to B, ie. cpuNumber=2,cpuSpeed=2000,memory=4096M (ensure 4 times over previous memory size), then you will encounter scaling failed
6. Stop VM instance , you will never startup again

EXPECTED BEHAVIOR
==================
Succeed Startup VM instance

ACTUAL BEHAVIOR
==================
Fail to start instance

RCA:
The ROLLBACK does not take care of restoring old service offering details. In case failure we are removing the new service offering details but restoring old service offering details is missing.

Before Fix:
`user_vm_details before upgrade.
mysql> select * from user_vm_details where vm_id =9;
+-----+-------+------------------------------------+-------------------------------------------------+---------+
| id  | vm_id | name                               | value                                           | display |
+-----+-------+------------------------------------+-------------------------------------------------+---------+
| 118 |     9 | platform                           | viridian:true;acpi:1;apic:true;pae:true;nx:true |       1 |
| 119 |     9 | hypervisortoolsversion             | xenserver56                                     |       1 |
| 120 |     9 | Message.ReservedCapacityFreed.Flag | false                                           |       1 |
| 121 |     9 | cpuNumber                          | 1                                               |       1 |
| 122 |     9 | cpuSpeed                           | 1000                                            |       1 |
| 123 |     9 | memory                             | 256                                             |       1 |
+-----+-------+------------------------------------+-------------------------------------------------+---------+
6 rows in set (0.00 sec)

user_vm_details after unsuccessful upgrade.
mysql> select * from user_vm_details where vm_id =9;
+-----+-------+------------------------------------+-------------------------------------------------+---------+
| id  | vm_id | name                               | value                                           | display |
+-----+-------+------------------------------------+-------------------------------------------------+---------+
| 133 |     9 | platform                           | viridian:true;acpi:1;apic:true;pae:true;nx:true |       1 |
| 134 |     9 | hypervisortoolsversion             | xenserver56                                     |       1 |
| 135 |     9 | Message.ReservedCapacityFreed.Flag | false                                           |       1 |
+-----+-------+------------------------------------+-------------------------------------------------+---------+
3 rows in set (0.00 sec)`

After fix:
`
mysql> select * from user_vm_details where vm_id =9;
+-----+-------+------------------------------------+-------------------------------------------------+---------+
| id  | vm_id | name                               | value                                           | display |
+-----+-------+------------------------------------+-------------------------------------------------+---------+
| 166 |     9 | cpuNumber                          | 1                                               |       1 |
| 167 |     9 | platform                           | viridian:true;acpi:1;apic:true;pae:true;nx:true |       1 |
| 168 |     9 | cpuSpeed                           | 1000                                            |       1 |
| 169 |     9 | Message.ReservedCapacityFreed.Flag | false                                           |       1 |
| 170 |     9 | memory                             | 256                                             |       1 |
| 171 |     9 | hypervisortoolsversion             | xenserver56                                     |       1 |
+-----+-------+------------------------------------+-------------------------------------------------+---------+
6 rows in set (0.00 sec)
`

* pr/1796:
  CLOUDSTACK-9626: Instance fails to start after unsuccesful compute offering  upgrade.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-09 23:52:47 +05:30
Sudhansu 542a2112ba CLOUDSTACK-9626: Instance fails to start after unsuccesful compute
offering  upgrade.
2016-12-09 17:06:13 +05:30
Koushik Das d6b41d9ac2 CLOUDSTACK-9660: NPE while destroying volumes during 1000 VMs deploy and destroy tests
NPE is seen as VM destroy and storage cleanup threads try to remove the same root volume. Fix is to handle
only non-root volumes in storage cleanup thread, root volumes will be handled as part of VM destroy.
2016-12-09 15:49:39 +05:30
Bharat Kumar bddd7c61a7 CLOUDSTACK-8856 Primary Storage Used(type tag with value 2) related tag is not showing in listCapacity api response.
Conflicts:
	server/src/com/cloud/server/ManagementServerImpl.java
2016-12-09 15:42:22 +05:30
Nitin Kumar Maharana 25efc1acd6 CLOUDSTACK-9639: Unable to create shared network with vLan isolation 2016-12-09 12:55:31 +05:30
Rohit Yadav 6bb019ab63
Merge branch '4.9' 2016-12-09 00:34:26 +05:30
Rohit Yadav 7c27bf3c90
Merge branch '4.8' into 4.9 2016-12-09 00:33:46 +05:30
Rohit Yadav 8769597523 Merge pull request #1763 from sudhansu7/CLOUDSTACK-9594
CLOUDSTACK-9594: API "list templates templatefilter=all" reveals allAPI "list templates templatefilter=all" reveals all templates.
Using a "list templates templatefilter=all" API call any domain admin can see all templates of all domains in ACS. Information returned includes the account and domain of the template's owner.

The template data shows what that VM is using and any hints from the label. This would give an advantage in what attack vectors to use. The account and domain can possibly be used in brute force attack to guess the password and login information.

Test Scenario:

created two accounts in different domain.

```
mysql> select account_id,username,api_key from user where id in (4,5);
+------------+-----------+----------------------------------------------------------------------------------------+
| account_id | username  | api_key                                                                                |
+------------+-----------+----------------------------------------------------------------------------------------+
|          4 | sudadmin1 | 3qeSuWadNzUFZ_i6c6zbwafjM3Eo0TWpkHw3En9jNsg5Ditk2N18DnbbL2quBYQ7FsdXQ8rwxbyFlE8vyUTwEg |
|          5 | sudadmin  | N5uHVOrg1Ek1F1a_5OXTz4WpLG3ewHqcbPUSBjQ-2CTJdxmUe2go0S8fyqH4Np0scYiehYg2KqthZXCWEyKx1A |
+------------+-----------+----------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> select account_name,domain_id from account where id in (4,5);
+--------------+-----------+
| account_name | domain_id |
+--------------+-----------+
| sudadmin     |         2 |
| sudadmin1    |         3 |
+--------------+-----------+
2 rows in set (0.00 sec)
```

User sudadmin registered a private template named 'Debian'.

http://10.147.59.107:8080/client/api?apikey=N5uHVOrg1Ek1F1a_5OXTz4WpLG3ewHqcbPUSBjQ-2CTJdxmUe2go0S8fyqH4Np0scYiehYg2KqthZXCWEyKx1A&command=listTemplates&templatefilter=self&signature=ODt7zEWCLL20z1FT%2FIkd1molRaM%3D

listTemplate with "templatefilter=self", lists the newly registered template.

```
<listtemplatesresponse cloud-stack-version="4.8.0">
<count>1</count>
	<template>
		<id>51026d32-60ee-4e25-8ffd-3fa3c57fc14c</id>
		<name>Debian</name>
		<displaytext>Debian</displaytext>
		<ispublic>false</ispublic>
		<created>2016-11-10T17:18:00-0500</created>
		<isready>true</isready>
		<passwordenabled>false</passwordenabled>
		<format>VHD</format>
		<isfeatured>false</isfeatured>
		<crossZones>false</crossZones>
		<ostypeid>38c1fc84-a687-11e6-a8c8-06f654000053</ostypeid>
		<ostypename>Debian GNU/Linux 7(64-bit)</ostypename>
		<account>sudadmin</account>
		<zoneid>25fa5b74-d4c2-4bad-8e3a-ceffcd10985e</zoneid>
		<zonename>z1</zonename>
		<status>Download Complete</status>
		<size>2621440000</size>
		<templatetype>USER</templatetype>
		<hypervisor>XenServer</hypervisor>
		<domain>SUDDOMAIN</domain>
		<domainid>a350c00d-4048-4876-ae09-74ad4b7bb28c</domainid>
		<isextractable>false</isextractable>
		<checksum>e87a6d7291b999c92baa9623c9c3c207</checksum>
		<details>{hypervisortoolsversion=xenserver61}</details>
		<sshkeyenabled>false</sshkeyenabled>
		<isdynamicallyscalable>false</isdynamicallyscalable>
	</template>
</listtemplatesresponse>

```

User: sudadmin1
listTemplate with "templatefilter=self" does not list any template.

http://10.147.59.107:8080/client/api?apikey=3qeSuWadNzUFZ_i6c6zbwafjM3Eo0TWpkHw3En9jNsg5Ditk2N18DnbbL2quBYQ7FsdXQ8rwxbyFlE8vyUTwEg&command=listTemplates&templatefilter=self&signature=RfKsdg3RxDkqJotbTlHU2RdbdPA%3D

`<listtemplatesresponse cloud-stack-version="4.8.0"/>
`

NO TEMPLATES

**listTemplate with "templatefilter=all" lists all templates**

http://10.147.59.107:8080/client/api?apikey=3qeSuWadNzUFZ_i6c6zbwafjM3Eo0TWpkHw3En9jNsg5Ditk2N18DnbbL2quBYQ7FsdXQ8rwxbyFlE8vyUTwEg&command=listTemplates&templatefilter=all&signature=l5tubfyABT67d1jY702dvtZODbc%3D

Result:

```
<listtemplatesresponse cloud-stack-version="4.8.0">
<count>3</count>
	<template>
		<id>38451a02-a687-11e6-a8c8-06f654000053</id>
		<name>CentOS 5.6(64-bit) no GUI (XenServer)</name>
		<displaytext>CentOS 5.6(64-bit) no GUI (XenServer)</displaytext>
		<ispublic>true</ispublic>
		....
	</template>
	<template>
		<id>51026d32-60ee-4e25-8ffd-3fa3c57fc14c</id>
		<name>Debian</name>
		<displaytext>Debian</displaytext>
		<ispublic>false</ispublic>
		<created>2016-11-10T17:18:00-0500</created>
		<isready>true</isready>
		<passwordenabled>false</passwordenabled>
		<format>VHD</format>
		<isfeatured>false</isfeatured>
		<crossZones>false</crossZones>
		<ostypeid>38c1fc84-a687-11e6-a8c8-06f654000053</ostypeid>
		<ostypename>Debian GNU/Linux 7(64-bit)</ostypename>
		**<account>sudadmin</account>**
		<zoneid>25fa5b74-d4c2-4bad-8e3a-ceffcd10985e</zoneid>
		<zonename>z1</zonename>
		<size>2621440000</size>
		<templatetype>USER</templatetype>
		<hypervisor>XenServer</hypervisor>
		<domain>SUDDOMAIN</domain>
		<domainid>a350c00d-4048-4876-ae09-74ad4b7bb28c</domainid>
		<isextractable>false</isextractable>
		<checksum>e87a6d7291b999c92baa9623c9c3c207</checksum>
		<details>{hypervisortoolsversion=xenserver61}</details>
		<sshkeyenabled>false</sshkeyenabled>
		<isdynamicallyscalable>false</isdynamicallyscalable>
	</template>
	<template>
		<id>5f6af7bb-d965-4b9b-ab45-6d455b0d6bbe</id>
		<name>SystemVM Template (XenServer)</name>
		<displaytext>SystemVM Template (XenServer)</displaytext>
		<ispublic>false</ispublic>
		.....
	</template>
</listtemplatesresponse>

```

**After Fix:**

http://10.147.59.107:8080/client/api?apikey=3qeSuWadNzUFZ_i6c6zbwafjM3Eo0TWpkHw3En9jNsg5Ditk2N18DnbbL2quBYQ7FsdXQ8rwxbyFlE8vyUTwEg&command=listTemplates&templatefilter=all&signature=l5tubfyABT67d1jY702dvtZODbc%3D

```
<listtemplatesresponse cloud-stack-version="4.8.0">
<count>1</count>
	<template>
		<id>38451a02-a687-11e6-a8c8-06f654000053</id>
		<name>CentOS 5.6(64-bit) no GUI (XenServer)</name>
		<displaytext>CentOS 5.6(64-bit) no GUI (XenServer)</displaytext>
		<ispublic>true</ispublic>
		<created>2016-11-10T09:32:44-0500</created>
		<isready>true</isready>
		<passwordenabled>false</passwordenabled>
		<format>VHD</format>
		<isfeatured>true</isfeatured>
		<crossZones>true</crossZones>
		<ostypeid>38a2bfd6-a687-11e6-a8c8-06f654000053</ostypeid>
		<ostypename>CentOS 5.6 (64-bit)</ostypename>
		<account>system</account>
		<zoneid>25fa5b74-d4c2-4bad-8e3a-ceffcd10985e</zoneid>
		<zonename>z1</zonename>
		<size>21474836480</size>
		<templatetype>BUILTIN</templatetype>
		<hypervisor>XenServer</hypervisor>
		<domain>ROOT</domain>
		<domainid>383e0ea6-a687-11e6-a8c8-06f654000053</domainid>
		<isextractable>true</isextractable>
		<checksum>905cec879afd9c9d22ecc8036131a180</checksum>
		<sshkeyenabled>false</sshkeyenabled>
		<isdynamicallyscalable>true</isdynamicallyscalable>
	</template>
</listtemplatesresponse>

```

Bug has been fixed considering below points
1. templatefilter=all or isofilter=all is applicable only to admin and domain admin.
2. With templatefilter=all or isofilter=all below are the visiblity of templates in system.
- admin should be able to see all templates/iso in system.
- domain admin should be able to see all public template and templates under its domain tree (including sub domain).
- domain admin in a project context should be able to see all public templates and templates registered
as project account and templates which are shared(using updateTemplatePermission api) with project account.

Also Modified "test/integration/component/test_escalation_listTemplateDomainAdmin.py"
This marvin test was written for this scenario but for the second account "templatefilter=all" is not used.

* pr/1763:
  CLOUDSTACK-9594: reverted changes  introduced in  CLOUDSTACK-9376
  CLOUDSTACK-9594: API "list templates templatefilter=all" reveals all templates of all domains

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-09 00:31:09 +05:30
Rohit Yadav 11dd9fb1ca
Merge branch '4.9' 2016-12-08 17:18:46 +05:30
Rohit Yadav f70428a232 Merge pull request #1805 from sudhansu7/CLOUDSTACK-9637
CLOUDSTACK-9637: Template create from snapshot does not populate vm_t**ISSUE**
============
Template create from snapshot does not populate vm_template_details

**REPRO STEPS**
==================
1. Register a template A and specify property:
Root disk controller: scsi
NIC adapter type: E1000
Keyboard type: us

2. Create a vm instance from template A

3. Take volume snapshot for vm instance

4. Delete VM instance

5. Switch to "Storage->Snapshots", convert snapshot to a template B

6. Observe template B does not inherit property from template A, the table vm_template_details is empty

**SOLUTION**: Retrieve and add source template details to VMTemplateVO.

Before Fix:

```

mysql> select id,name,source_template_id from vm_template where id=202;
+-----+--------+--------------------+
| id  | name   | source_template_id |
+-----+--------+--------------------+
| 202 | Debian |               NULL |
+-----+--------+--------------------+
1 row in set (0.00 sec)

mysql> select * from vm_template_details where template_id=202;
+----+-------------+--------------------+-------+---------+
| id | template_id | name               | value | display |
+----+-------------+--------------------+-------+---------+
|  1 |         202 | keyboard           | us    |       1 |
|  2 |         202 | nicAdapter         | E1000 |       1 |
|  3 |         202 | rootDiskController | scsi  |       1 |
+----+-------------+--------------------+-------+---------+
3 rows in set (0.00 sec)

mysql> select id,name,source_template_id from vm_template where source_template_id=202;
+-----+----------------+--------------------+
| id  | name           | source_template_id |
+-----+----------------+--------------------+
| 203 | derived-debian |                202 |
+-----+----------------+--------------------+
1 row in set (0.00 sec)

mysql> select * from vm_template_details where template_id=203;
Empty set (0.00 sec)

After Fix:

mysql> select id,name,source_template_id from vm_template where source_template_id=202;
+-----+--------------------------+--------------------+
| id  | name                     | source_template_id |
+-----+--------------------------+--------------------+
| 203 | derived-debian           |                202 |
| 204 | debian-derived-after-fix |                202 |
+-----+--------------------------+--------------------+
2 rows in set (0.00 sec)

mysql> select * from vm_template_details where template_id=204;
+----+-------------+--------------------+-------+---------+
| id | template_id | name               | value | display |
+----+-------------+--------------------+-------+---------+
|  4 |         204 | keyboard           | us    |       1 |
|  5 |         204 | nicAdapter         | E1000 |       1 |
|  6 |         204 | rootDiskController | scsi  |       1 |
+----+-------------+--------------------+-------+---------+
3 rows in set (0.00 sec)

```

**Marvin Test :** test_template_from_snapshot_with_template_details.py

**Result:**
```
test_01_create_template_snampshot (integration.component.test_template_from_snapshot_with_template_details.TestCreateTemplate) ... === TestName: test_01_create_template_snampshot | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 1 test in 864.523s

OK
```

* pr/1805:
  CLOUDSTACK-9637: Template create from snapshot does not populate vm_template_details

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-08 17:14:52 +05:30
Rohit Yadav 0eb1069bbf Merge pull request #1618 from greenqloud/pr-return-os-info-snapshots
[CLOUDSTACK-9643] Now returning os info with the list snapshot responseThis commit adds the ID and display name of the OS on the volume.

* pr/1618:
  CLOUDSTACK-9643: Now returning os info with the list snapshot response

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-08 00:26:37 +05:30
Rohit Yadav 136a0ca949 Merge pull request #1622 from greenqloud/pr-template-bits
[CLOUDSTACK-9644] Adding missing bits field to TemplateResponseThis pull request adds a bits field for template size, and sets it equal to ISO size.

* pr/1622:
  CLOUDSTACK-9644: Adding missing bits field to TemplateResponse

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-08 00:20:41 +05:30
Rohit Yadav 58317ebd14
Merge branch '4.9' 2016-12-08 00:18:56 +05:30
Rohit Yadav de7a06efec Merge pull request #1809 from Accelerite/CLOUDSTACK-9646
CLOUDSTACK-9646: No usage is generated for uploaded templates/volumes from localpublished usage events on successful upload of template or volume.

* pr/1809:
  CLOUDSTACK-9646: No usage is generated for uploaded templates/volumes from local

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-08 00:17:40 +05:30
Frank Maximus 4c91c9c519 CLOUDSTACK-9403: Support for shared networks in Nuage VSP plugin
BUG-ID: CLOUDSTACK-9403
Co-Authored-By: Prashanth Manthena <prashanth.manthena@nuagenetworks.net>
Co-Authored-By: Rahul Singal <rahul.singal@nuagenetworks.net>
Co-Authored-By: Sigert Goeminne <sigert.goeminne@nuagenetworks.net>
Co-Authored-By: Nick Livens <nick.livens@nuagenetworks.net>
2016-12-07 10:03:28 +01:00
Rohit Yadav 70c79ad13c
Merge branch '4.9' 2016-12-07 01:35:56 +05:30
Sudhansu 7059f9e12d CLOUDSTACK-9594: reverted changes introduced in CLOUDSTACK-9376 2016-12-06 23:17:37 +05:30
Rohit Yadav abfcd5b95f CLOUDSTACK-9632: Upgrade bouncy castle to version 1.55
- Upgrades Maven dependency version to v1.55
- Fixes bountycastle usages and issues
- Adds timeout to jetty/annotation scanning
- Fixes servlet issue, uses servlet 3.1.0
- Downgrade javassist used by reflections to fix annotation process errors
- Make console-proxy-rdp bc dependency same as rest of the codebase
- Picks up PR #1510 by Daan

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-06 17:24:24 +05:30
Rajani Karuturi aed59433a2 CLOUDSTACK-9646: No usage is generated for uploaded templates/volumes from local
published usage events on successful upload of template or volume.
2016-12-05 10:51:23 +05:30
Sudhansu 545a214a42 CLOUDSTACK-9637: Template create from snapshot does not populate vm_template_details
Summary: Retrieve and add source template details to VMTemplateVO.
2016-12-03 18:45:08 +05:30
Sudhansu 15eab829c7 CLOUDSTACK-9649: In the management server log there is an error
related to 0.0.0.0 IP address

Added guest ip of VR as control ip for a Basic zone with VMware.
2016-12-03 10:25:53 +05:30
Koushik Das 97ffe0711e CLOUDSTACK-9650: Allow starting VMs regardless of cpu/memory cluster.disablethreshold setting
Introduced a global configuration flag 'cluster.threshold.enabled'. By default the flag is true.
If the value is false, then a VM can be started in a cluster even if the cluster thresholds are
crossed. However, for a new VM deployment the cluster threshold will always be honoured.
2016-12-02 23:08:32 +05:30
Sudhansu 6314367eba CLOUDSTACK-9647: NIC adapter type becomes e1000 , even after changing the global parameter
"vmware.systemvm.nic.device.type" to vmxnet3 for VPC VR

Added NicAdapter details in PlugNicCommmand.
2016-12-02 13:49:37 +05:30
Pall Helgason 52f52847a4 CLOUDSTACK-9644: Adding missing bits field to TemplateResponse 2016-12-01 12:56:03 +00:00
Pall Helgason 7ef87b6ad1 CLOUDSTACK-9643: Now returning os info with the list snapshot response 2016-12-01 12:51:44 +00:00
Rohit Yadav 185be24ed8
Merge pull request #1577 from nlivens/CLOUDSTACK-9321
CLOUDSTACK-9321 : Multiple Internal LB rules (more than one Internal LB rule with same source IP address) are not getting resolved in the corresponding InternalLbVm instance's haproxy.cfg fileMultiple Internal LB rules (more than one Internal LB rule with same source IP address) are not getting resolved in the corresponding InternalLbVm instance's haproxy.cfg file. Moreover, each time a new Internal LB rule is added to the corresponding InternalLbVm instance, it replaces the existing one. Thus, traffic corresponding to these un-resolved (old) Internal LB rules are getting dropped by the InternalLbVm instance.

PR contents:
1) Fix for this bug.
2) Marvin test coverage for Internal LB feature on master with native ACS setup (component directory) including validations for this bug fix.
3) Enhancements on our exiting Internal LB Marvin test code (nuagevsp plugins directory) to validate this bug fix.
4) PEP8 & PyFlakes compliance with the added Marvin test code.

* pr/1577:
  CLOUDSTACK-9321 : Multiple Internal LB rules (more than one Internal LB rule with same source IP address) are not getting resolved in the corresponding InternalLbVm instance's haproxy.cfg file

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-11-25 13:31:45 +05:30
Rohit Yadav 62c8496d7e
Merge pull request #1580 from nlivens/nuage_vsp_pat_fip2ul
CLOUDSTACK-9402 : Support for underlay features (Source & Static NAT to underlay) in Nuage VSP pluginSupport for underlay features (Source & Static NAT to underlay) with Nuage VSP SDN Plugin including Marvin test coverage for corresponding Source & Static NAT features on master. Moreover, our Marvin tests are written in such a way that they can validate our supported feature set with both Nuage VSP SDN platform's overlay and underlay infra.

PR contents:
1) Support for Source NAT to underlay feature on master with Nuage VSP SDN Plugin.
2) Support for Static NAT to underlay feature on master with Nuage VSP SDN Plugin.
3) Marvin test coverage for Source & Static NAT to underlay on master with Nuage VSP SDN Plugin.
4) Enhancements on our exiting Marvin test code (nuagevsp plugins directory).
5) PEP8 & PyFlakes compliance with our Marvin test code.

* pr/1580:
  CLOUDSTACK-9402 : Support for underlay features (Source & Static NAT to underlay) in Nuage VSP plugin

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-11-25 13:29:15 +05:30
Rohit Yadav d8c038e5b2
Merge branch '4.9' 2016-11-25 13:10:56 +05:30
Rohit Yadav 50f80cc2a0
Merge branch '4.8' into 4.9 2016-11-25 13:03:04 +05:30
Rohit Yadav 5811d33658 Merge pull request #1635 from myENA/feature/honor_force_stop_vm
CLOUDSTACK-9451https://issues.apache.org/jira/browse/CLOUDSTACK-9451

Re-doing against 4.8 since this is a bug, not a feature.

* pr/1635:
  CLOUDSTACK-9451

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-11-25 12:56:23 +05:30
Nick Livens 8d4dc81223 CLOUDSTACK-9402 : Support for underlay features (Source & Static NAT to underlay) in Nuage VSP plugin
CLOUDSTACK-9402 : Marvin tests for Source NAT and Static NAT features verification with NuageVsp (both overlay and underlay infra).

Co-Authored-By: Prashanth Manthena <prashanth.manthena@nuagenetworks.net>, Frank Maximus <frank.maximus@nuagenetworks.net>
2016-11-24 21:33:02 +01:00
Nick Livens 62e858131f CLOUDSTACK-9321 : Multiple Internal LB rules (more than one Internal LB rule with same source IP address) are not getting resolved in the corresponding InternalLbVm instance's haproxy.cfg file
CLOUDSTACK-9321 : Adding component tests for VPC Network functionality - Internal LB rules

CLOUDSTACK-9321 : Extending Nuage VSP Internal LB Marvin tests

Co-Authored-By: Prashanth Manthena <prashanth.manthena@nuagenetworks.net>, Frank Maximus <frank.maximus@nuagenetworks.net>
2016-11-22 15:51:22 +01:00
nvazquez cebee7cbda CLOUDSTACK-9379: Support nested virtualization at VM level on VMware Hypervisor 2016-11-17 17:51:50 -03:00
John Burwell ad0c25fbc4 Merge release branch 4.9 to master
* 4.9:
  CLOUDSTACK-9071: Properly parse stats.output.uri in StatsCollector
2016-11-17 00:52:03 -05:00
John Burwell dc1a7b4338 Merge release branch 4.8 to 4.9
* 4.8:
  CLOUDSTACK-9071: Properly parse stats.output.uri in StatsCollector
2016-11-17 00:46:12 -05:00
John Burwell 293ec4f3fc Merge pull request #1673 from wido/CLOUDSTACK-9071
CLOUDSTACK-9071: Properly parse stats.output.uri in StatsCollectorBoth host and path could have been NULL which causes the StatsCollector
no to start properly.

By checking if the Strings are not Empty or Null we make sure the StatsCollector
always runs and does not prevent the Management Server from starting.

* pr/1673:
  CLOUDSTACK-9071: Properly parse stats.output.uri in StatsCollector

Signed-off-by: John Burwell <meaux@cockamamy.net>
2016-11-17 00:45:21 -05:00
Eric Waegeman 4e6c7e179a CLOUDSTACK-9401 : Support for Internal DNS in Nuage VSP plugin 2016-11-14 14:39:48 +01:00
Sudhansu a13231226c CLOUDSTACK-9594: API "list templates templatefilter=all" reveals all
templates of all domains

Bug has been fixed considering below points
1. templatefilter=all or isofilter=all is applicable only to admin
and domain admin.
2. With templatefilter=all or isofilter=all below are the visiblity
of templates in system.
a. admin should be able to see all templates/iso in system.
b. domain admin should be able to see all public template and
templates under its domain tree (including sub domain).
c. domain admin in a project context should be able to see all public
 templates and templates registered as project account and templates
 which are shared(using updateTemplatePermission api) with project account.

Modified
"test/integration/component/test_escalation_listTemplateDomainAdmin.py"
This marvin test is written for this scenario but for the second account
 "templatefilter=all" is not used.
2016-11-11 19:56:35 +05:30
Rohit Yadav cdb4945205
Merge branch '4.9' 2016-11-03 16:57:45 +05:30
Rohit Yadav 240f44392c
Merge branch '4.8' into 4.9 2016-11-03 16:55:47 +05:30
Rohit Yadav c0a6fc2bfb
Merge pull request #1714 from yvsubhash/CLOUDSTACK-9553
CLOUDSTACK-9553 Usage event is not getting recorded for snapshots in a specific scenario

* pr/1714:
  CLOUDSTACK-9553 Usage event is not getting recorded for snapshots in a specific scenario

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-11-03 16:55:21 +05:30
Rohit Yadav 0a2798c6be
Merge branch '4.9' 2016-11-02 23:12:28 +05:30
Rohit Yadav 19951346ad
Merge branch '4.8' into 4.9 2016-11-02 23:03:31 +05:30
Rohit Yadav 68f22e2a43
Merge pull request #1694 from shapeblue/kvm-no-storage-failfast
CLOUDSTACK-9509: Host Connects Without StorageKVM hosts on shared storage failure was accepted by mgmt server with the
host state as Up, even though there was no primary/shared storage available on
it. This patch offers a quick fix by throwing an exception in the storage monitor
which connects storage pool on host. The failure is trapped by agent manager
that disconnects the agent without any investigation.

Based on Lab tests, KVM agent may take upto 2 minutes to attempt NFS mount when
the storage is inaccessible (firewalled, or shutdown) before returning back with
an error. It is safe to assume that this won't add pressure on mgmt server due to
several reconnection attempts, and KVM agent would retry reconnection every 2
minutes.

For such KVM hosts, where failure happens due to storage issues; they will be
briefly put in Alert state but will be mostly be in Connecting state during which
the KVM host attempts to mount/reconfigure NFS storage pool.

/cc @jburwell @karuturi
@blueorangutan package

* pr/1694:
  CLOUDSTACK-9509: Host Connects Without Storage

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-11-02 22:57:51 +05:30
Syed f46651e672 Support Backup of Snapshots for Managed Storage
This PR adds an ability to Pass a new parameter, locationType,
    to the “createSnapshot” API command. Depending on the locationType,
    we decide where the snapshot should go in case of managed storage.

    There are two possible values for the locationType param

    1) `Standard`: The standard operation for managed storage is to
    keep the snapshot on the device. For non-managed storage, this will
    be to upload it to secondary storage. This option will be the
    default.

    2) `Archive`: Applicable only to managed storage. This will
    keep the snapshot on the secondary storage. For non-managed
    storage, this will result in an error.

    The reason for implementing this feature is to avoid a single
    point of failure for primary storage. Right now in case of managed
    storage, if the primary storage goes down, there is no easy way
    to recover data as all snapshots are also stored on the primary.
    This features allows us to mitigate that risk.
2016-10-30 23:19:58 -06:00
Rohit Yadav 054a7178e0 Merge branch '4.9' 2016-10-28 11:44:01 +05:30
Rohit Yadav fcee71f35b Merge branch '4.8' into 4.9 2016-10-28 11:43:16 +05:30
Marc-Aurèle Brothier 158497d68a CLOUDSTACK-9544: Check access on account trying to generate user API keys
This fixes CVE-2016-6813

Signed-off-by: Marc-Aurèle Brothier <m@brothier.org>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-27 22:15:49 +05:30
Rajani Karuturi c9e7ccf46e Merge pull request #1615 from nvazquez/nfsConfigKey
CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UIJIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9438

### Introduction

From #1361 it was possible to configure NFS version for secondary storage mount.
However, changing NFS version requires inserting an new detail on `image_store_details` table, with `name = 'nfs.version'` and `value = X` where X is desired NFS version, and then restarting management server for changes to take effect.

Our improvement aims to make NFS version changeable from UI, instead of previously described workflow.

### Proposed solution
Basically, NFS version is defined as an image store ConfigKey, this implied:
* Adding a new Config scope: **ImageStore**
* Make `ImageStoreDetailsDao` class to extend `ResourceDetailsDaoBase` and `ImageStoreDetailVO` implement `ResourceDetail`
* Insert `'display'` column on `image_store_details` table
* Extending `ListCfgsCmd` and `UpdateCfgCmd` to support **ImageStore** scope, which implied:
** Injecting `ImageStoreDetailsDao` and `ImageStoreDao` on `ConfigurationManagerImpl` class, on `cloud-server` module.

### Important
It is important to mention that `ImageStoreDaoImpl` and `ImageStoreDetailsDaoImpl` classes were moved from `cloud-engine-storage` to `cloud-engine-schema` module in order to Spring find those beans to inject on `ConfigurationManagerImpl` in `cloud-server` module.

We had this maven dependencies between modules:
* `cloud-server --> cloud-engine-schema`
* `cloud-engine-storage --> cloud-secondary-storage --> cloud-server`

As `ImageStoreDaoImpl` and `ImageStoreDetailsDao` were defined in `cloud-engine-storage`, and they needed in `cloud-server` module, to be injected on `ConfigurationManagerImpl`, if we added dependency from `cloud-server` to `cloud-engine-storage` we would introduce a dependency cycle. To avoid this cycle, we moved those classes to `cloud-engine-schema` module

* pr/1615:
  CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-10-27 11:48:23 +05:30
Rajani Karuturi 12a0625852 Merge pull request #1642 from mike-tutkowski/managed_system_vms
CLOUDSTACK-9504: System VMs on Managed StorageThis PR makes it easier to spin up system VMs on managed storage.

Managed storage is when you have a dedicated volume on a SAN for a particular virtual disk (making it easier to deliver QoS).

For example, with this PR, you'd likely have a single virtual disk for a system VM. On XenServer, that virtual disk resides by itself in a storage repository (no other virtual disks share this storage repository).

It was possible in the past to spin up system VMs that used managed storage, but this PR facilitates the use case by making changes to the System Service Offering dialog (and by putting in some parameter checks in the management server).

JIRA ticket: https://issues.apache.org/jira/browse/CLOUDSTACK-9504

* pr/1642:
  Added support for system VMs to make use of managed storage

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-10-26 10:31:13 +05:30
subhash_y 3987b8c6b4 CLOUDSTACK-9553 Usage event is not getting recorded for snapshots in a specific scenario 2016-10-24 11:47:53 +05:30
Rajani Karuturi d360ededed Merge release branch 4.9 to master
* 4.9:
  Emit a VOLUME_DELETE usage event when account deletion destroys an instance.
2016-10-24 11:15:26 +05:30
Rajani Karuturi 72612f79cd Merge release branch 4.8 to 4.9
* 4.8:
  Emit a VOLUME_DELETE usage event when account deletion destroys an instance.
2016-10-24 11:13:06 +05:30
Mike Tutkowski 088ffa0842 Added support for system VMs to make use of managed storage 2016-10-21 16:28:34 -06:00
nnesic d989c5d8be Emit a VOLUME_DELETE usage event when account deletion destroys an instance.
Currently the logic about volume deletion seems to be that an event
should be emitted when the volume delete is requested, not when the
deletion completes.

The VolumeStateListener specifically ignores destroy events for ROOT
volumes, assuming that the ROOT volume only gets deleted when the
instance is destroyed and the UserVmManager should take care of it.

When deleting an account, all of its resources get destroyed, but the
instance expunging circumvents the UserVmManager, and thus we miss the
VOLUME_DESTROY usage event. The account manager now attempts to
propperly destroy the vm before expunging it. This way the destroy
logic is respected, including the event emission.
2016-10-21 09:26:59 +00:00
Rohit Yadav 32a397aa93 CLOUDSTACK-9509: Host Connects Without Storage
KVM hosts on shared storage failure was accepted by mgmt server with the
host state as Up, even though there was no primary/shared storage available on
it. This patch offers a quick fix by throwing an exception in the storage monitor
which connects storage pool on host. The failure is trapped by agent manager
that disconnects the agent without any investigation.

Based on Lab tests, KVM agent may take upto 2 minutes to attempt NFS mount when
the storage is inaccessible (firewalled, or shutdown) before returning back with
an error. It is safe to assume that this won't add pressure on mgmt server due to
several reconnection attempts, and KVM agent would retry reconnection every 2
minutes.

For such KVM hosts, where failure happens due to storage issues; they will be
briefly put in Alert state but will be mostly be in Connecting state during which
the KVM host attempts to mount/reconfigure NFS storage pool.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-21 10:22:32 +05:30
Rajani Karuturi 1b5342b24e Merge release branch 4.9 to master
* 4.9:
  CLOUDSTACK-9535: [API] listVMSnapshots improvement
2016-10-13 14:06:18 +05:30
nvazquez f4a42ab0d7 CLOUDSTACK-9535: [API] listVMSnapshots improvement 2016-10-05 17:42:14 -03:00
Nathan Johnson 1a55a93f04 CLOUDSTACK-4858 Honors the snapshot.backup.rightafter configuration variable
Unhides snapshot.backup.rightafter from global configuration

If snapshot.backup.rightafter is set to false (defaults to true), snapshots are
not backed up to secondary storage
2016-09-30 09:39:27 -05:00
Wido den Hollander c1997a1705
CLOUDSTACK-9071: Properly parse stats.output.uri in StatsCollector
Both host and path could have been NULL which causes the StatsCollector
no to start properly.

By checking if the Strings are not Empty or Null we make sure the StatsCollector
always runs and does not prevent the Management Server from starting.

Signed-off-by: Wido den Hollander <wido@widodh.nl>

Conflicts:
	server/src/com/cloud/server/StatsCollector.java
2016-09-29 16:00:38 +02:00
nvazquez 2e77496601 CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI 2016-09-28 08:51:37 -07:00
Rohit Yadav 3a82636b90
Merge pull request #1602 from nvazquez/clonegranular
CLOUDSTACK-9422: Granular 'vmware.create.full.clone' as Primary Storage setting### Introduction

For VMware, It is possible to decide creating VMs as full clones on ESX HV, adjusting `vmware.create.full.clone` global setting. We would like to introduce this property as a primary storage detail, and use its value instead of global setting's value.

We propose introducing `fullCloneFlag` on `PrimaryDataStoreTO` sent on `CopyCommand`. This way we can reconfigure `VmwareStorageProcessor` and `VmwareStorageSubsystemCommandHandler` similar as it was done for `nfsVersion` but refactoring it to be more general.

* pr/1602:
  CLOUDSTACK-9422: Granular VMware vms creation as full clones on HV

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-09-21 16:41:35 +05:30
Rajani Karuturi 87ef813753 Merge pull request #1661 from greenqloud/pr-zone-ids-action-events
Export UUID for zone creation event completion.Action events have support for exporting their "first class entities" over the event bus, if it's turned on. This works mostly for BaseAsyncCmds and any synchronous command that operates on already-existing entities. They are populated by the ApiServer and found by ActionEventUtils.

Where it tends to falter is when dealing with synchronous creation commands. This commit makes createZone export the zone UUID over the event bus once the zone has been created.

* pr/1661:
  Export UUID for zone creation event completion.

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-09-14 21:24:33 +05:30
nvazquez bb275a5ad1 CLOUDSTACK-9422: Granular VMware vms creation as full clones on HV 2016-09-13 09:59:04 -07:00
Rajani Karuturi f21477a178 Merge pull request #1671 from mike-tutkowski/copy-vol-migration
Adding support for cross-cluster storage migration for managed storage when using XenServerThis PR adds support for cross-cluster storage migration of VMs that make use of managed storage with XenServer.

Managed storage is when you have a 1:1 mapping between a virtual disk and a volume on a SAN (in the case of XenServer, an SR is placed on this SAN volume and a single virtual disk placed in the SR).

Managed storage allows features such as storage QoS and SAN-side snapshots to work (sort of analogous to VMware VVols).

This PR focuses on enabling VMs that are using managed storage to be migrated across XenServer clusters.

I have successfully run the following tests on this branch:

TestVolumes.py
TestSnapshots.py
TestVMSnapshots.py
TestAddRemoveHosts.py
TestVMMigrationWithStorage.py (which is a new test that is being added with this PR)

* pr/1671:
  Adding support for cross-cluster storage migration for managed storage when using XenServer

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-09-13 17:40:12 +05:30
Will Stevens 0e5e602953 Added JSON diff output to the ApiXmlDocReader in additon TXT for parsability 2016-09-12 10:08:09 -04:00
Mike Tutkowski b508fb8692 Adding support for cross-cluster storage migration for managed storage when using XenServer 2016-09-12 07:39:13 -06:00
Bharat Kumar ba9dcba16d Do not update network if one of the router's state is unknown
Added checks to prevent netwrok update when router state is unknown or when
the new offering removes a service that is in use.

Added a new param forced to the updateNetwork API. The network will
undergo a forced update when this param is set to true.

CLOUDSTACK-8751 Clean network config like firewall rules etc, when network services are removed during network update.
2016-09-12 15:24:47 +05:30
Bharat Kumar 75f89c7676 CLOUDSTACK-8751
Minimise network downtime during network updates when redundant VR is being used.
database schema changes
Made changes to the updateNetwork API.
2016-09-12 15:24:47 +05:30
Nathan Johnson 53fd4a7997 CLOUDSTACK-9451
Honor the forced parameter to stop virtual machine api call.
2016-09-09 13:00:17 -05:00
jeff fb7f5dfa37 Export UUID for zone creation event completion. 2016-08-24 16:19:16 +00:00
Rohit Yadav 8ac3c883cd oobm: simply change password transactional logic
- Simplifies change password transactional logic without using pessmistic locks
- Adds a re-enter password field in the UI to valid ipmi/oobm password

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-02 12:47:15 +05:30
nvazquez 148e974482 CLOUDSTACK-9436: Release network resources on expunge command 2016-07-21 12:25:22 -03:00
Will Stevens 46a6530e70 Revert "Merge pull request #1594 from nvazquez/vmnetworkmapissue"
This reverts commit 9be93c6e90, reversing
changes made to 8d45d711bf.
2016-07-21 11:04:10 -04:00
nvazquez c754a0cf30 CLOUDSTACK-9407: Refactor 2016-06-21 13:49:55 -03:00
nvazquez d3f3fb0590 CLOUDSTACK-9407: Release network resources on expunge command 2016-06-16 12:35:42 -03:00
Nick Livens ffe72ca227 CLOUDSTACK-9399 : NPE during deletion of host when clusterId is null 2016-06-08 08:18:14 +02:00
Will Stevens 123e9f81ab fixed a variable name broken by merge conflicts 2016-05-27 16:32:20 -04:00
Will Stevens 75c8a55014 Merge pull request #1251 from koushik-das/CLOUDSTACK-9180
CLOUDSTACK-9180: Optimize concurrent VM deployment operation on same network

Check if VR needs to be allocated for a given network and only acquire lock if required

Refer to the bug for details.

* pr/1251:
  CLOUDSTACK-9180: Optimize concurrent VM deployment operation on same network Check if VR needs to be allocated for a given network and only acquire lock if required

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-27 15:20:49 -04:00
Will Stevens 121b3d6403 Merge pull request #1567 from exoscale/CLOUDSTACK-9238
CLOUDSTACK-9238: Fix URL length to 2048 for all url fields in VOI will update the PR to add max field length in the API commands too

* pr/1567:
  API: update url field max length
  not needed on host table
  Fix URL length to 2048 for all url fields in VO

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-27 15:20:22 -04:00
Will Stevens 20f779298d merging 4.8 -> master 2016-05-27 15:19:33 -04:00
Will Stevens 744f9d5615 Merge release branch 4.7 to 4.8
* 4.7:
  CLOUDSTACK-9376: Restrict listTemplates API with filter=all for root admin
  CLOUDSTACK-9369: Restrict default login to ldap/native users
  Add lsb-release dependency to mgmt server and agent on Debian/Ubuntu.
  Emit template UUID and class type over event bus when deleting templates.
2016-05-27 15:03:42 -04:00
Will Stevens cd5f3320c8 Merge pull request #1564 from greenqloud/pr-emit-template-uuid-on-delete-4.7
Emit template UUID and class type over event bus when deleting templatesNew version of #1378 for the 4.7b branch instead of 4.6.

* pr/1564:
  Emit template UUID and class type over event bus when deleting templates.

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-27 15:02:17 -04:00
Rohit Yadav 0cb60a72fe CLOUDSTACK-9376: Restrict listTemplates API with filter=all for root admin
Restricts use of listemplates API with templatefilter=all for root admin only.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-27 15:01:15 -04:00
Rohit Yadav 566e7d9fac CLOUDSTACK-9369: Restrict default login to ldap/native users
- Restricts default login auth handler to ldap and native-cloudstack users
- Refactors and create re-usable method to find domain by id/path
- Adds unit test for refactored method in DomainManagerImpl
- Adds smoke test for login handler

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-27 15:00:05 -04:00
Marc-Aurèle Brothier a59ee03fd7 Fix URL length to 2048 for all url fields in VO 2016-05-27 08:16:05 +02:00
jeff 7aec943ef8 Emit template UUID and class type over event bus when deleting templates.
The behavior is now consistent with template creation. This commit
also adds a unit test for this functionality to make sure that it will
always happen.
2016-05-26 11:20:39 +00:00
Will Stevens 3c800b4bfe Merge pull request #1518 from nvazquez/testnfs
CLOUDSTACK-9368: Fix for Support configurable NFS version for Secondary Storage mounts## Description
JIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9368
This pull request address a problem introduced in #1361 in which NFS version couldn't be changed after hosts resources were configured on startup (for hosts using `VmwareResource`), and as host parameters didn't include `nfs.version` key, it was set `null`.

## Proposed solution
In this proposed solution `nfsVersion` would be passed in `NfsTO` through `CopyCommand` to `VmwareResource`, who will check if NFS version is still configured or not. If not, it will use the one sent in the command and will set it to its storage processor and storage handler. After those setups, it will proceed executing command.

* pr/1518:
  CLOUDSTACK-9368: Fix for Support configurable NFS version for Secondary Storage mounts

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-25 23:05:07 -04:00
Will Stevens 978184bccb Merge pull request #1424 from syed/create-template-api-bug
[CLOUDSTACK-8973] Fix create template from snapshot returning null in case of region storeThis PR fixes a case where when we create a template from a snpashot in a region wide store, we don't set the cross zone flag which causes a null response to be returned
Tests:

Before fix
```
(local)  > create template snapshotid=33aa3f3b-5a47-4d2a-8d27-12952c01ebed displaytext=t2 ostypeid=20c8ead6-d750-11e5-9f8c-06524200007c name=t9

accountid = 1b13d7c2-d750-11e5-9f8c-06524200007c
cmd = org.apache.cloudstack.api.command.admin.template.CreateTemplateCmdByAdmin
created = 2016-02-23T16:09:24+0000
jobid = 4f9f5ff9-e7f0-4af6-999c-799431fd47de
jobinstanceid = a08a9711-bd31-43bb-80a2-49cf9d722a19
jobinstancetype = Template
jobprocstatus = 0
jobresult:
null:
crossZones = False
isfeatured = False
ispublic = False
isready = False
tags:
jobresultcode = 0
jobresulttype = object
jobstatus = 1
userid = 1b140f08-d750-11e5-9f8c-06524200007c
```

See the *null* in response

After fix:

```
(local)  > create template snapshotid=33aa3f3b-5a47-4d2a-8d27-12952c01ebed displaytext=t2 ostypeid=20c8ead6-d750-11e5-9f8c-06524200007c name=t11

accountid = 1b13d7c2-d750-11e5-9f8c-06524200007c
cmd = org.apache.cloudstack.api.command.admin.template.CreateTemplateCmdByAdmin
created = 2016-02-25T21:47:03+0000
jobid = 1b74209b-b3c1-4168-a243-f559aa0c081b
jobinstanceid = 06ecee5a-b1f2-4e67-80fb-f0f44b0aa198
jobinstancetype = Template
jobprocstatus = 0
jobresult:
template:
id = 06ecee5a-b1f2-4e67-80fb-f0f44b0aa198
name = t11
account = admin
created = 2016-02-25T21:47:03+0000
crossZones = True
displaytext = t2
domain = ROOT
domainid = 1b13ab80-d750-11e5-9f8c-06524200007c
format = VHD
hypervisor = XenServer
isdynamicallyscalable = False
isextractable = True
isfeatured = False
ispublic = False
isready = True
ostypeid = 20c8ead6-d750-11e5-9f8c-06524200007c
ostypename = CentOS 5 (64-bit)
passwordenabled = False
size = 21474836480
sourcetemplateid = 1af0f0cc-d750-11e5-9f8c-06524200007c
sshkeyenabled = False
status = Download Complete
tags:
templatetype = USER
jobresultcode = 0
jobresulttype = object
jobstatus = 1
userid = 1b140f08-d750-11e5-9f8c-06524200007c
```
Works correctly

* pr/1424:
  Fix create template from snapshot returning null in case of region store

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-25 23:04:31 -04:00
Will Stevens 6a6e164448 Merge pull request #1360 from greenqloud/pr-refactor-system-vm-network-creation
Refactor system VM default network creationTwo small commits which moves the retrieval of the default network for the console proxy and the SSVM into a separate protected method. It's a small change that makes the code more readable/maintainable and also makes the class more suitable for overriding should one want to do this. It's forward-ported from our 4.2 branch.

No new tests since this should not change any functionality, and thus should be covered by the existing unit tests.

Now on the master branch (#1359 was on the wrong branch).

* pr/1360:
  Refactor ssvm default network retrieval.
  Refactor console proxy default network retrieval.

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-25 23:03:32 -04:00
Will Stevens de205c5805 Merge pull request #1297 from DaanHoogland/CLOUDSTACK-9203
CLOUDSTACK-9203 Implement security group move on updateVM API call  cherry-picked from a exoscale internal fix

Conflicts:
	api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java
	server/src/com/cloud/vm/UserVmManager.java
	server/src/com/cloud/vm/UserVmManagerImpl.java

* pr/1297:
  CLOUDSTACK-9203 refactorred DeployVM code to be used by UpdateVM as well
  CLOUDSTACK-9203 security group update on running instance

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-25 22:59:35 -04:00
Will Stevens 550aabb308 Merge pull request #1550 from ustcweizhou/CLOUDSTACK-9380-listDomains-NPE
CLOUDSTACK-9380: fix NPE in listDomains API for a mistakeThe issue happens if volumeTotal is NULL in database.
This is caused by commit 0407fb334f for CLOUDSTACK-7847.

* pr/1550:
  CLOUDSTACK-9380: fix NPE in listDomains API for a mistake

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-25 22:58:46 -04:00
Will Stevens 9456aa0e38 Merge pull request #1503 from Amysta/fix-CLOUDSTACK-9358
CLOUDSTACK-9358: StringIndexOutOfBoundsException on eventsFixes JSON deserialization of `cmdInfo` (current process fails with `StringIndexOutOfBoundsException` when `cmdEventType` is the last parameter in the JSON string).

A `StringIndexOutOfBoundsException` is thrown in some cases during event publication.

Example: a stopVirtualMachine API request is executed, and fails with:

```
2016-04-15 09:24:43,080 ERROR [o.a.c.f.m.MessageDispatcher] (catalina-exec-1:ctx-840cbaa7 ctx-8daf0e9c ctx-f63af073) Unexpected exception when calling com.cloud.api.ApiServer.handleAsyncJobPublishEvent
java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedMethodAccessor307.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.cloudstack.framework.messagebus.MessageDispatcher.dispatch(MessageDispatcher.java:75)
        at org.apache.cloudstack.framework.messagebus.MessageDispatcher.onPublishMessage(MessageDispatcher.java:45)
        at org.apache.cloudstack.framework.messagebus.MessageBusBase$SubscriptionNode.notifySubscribers(MessageBusBase.java:441)
        at org.apache.cloudstack.framework.messagebus.MessageBusBase.publish(MessageBusBase.java:178)
        at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl.publishOnEventBus(AsyncJobManagerImpl.java:1052)
        at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl.submitAsyncJob(AsyncJobManagerImpl.java:180)
        at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl.submitAsyncJob(AsyncJobManagerImpl.java:168)
        at com.cloud.api.ApiServer.queueCommand(ApiServer.java:687)
        at com.cloud.api.ApiServer.handleRequest(ApiServer.java:528)
        at com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:296)
        at com.cloud.api.ApiServlet$1.run(ApiServlet.java:127)
        at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
        at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
        at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
        at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:124)
        at com.cloud.api.ApiServlet.doGet(ApiServlet.java:86)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1720)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -468
        at java.lang.String.substring(String.java:1967)
        at com.cloud.api.ApiServer.handleAsyncJobPublishEvent(ApiServer.java:270)
        at sun.reflect.GeneratedMethodAccessor307.invoke(Unknown Source)
        ... 41 more
```

The VM is not stopped, and the API returns the following error:

      HTTP/1.1 530 : InvocationTargetException when invoking event handler for subject: job.eventpublish

The error comes from JSON parsing in 339355594c/server/src/com/cloud/api/ApiServer.java (L270)

The `substring()` method throws a StringIndexOutOfBoundsException when `cmdEventType` is the last field in the JSON object.

The JSON object being the JSON serialization of a `HashMap` object, the order of the fields is not guaranteed. In my tests, I observed that there is no error with Java 7, but it fails with Java 8, which has a different Hashmap implementation.

For example, with request http://127.0.0.1:8096/client/api?command=stopVirtualMachine&id=734ef752-fe99-4d46-8f31-18130496473c, cmdInfo is:

```
{"ctxUserId":"1","httpmethod":"GET","ctxStartEventId":"105","id":"734ef752-fe99-4d46-8f31-18130496473c","ctxDetails":"{\"interface com.cloud.vm.VirtualMachine\":\"734ef752-fe99-4d46-8f31-18130496473c\"}","ctxAccountId":"1","uuid":"734ef752-fe99-4d46-8f31-18130496473c","cmdEventType":"VM.STOP"}
```

and it fails.

Please note that the error is not present for all API requests, depending on the parameters fields.

* pr/1503:
  CLOUDSTACK-9358: StringIndexOutOfBoundsException on events

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-25 22:56:18 -04:00
Will Stevens 87f6ad3cc9 Merge pull request #846 from kishankavala/CLOUDSTACK-8870
Bug-ID: CLOUDSTACK-8870: Skip external device usage collection if no external devices existexternal network device usage monitor thread that runs every 5mins by default (based on global config external.network.stats.interval) and runs coalesce query to acquire a lock. When there are no external devices exist, there is no need to run usage collection.
Added test case to verify that usage collection task is not run when there are no External LB or External FW

* pr/846:
  Bug-ID: CLOUDSTACK-8870: Skip external device usage collection if no external devices exist

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-25 22:55:11 -04:00
Will Stevens 678b28f273 Merge release branch 4.8 to master
* 4.8:
  CLOUDSTACK-6928: fix issue disk I/O throttling not applied
  CLOUDSTACK-6975: Prevent dnsmasq from starting on backup redundant RvR.
2016-05-25 22:54:23 -04:00
Will Stevens b80696cbc0 Merge release branch 4.7 to 4.8
* 4.7:
  CLOUDSTACK-6928: fix issue disk I/O throttling not applied
  CLOUDSTACK-6975: Prevent dnsmasq from starting on backup redundant RvR.
2016-05-25 22:53:42 -04:00
Will Stevens 82f1198ee6 Merge pull request #1410 from ustcweizhou/CLOUDSTACK-6928-io-throttling
CLOUDSTACK-6928: fix issue disk I/O throttling not appliedDisk IO throttling (for KVM) is not applied in the merge of 4.2.

Tests passed:
(1) start vm
(2) attach volume
(3) start vm with volume
(4) migrate vm (with volume)

* pr/1410:
  CLOUDSTACK-6928: fix issue disk I/O throttling not applied

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-25 22:51:38 -04:00
Daan Hoogland 78cd64a6c2 CLOUDSTACK-9203 refactorred DeployVM code to be used by UpdateVM as well
Conflicts:
	api/src/org/apache/cloudstack/api/command/user/vm/DeployVMCmd.java
	api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java
2016-05-23 22:40:31 +02:00
Loic Lambiel 5877293434 CLOUDSTACK-9203 security group update on running instance
cherry-picked from a exoscale internal fix:

      Implement security group move on updateVM API call
      Prevent security group update while instance is running

Conflicts:
	api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java
	server/src/com/cloud/vm/UserVmManager.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
2016-05-23 22:33:42 +02:00
Kishan Kavala c12d83601d Bug-ID: CLOUDSTACK-8870: Skip external device usage collection if no external devices exist 2016-05-23 15:23:23 +05:30
nvazquez 2d2819974e CLOUDSTACK-9368: Fix for Support configurable NFS version for Secondary Storage mounts 2016-05-20 07:31:16 -07:00
Will Stevens cb55624af8 Merge pull request #1523 from nlivens/bug/CLOUDSTACK-9365
CLOUDSTACK-9365 : updateVirtualMachine with userdata should not error when a VM is attached to multiple networks from which one or more doesn't support userdata

* pr/1523:
  Marvin script for cloudstack-9365
  CLOUDSTACK-9365 : updateVirtualMachine with userdata should not error when a VM is attached to multiple networks from which one or more doesn't support userdata

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-20 08:34:55 -04:00
Will Stevens 82b702dc9a Merge pull request #1403 from mike-tutkowski/xs-snapshots
Taking fast and efficient volume snapshots with XenServer (and your storage provider)A XenServer storage repository (SR) and virtual disk image (VDI) each have UUIDs that are immutable.

This poses a problem for SAN snapshots, if you intend on mounting the underlying snapshot SR alongside the source SR (duplicate UUIDs).

VMware has a solution for this called re-signaturing (so, in other words, the snapshot UUIDs can be changed).

This PR only deals with the CloudStack side of things, but it works in concert with a new XenServer storage manager created by CloudOps (this storage manager enables re-signaturing of XenServer SR and VDI UUIDs).

I have written Marvin integration tests to go along with this, but cannot yet check those into the CloudStack repo as they rely on SolidFire hardware.

If anyone would like to see these integration tests, please let me know.

JIRA ticket: https://issues.apache.org/jira/browse/CLOUDSTACK-9281

Here's a video I made that shows this feature in action:

https://www.youtube.com/watch?v=YQ3pBeL-WaA&list=PLqOXKM0Bt13DFnQnwUx8ZtJzoyDV0Uuye&index=13

* pr/1403:
  Faster logic to see if a cluster supports resigning
  Support for backend snapshots with XenServer

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-20 08:33:07 -04:00
Will Stevens 3f5b3a16dd Merge pull request #1516 from sudhansu7/CLOUDSTACK-9366
CLOUDSTACK-9366: Capacity of one zone-wide primary storage ignoredDisable and Remove Host operation disables the primary storage capacity.

Steps to replicate:
Base Condition: There exists a host and storage pool with same id
Steps:
1. Find a host and storage pool having same id
2. Disable the host
3. CPU(1) and MEMORY(0) capacity in op_host_capacity for above host is disabled
4. STORAGE(3) capacity in op_host_capacity for storage pool with id same as above host is also disabled

RCA:
'host_id' column in 'op_host_capacity' table used for storing both storage pool id (for STORAGE capacity) and host id (MEMORY and CPU). While disabling a HOST we also disable the capacity associated with host.

Ideally while disabling capacity we should only disable MEMORY and CPU capacity, but we are not doing so.

Code Path:
ResourceManagerImpl.doDeleteHost() -> ResourceManagerImpl.resourceStateTransitTo() -> CapacityDaoImpl.updateCapacityState(null, null, null, host.getId(), capacityState.toString())

updateCapacityState is updating disabling all entries which matches the host_id. This will also disable a entry having storage pool id same as that of host id.

Changes:
introduced new capacityType parameter in updateCapacityState method and necessary changes to add capacity_type clause in sql
also fixed incorrect sql builder logic (unused code path for which it is never surfaced )
Added marvin test to  check host and storagepool capacity when host is disabled

Test Result:
```
Before Fix:
mysql> select ohc.host_id, ohc.`capacity_state`,  case capacity_type  when 0 then  'MEMORY'  when 1 then  'CPU'  ELSE  'STORAGE'  END as 'capacity_type' ,  total_capacity, case capacity_type  when 0 then  'HOST'  when 1 then  'HOST' ELSE  'STORAGE POOL' END as 'HOST/STORAGE POOL'  from op_host_capacity ohc where host_id=3;
+---------+----------------+---------------+----------------+-------------------+
| host_id | capacity_state | capacity_type | total_capacity | HOST/STORAGE POOL |
+---------+----------------+---------------+----------------+-------------------+
|       3 | Enabled        | MEMORY        |     8589934592 | HOST              |
|       3 | Enabled        | CPU           |          32000 | HOST              |
|       3 | Enabled        | STORAGE       |  2199023255552 | STORAGE POOL      |
+---------+----------------+---------------+----------------+-------------------+

9 rows in set (0.00 sec)

Disable Host 3 from UI.

mysql> select ohc.host_id, ohc.`capacity_state`,  case capacity_type  when 0 then  'MEMORY'  when 1 then  'CPU'  ELSE  'STORAGE'  END as 'capacity_type' ,  total_capacity, case capacity_type  when 0 then  'HOST'  when 1 then  'HOST' ELSE  'STORAGE POOL' END as 'HOST/STORAGE POOL'  from op_host_capacity ohc where host_id=3;
+---------+----------------+---------------+----------------+-------------------+
| host_id | capacity_state | capacity_type | total_capacity | HOST/STORAGE POOL |
+---------+----------------+---------------+----------------+-------------------+
|       3 | Disabled       | MEMORY        |     8589934592 | HOST              |
|       3 | Disabled       | CPU           |          32000 | HOST              |
|       3 | Disabled       | STORAGE       |  2199023255552 | STORAGE POOL      |
+---------+----------------+---------------+----------------+-------------------+

After Fix:

mysql> select ohc.host_id, ohc.`capacity_state`,  case capacity_type  when 0 then  'MEMORY'  when 1 then  'CPU'  ELSE  'STORAGE'  END as 'capacity_type' ,  total_capacity, case capacity_type  when 0 then  'HOST'  when 1 then  'HOST' ELSE  'STORAGE POOL' END as 'HOST/STORAGE POOL'  from op_host_capacity ohc where host_id=3;
+---------+----------------+---------------+----------------+-------------------+
| host_id | capacity_state | capacity_type | total_capacity | HOST/STORAGE POOL |
+---------+----------------+---------------+----------------+-------------------+
|       3 | Enabled        | MEMORY        |     8589934592 | HOST              |
|       3 | Enabled        | CPU           |          32000 | HOST              |
|       3 | Enabled        | STORAGE       |  2199023255552 | STORAGE POOL      |
+---------+----------------+---------------+----------------+-------------------+
3 rows in set (0.01 sec)

Disable Host 3 from UI.

mysql> select ohc.host_id, ohc.`capacity_state`,  case capacity_type  when 0 then  'MEMORY'  when 1 then  'CPU'  ELSE  'STORAGE'  END as 'capacity_type' ,  total_capacity, case capacity_type  when 0 then  'HOST'  when 1 then  'HOST' ELSE  'STORAGE POOL' END as 'HOST/STORAGE POOL'  from op_host_capacity ohc where host_id=3;
+---------+----------------+---------------+----------------+-------------------+
| host_id | capacity_state | capacity_type | total_capacity | HOST/STORAGE POOL |
+---------+----------------+---------------+----------------+-------------------+
|       3 | Disabled       | MEMORY        |     8589934592 | HOST              |
|       3 | Disabled       | CPU           |          32000 | HOST              |
|       3 | Enabled        | STORAGE       |  2199023255552 | STORAGE POOL      |
+---------+----------------+---------------+----------------+-------------------+
3 rows in set (0.00 sec)

Sudhansus-MAC:cloudstack sudhansu$  nosetests-2.7 --with-marvin --marvin-config=setup/dev/advanced.cfg test/integration/component/maint/test_capacity_host_delete.py

==== Marvin Init Started ====

=== Marvin Parse Config Successful ===

=== Marvin Setting TestData Successful===

==== Log Folder Path: /tmp//MarvinLogs//Apr_22_2016_22_42_27_X4VBWD. All logs will be available here ====

=== Marvin Init Logging Successful===

==== Marvin Init Successful ====
===final results are now copied to: /tmp//MarvinLogs/test_capacity_host_delete_9RHSNB===
Sudhansus-MAC:cloudstack sudhansu$ cat /tmp//MarvinLogs/test_capacity_host_delete_9RHSNB/results.txt
test_01_op_host_capacity_disable_host (integration.component.maint.test_capacity_host_delete.TestHosts) ... === TestName: test_01_op_host_capacity_disable_host | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 1 test in 0.168s

OK
```

* pr/1516:
  CLOUDSTACK-9366: Capacity of one zone-wide primary storage ignored

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-20 08:31:46 -04:00
Will Stevens 88cd182272 Forward merged 4.8 to master and fixed conflicts in #1331 2016-05-19 12:08:08 -04:00
Sudhansu 18a6aa89be CLOUDSTACK-9366: Capacity of one zone-wide primary storage ignored
introduced new capacityType parameter in updateCapacityState method and necessary changes to add capacity_type clause in sql
also fixed incorrect sql builder logic (unused code path for which it is never surfaced )
Added marvin test to  check host and storagepool capacity when host is disabled
Added conditions to ensure the capacity_type is added only when capacity_type length is greater than 0.
Added checks in marvin test to ensure the capacity exists for a host before disabling it.
Added  checks to avoid index out of range exception
2016-05-19 20:24:04 +05:30
Wei Zhou 976b3b7df4 CLOUDSTACK-6928: fix issue disk I/O throttling not applied 2016-05-19 11:26:43 +02:00
Will Stevens 8f330b0b92 Merge release branch 4.7 to 4.8
* 4.7:
  Fix Sync of template.properties in Swift
  Configure rVPC for router.redundant.vrrp.interval advert_int setting
  Have rVPCs use the router.redundant.vrrp.interval setting
  Resolve conflict as forceencap is already in master
  Split the cidr lists so we won't hit the iptables-resture limits
  Check the existence of 'forceencap' parameter before use
  Do not load previous firewall rules as we replace everyhing anyway
  Wait for dnsmasq to finish restart
  Remove duplicate spaces, and thus duplicate rules.
  Restore iptables at once using iptables-restore instead of calling iptables numerous times
  Add iptables copnversion script.
2016-05-18 15:54:32 -04:00
Will Stevens 06e52e4f34 Merge pull request #1331 from syed/swift-restart-fix
Fix Sync of template.properties in SwiftWhen using Swift as a secondary storage, we create a template.properties file which stores the metadata about the template. Currently the data which is present in the file is incorrect which leads to templates becoming unavailable after they are downloaded. This fix makes sure that the template.properties has the correct "path" set so that templates are available.

I've also done a bit of cleanup and made the code bit more clean.

* pr/1331:
  Fix Sync of template.properties in Swift

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-18 15:53:33 -04:00
Wei Zhou 59edbb5337 CLOUDSTACK-9380: fix NPE in listDomains API for a mistake 2016-05-17 14:45:50 +02:00
Priyank Parihar 69647b38ce CLOUDSTACK-8841: Storage XenMotion from XS 6.2 to XS 6.5 fails. 2016-05-17 12:13:34 +05:30
Mike Tutkowski 9d215562eb Faster logic to see if a cluster supports resigning 2016-05-16 07:18:39 -06:00
Syed f5ac8ddded Fix Sync of template.properties in Swift 2016-05-13 22:08:16 +00:00
Remi Bergsma 2bfb12cba9 Have rVPCs use the router.redundant.vrrp.interval setting
It defaults to 1, which is hardcoded in the template:
./cosmic/cosmic-core/systemvm/patches/debian/config/opt/cloud/templates/keepalived.conf.templ

As non-VPC redundant routers use this setting, I think it makes sense to use it for rVPCs as well.

We also need a change to pickup the cmd_line parameter and use it in the Python code that configures the router.
2016-05-13 14:36:23 +02:00
Mike Tutkowski 2bd035d199 Support for backend snapshots with XenServer 2016-05-13 01:02:04 -06:00
Will Stevens 8c3722d953 Merge pull request #1444 from rafaelweingartner/workAroundPR780
CLOUDSTACK-8800 : Improved the listVirtualMachines API call to include memory utilization information for a VMThis PR introduces the changes proposed in PR #780 with some work to make the code null safe.

During this PR, I have also removed some unused code.

* pr/1444:
  Removed unnecessary check when creating the “userVmResponse” object.
  Fixed issues from CLOUDSTACK-8800 that were introduced in PR 780
  CLOUDSTACK-8800 : Improved the listVirtualMachines API call to include memory utilization information for a VM for xenserver,kvm and for vmware.

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-12 16:49:14 -04:00
Will Stevens 7e41747c33 Merge pull request #816 from mike-tutkowski/addremovehosts2
Notify listeners when a host has been added to a cluster, is about to be removed from a cluster, or has been removed from a cluster

This PR addresses the following JIRA ticket:

https://issues.apache.org/jira/browse/CLOUDSTACK-8813

The problem is that there needs to be notifications sent when a host is added to, about to be removed from, and removed from a cluster.

Such notifications can be used for many purposes. For example, it can allow storage plug-ins to update ACLs on their storage systems. Also, it can allow us to clean up IQNs from ESXi hosts that are no longer needed.

* pr/816:
  CLOUDSTACK-8813: Notify listeners when a host has been added to a cluster, is about to be removed from a cluster, or has been removed from a cluster

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-12 11:07:36 -04:00
Will Stevens 143265c49f Merge pull request #1502 from shapeblue/outofband-master
CLOUDSTACK-9299: Out-of-band Management for CloudStackSupport access to a hosts out-of-band management interface (e.g. IPMI, iLO,
DRAC, etc.) to manage host power operations (on/off etc.) and querying current
power state in CloudStack.

Given the wide range of out-of-band management interfaces such as iLO and iDRA,
the service implementation allows for development of separate drivers as plugins.
This feature comes with a ipmitool based driver that uses the
ipmitool (http://linux.die.net/man/1/ipmitool) to communicate with any
out-of-band management interface that support IPMI 2.0.

This feature allows following common use-cases:
- Restarting stalled/failed hosts
- Powering off under-utilised hosts
- Powering on hosts for provisioning or to increase capacity
- Allowing system administrators to see the current power state of the host

For testing this feature, please install `ipmitool` (using yum/apt/brew) and `ipmisim`:
https://pypi.python.org/pypi/ipmisim

The default ipmitool location is assumed in /usr/bin, if this is different in your env please fix the global setting, see FS for details on various global settings.

FS:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Out-of-band+Management+for+CloudStack

/cc @jburwell @swill @abhinandanprateek @murali-reddy @borisstoyanov

* pr/1502:
  maven: ignore utils/testsmallfileinactive for rat checking
  CLOUDSTACK-9378: Fix for #1497
  HypervisorUtilsTest: increate timeout to 8seconds
  travis: Use patched version of ipmitool for tests
  CLOUDSTACK-9299: Out-of-band Management for CloudStack

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-12 11:06:13 -04:00
Will Stevens 103d62ee02 Merge release branch 4.8 to master
* 4.8:
  CLOUDSTACK-9287 - Improve test by checking if pvt gw is removed and fix typos
  Handle private gateways more reliably
  CLOUDSTACK-9287 - Fix RVR public interface
  CLOUDSTACK-9287 - Add integration test to cover the private gateway related changes
  CLOUDSTACK-9287 - Refactor the interface state configuration
  CLOUDSTACK-9287 - Check if the nic profile has already been removed from a certain router
  CLOUDSTACK-9287 - Bring up the private gw interface on state change to master
  CLOUDSTACK-9287 - Make sure private gw interface is not used for default gw
  CLOUDSTACK-9287 - Add integration test to cover the private gw interface/mac address issues
  CLOUDSTACK-9287 - Put private gateway interface down on backup router
  CLOUDSTACK-9287 - Generate new mac address if router is redundant and nic profile exists
  Add private gateway IP to router initialization config
  apply static routes on change to master state
2016-05-12 11:04:53 -04:00
Will Stevens dbbc37ecc7 Merge release branch 4.7 to 4.8
* 4.7:
  CLOUDSTACK-9287 - Improve test by checking if pvt gw is removed and fix typos
  Handle private gateways more reliably
  CLOUDSTACK-9287 - Fix RVR public interface
  CLOUDSTACK-9287 - Add integration test to cover the private gateway related changes
  CLOUDSTACK-9287 - Refactor the interface state configuration
  CLOUDSTACK-9287 - Check if the nic profile has already been removed from a certain router
  CLOUDSTACK-9287 - Bring up the private gw interface on state change to master
  CLOUDSTACK-9287 - Make sure private gw interface is not used for default gw
  CLOUDSTACK-9287 - Add integration test to cover the private gw interface/mac address issues
  CLOUDSTACK-9287 - Put private gateway interface down on backup router
  CLOUDSTACK-9287 - Generate new mac address if router is redundant and nic profile exists
  Add private gateway IP to router initialization config
  apply static routes on change to master state
2016-05-12 11:03:57 -04:00
Will Stevens 3fab75772f Merge pull request #1474 from remibergsma/47_private_gw_initial_config
Handle private gateways more reliablyWhen initialising a VPC router we need to know which IP/device corresponds to a private gateway. This is to solve a problem when stop/starting a VPC router (which gets the private gateway config as a guest network and as a result breaks the functionality). You read it right, the private gateway is sent as type=guest after reboot and type=public initially.

Before this change, you could add a private gw to a running router but you couldn't restart it (it would mix up the tiers). Now the private gateway is detected properly and it works just fine.

Booting without private gateway:
```
root@r-167-VM:~# cat /etc/cloudstack/cmdline.json
{
    "config": {
        "baremetalnotificationapikey": "V2l1u3wKJVan01h8kq63-5Y5Ia3VLEW1v_Z6i-31QIRJXlt5vkqaqf6DVcdK0jP3u79SW6X9pqJSLSwQP2c2Rw",
        "baremetalnotificationsecuritykey": "OXI16srCrxFBi-xOtEwcYqwLlMfSFTlTg66YHtXBBqR7HNN1us3HP5zWOKxfVmz4a3C1kUNLPrUH13gNmZlu4w",
        "disable_rp_filter": "true",
        "dns1": "8.8.8.8",
        "domain": "cs2cloud",
        "eth0ip": "169.254.0.42",
        "eth0mask": "255.255.0.0",
        "host": "192.168.22.61",
        "name": "r-167-VM",
        "port": "8080",
        "privategateway": "None",
        "redundant_router": "false",
        "template": "domP",
        "type": "vpcrouter",
        "vpccidr": "10.0.0.0/24"
    },
    "id": "cmdline"
```

Booting with private gateway:
```
root@r-167-VM:~# cat /etc/cloudstack/cmdline.json
{
    "config": {
        "baremetalnotificationapikey": "V2l1u3wKJVan01h8kq63-5Y5Ia3VLEW1v_Z6i-31QIRJXlt5vkqaqf6DVcdK0jP3u79SW6X9pqJSLSwQP2c2Rw",
        "baremetalnotificationsecuritykey": "OXI16srCrxFBi-xOtEwcYqwLlMfSFTlTg66YHtXBBqR7HNN1us3HP5zWOKxfVmz4a3C1kUNLPrUH13gNmZlu4w",
        "disable_rp_filter": "true",
        "dns1": "8.8.8.8",
        "domain": "cs2cloud",
        "eth0ip": "169.254.2.227",
        "eth0mask": "255.255.0.0",
        "host": "192.168.22.61",
        "name": "r-167-VM",
        "port": "8080",
        "privategateway": "10.201.10.1",
        "redundant_router": "false",
        "template": "domP",
        "type": "vpcrouter",
        "vpccidr": "10.0.0.0/24"
    },
    "id": "cmdline"
```

And:
```
cat cmdline
vpccidr=10.0.0.0/24 domain=cs2cloud dns1=8.8.8.8 privategateway=10.201.10.1 template=domP name=r-167-VM eth0ip=169.254.2.227 eth0mask=255.255.0.0 type=vpcrouter disable_rp_filter=true baremetalnotificationsecuritykey=OXI16srCrxFBi-xOtEwcYqwLlMfSFTlTg66YHtXBBqR7HNN1us3HP5zWOKxfVmz4a3C1kUNLPrUH13gNmZlu4w baremetalnotificationapikey=V2l1u3wKJVan01h8kq63-5Y5Ia3VLEW1v_Z6i-31QIRJXlt5vkqaqf6DVcdK0jP3u79SW6X9pqJSLSwQP2c2Rw host=192.168.22.61 port=8080
```

Logs:
```
2016-02-24 20:08:45,723 DEBUG [c.c.n.r.VpcVirtualNetworkApplianceManagerImpl] (Work-Job-Executor-4:ctx-458d4c52 job-1402/job-1403 ctx-d5355fca) (logid:5772906c) Set privategateway field in cmd_line.json to 10.201.10.1
```

* pr/1474:
  Handle private gateways more reliably
  Add private gateway IP to router initialization config

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-12 11:02:55 -04:00
Will Stevens 309a60ea71 Merge pull request #1483 from remibergsma/pr1413-wilder-47
CLOUDSTACK-9287 - Fix unique mac address per rVPC routerThis is work by @wilderrodrigues, see PR #1413 It contains important fixes and I think it needs to be included so I send the PR again.

* pr/1483:
  CLOUDSTACK-9287 - Improve test by checking if pvt gw is removed and fix typos
  CLOUDSTACK-9287 - Fix RVR public interface
  CLOUDSTACK-9287 - Add integration test to cover the private gateway related changes
  CLOUDSTACK-9287 - Refactor the interface state configuration
  CLOUDSTACK-9287 - Check if the nic profile has already been removed from a certain router
  CLOUDSTACK-9287 - Bring up the private gw interface on state change to master
  CLOUDSTACK-9287 - Make sure private gw interface is not used for default gw
  CLOUDSTACK-9287 - Add integration test to cover the private gw interface/mac address issues
  CLOUDSTACK-9287 - Put private gateway interface down on backup router
  CLOUDSTACK-9287 - Generate new mac address if router is redundant and nic profile exists

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-12 11:00:40 -04:00
Rohit Yadav 07564469e9 CLOUDSTACK-9299: Out-of-band Management for CloudStack
Support access to a host’s out-of-band management interface (e.g. IPMI, iLO,
DRAC, etc.) to manage host power operations (on/off etc.) and querying current
power state in CloudStack.

Given the wide range of out-of-band management interfaces such as iLO and iDRA,
the service implementation allows for development of separate drivers as plugins.
This feature comes with a ipmitool based driver that uses the
ipmitool (http://linux.die.net/man/1/ipmitool) to communicate with any
out-of-band management interface that support IPMI 2.0.

This feature allows following common use-cases:
- Restarting stalled/failed hosts
- Powering off under-utilised hosts
- Powering on hosts for provisioning or to increase capacity
- Allowing system administrators to see the current power state of the host

For testing this feature `ipmisim` can be used:
https://pypi.python.org/pypi/ipmisim

FS:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Out-of-band+Management+for+CloudStack

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-12 11:05:40 +05:30
Mike Tutkowski dad9e5d868 CLOUDSTACK-8813: Notify listeners when a host has been added to a cluster, is about to be removed from a cluster, or has been removed from a cluster 2016-05-11 08:02:46 -06:00
Nick Livens 71c9c90e0c CLOUDSTACK-9365 : updateVirtualMachine with userdata should not error when a VM is attached to multiple networks from which one or more doesn't support userdata 2016-05-11 07:59:38 +02:00
Rohit Yadav afcbd270b2 CLOUDSTACK-8562: Deprecate commands.properties
- Removes commands.properties file
- Fixes apidocs and marvin to be independent of commands.properties usage
- Removes bundling of commands.properties in deb/rpm packaging
- Removes file references across codebase

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-11 09:45:19 +05:30
Rohit Yadav 4347776ac6 CLOUDSTACK-8562: DB-Backed Dynamic Role Based API Access Checker
This feature allows root administrators to define new roles and associate API
permissions to them.

A limited form of role-based access control for the CloudStack management server
API is provided through a properties file, commands.properties, embedded in the
WAR distribution. Therefore, customizing API permissions requires unpacking the
distribution and modifying this file consistently on all servers. The old system
also does not permit the specification of additional roles.

FS:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Dynamic+Role+Based+API+Access+Checker+for+CloudStack

DB-Backed Dynamic Role Based API Access Checker for CloudStack brings following
changes, features and use-cases:
- Moves the API access definitions from commands.properties to the mgmt server DB
- Allows defining custom roles (such as a read-only ROOT admin) beyond the
  current set of four (4) roles
- All roles will resolve to one of the four known roles types (Admin, Resource
  Admin, Domain Admin and User) which maintains this association by requiring
  all new defined roles to specify a role type.
- Allows changes to roles and API permissions per role at runtime including additions or
  removal of roles and/or modifications of permissions, without the need
  of restarting management server(s)

Upgrade/installation notes:
- The feature will be enabled by default for new installations, existing
  deployments will continue to use the older static role based api access checker
  with an option to enable this feature
- During fresh installation or upgrade, the upgrade paths will add four default
  roles based on the four default role types
- For ease of migration, at the time of upgrade commands.properties will be used
  to add existing set of permissions to the default roles. cloud.account
  will have a new role_id column which will be populated based on default roles
  as well

Dynamic-roles migration tool: scripts/util/migrate-dynamicroles.py
- Allows admins to migrate to the dynamic role based checker at a future date
- Performs a harder one-way migrate and update
- Migrates rules from existing commands.properties file into db and deprecates it
- Enables an internal hidden switch to enable dynamic role based checker feature

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-11 09:45:19 +05:30
Rohit Yadav 95abb6efc3 CLOUDSTACK-9361: Centrally handle API validations
Validate API arguments based on annotations. Introduces:
- NotNullOrEmpty: for doing null and empty string checks
- PositiveNumber: number > 0 (natural number)

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-11 09:40:22 +05:30
Will Stevens 456680dbb2 Merge pull request #880 from SudharmaJain/cs-8901
CLOUDSTACK-8901: PrepareTemplate job thread hard-coded to max 8 threads The thread pool was hardcoded to use 8 threads,
com.cloud.template.TemplateManagerImpl.configure(String, Map<String, Object>):
_preloadExecutor = Executors.newFixedThreadPool(8, new NamedThreadFactory("Template-Preloader"));

Added the change to pick threadpool size from configuration.

* pr/880:
  CLOUDSTACK-8901: PrepareTemplate job thread hard-coded to max 8 threads

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-11 00:08:45 -04:00
Will Stevens de582a41c0 Merge pull request #1497 from nvazquez/addidsparam
CLOUDSTACK-9351: Add ids parameter to resource listing API calls## General behaviour
A new parameter is added in each method, its type a list of IDs of the entity, it will be mutually exclusive with id. (Similar to <code>id</code> and <code>ids</code> parameters in <code>listVirtualMachines</code> method)

### API Methods affected
* <code>listTemplates</code>: new parameter **<code>ids</code>**, mutually exclusive with <code>id</code>
* <code>listVolumes</code>: new parameter **<code>ids</code>**, mutually exclusive with <code>id</code>
* <code>listSnapshots</code>: new parameter **<code>ids</code>**, mutually exclusive with <code>id</code>
* <code>listVMSnapshots</code>: new parameter **<code>vmsnapshotids</code>**, mutually exclusive with <code>vmsnapshotid</code>

* pr/1497:
  CLOUDSTACK-9351: Add marvin test and add it to travis file
  CLOUDSTACK-9351: Add ids parameter to resource listing API calls

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-10 23:49:55 -04:00
Will Stevens fa3bce5a83 Merge pull request #1496 from shapeblue/kvm-ha
CLOUDSTACK-9350: KVM-HA- Fix CheckOnHost for Local storage- KVM-HA- Fix CheckOnHost for Local storage
 - Also skip HA on VMs that are using local storage

* pr/1496:
  CLOUDSTACK-9350: KVM-HA- Fix CheckOnHost for Local storage     - Also skip HA on VMs that are using local storage

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-10 23:49:04 -04:00
Will Stevens 8a3fd10615 Merge pull request #1124 from rafaelweingartner/CID-1338387
CID-1338387: Deletion of method endPointSelector.selectHypervisorHostFollowing the discussions and analysis presented on PR #1056 create by @DaanHoogland
This PR is intended to push those changes that were discussed there regarding the of endPointSelector.selectHypervisorHost method.

* pr/1124:
  Deletion of method endPointSelector.selectHypervisorHost

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-10 23:47:50 -04:00
Syed 7b5d5648d8 Fix create template from snapshot returning null in case of region store 2016-05-09 15:59:23 -04:00
weingartner 417d9a5d80 Removed unnecessary check when creating the “userVmResponse” object. 2016-05-06 15:16:37 -03:00
nvazquez baa8610061 CLOUDSTACK-9351: Add ids parameter to resource listing API calls 2016-05-06 14:42:42 -03:00
Olivier Lemasle 61d2692597 CLOUDSTACK-9358: StringIndexOutOfBoundsException on events
Fixes JSON deserialization of cmdInfo (current process fails with
StringIndexOutOfBoundsException when cmdEventType is the last parameter
in the JSON string.
2016-05-04 01:15:03 +02:00
Rohit Yadav 4d57ec04ac Merge branch '4.8'
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-03 08:22:37 +05:30
Rohit Yadav 126a039eb8 Merge branch '4.7' into 4.8 2016-05-03 08:20:27 +05:30
Will Stevens 62d9f444e3 Merge pull request #1321 from nitin-maharana/CloudStack-Nitin5_4.7
CLOUDSTACK-8847: ListServiceOfferings is returning incompatible tagged offerings when called with VM idWhen calling listServiceOfferings with VM id as parameter. It is returning incompatible tagged offerings. It should only list all compatible tagged offerings. Compatible means the new service offering should contain all the tags of the existing service offering(Existing offering SUBSET of new offering). If that is the case It should list in the result and can be upgraded to that offering.

* pr/1321:
  CLOUDSTACK-8847: ListServiceOfferings is returning incompatible tagged offerings when called with VM id

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-02 16:59:57 -04:00
Will Stevens 9654c990c8 Merge pull request #1365 from shapeblue/4.7-vmware-diskchain
[4.7] vmware: improve support for disks- Improve disk chain usage while attaching, migrating disks
- Gets root disk controller based diskDeviceBusName from volume's chain info

* pr/1365:
  vmware: improve support for disks

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-02 16:58:41 -04:00
Maneesha.P 7ad3c5e834 CLOUDSTACK-8800 : Improved the listVirtualMachines API call to include memory utilization information for a VM for xenserver,kvm and for vmware. 2016-04-29 14:06:49 -03:00
Abhinandan Prateek 3b89cbe733 CLOUDSTACK-9350: KVM-HA- Fix CheckOnHost for Local storage
- Also skip HA on VMs that are using local storage
2016-04-29 12:38:33 +05:30
Will Stevens 12d8e53dd5 Merge pull request #1454 from shapeblue/host-maint
CLOUDSTACK-9323: Fix cancel host maintenance canFix cancel host maintenance so that if maintenance is cancelled the host come back to normal state gracefully.

Added marvin tests for host maintennace.

* pr/1454:
  CLOUDSTACK-9323: Fix Cancel maintenance so that if maintenance is cancelled the host come back to normal state gracefully. Added marvin tests for host maintennace.

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-04-28 16:05:10 -04:00
Will Stevens a5ee4432e7 Merge release branch 4.8 to master
* 4.8:
  Removed sleeps and used validateList as requested.
  Added required_hardware="false" attr above test_02_root_volume_attach_detach
  Modified test_volumes.py to include a hypervisor test for root attach/detach testing
  Let hypervisor type KVM and Simulator detach root volumes. Updated test_volumes.py to include a test for detaching and reattaching a root volume from a vm. I also had to update base.py to allow attach_volume to have the parameter deviceid to be passed as needed.
2016-04-28 16:04:20 -04:00
Will Stevens d11194abec Merge release branch 4.7 to 4.8
* 4.7:
  Removed sleeps and used validateList as requested.
  Added required_hardware="false" attr above test_02_root_volume_attach_detach
  Modified test_volumes.py to include a hypervisor test for root attach/detach testing
  Let hypervisor type KVM and Simulator detach root volumes. Updated test_volumes.py to include a test for detaching and reattaching a root volume from a vm. I also had to update base.py to allow attach_volume to have the parameter deviceid to be passed as needed.
2016-04-28 16:03:46 -04:00
Will Stevens 1979f42b2d Merge pull request #1500 from myENA/KVM_root_detach
CLOUDSTACK-9349: Enable root disk detach for KVM with new Marvin testsThis PR addresses the KVM detach/attach ROOT disks from VMs (CLOUDSTACK-9349).  In short, this allows the KVM Hypervisor, and I added the Simulator as a valid hypervisor for ease of development and testing of marvin, to detach a root volume and the reattach a root volume using the deviceid=0 flag to the attachVolume API.  I have also written a marvin integration test that verifies this feature works for both KVM and the Simulator.

Below is the marvin results files of the full marvin test_volumes.py.  All tests pass, including the new root detach/attach, on our KVM lab running with the patches in this PR.

[test_volumes_KIR4G3.zip](https://github.com/apache/cloudstack/files/223799/test_volumes_KIR4G3.zip)

* pr/1500:
  Removed sleeps and used validateList as requested.
  Added required_hardware="false" attr above test_02_root_volume_attach_detach
  Modified test_volumes.py to include a hypervisor test for root attach/detach testing
  Let hypervisor type KVM and Simulator detach root volumes. Updated test_volumes.py to include a test for detaching and reattaching a root volume from a vm. I also had to update base.py to allow attach_volume to have the parameter deviceid to be passed as needed.

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-04-28 16:02:54 -04:00
Nathan Johnson 7778e24bf7 Log responses from asynchronous api commands
This is mainly useful so that we can see the job ids in the logs
whenever the job is created via the API.
2016-04-27 19:43:57 -05:00
Will Stevens 5c1ad900a2 Merge pull request #826 from kansal/CLOUDSTACK-8853
Fixed: Error given when creating VPN user in one network if VR for another network is stopped.

Problem: Adding a VPN user to an IP on an isolated network fails with an exception if the end-user has two isolated networks and one of them is not in use (i.e. VR is stopped).

Fix: Presently in the code, all the VR which are not in Running state are forced to throw error. Added a check for the Stopped and Stopping state routers. Configurations will be applied to them when they get restarted.

* pr/826:
  Fixed Coverity Issue: Unintentional Integer FLow
  Fixed: Error given when creating VPN user in one network if VR for another network is stopped

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-04-26 13:10:30 -04:00
Will Stevens 9b525f51a2 Merge pull request #1452 from prashanthvarma/master
CLOUDSTACK-9322: Support for Internal LB fuctionality with Nuage VSP SDN Plugin including Marvin test coverageTask: https://issues.apache.org/jira/browse/CLOUDSTACK-9322

PR contents:
1) UI changes to support LB provider InternalLbVm during VPC offering creation.
2) Bug fix for CLOUDSTACK-9320.
3) Nuage VSP SDN Plugin related enhancements for VPC network functionality.
4) Marvin test coverage for Internal LB support on master with Nuage VSP SDN Plugin.
5) Enhancements on our exiting Marvin test code (nuagevsp plugins directory).
6) PEP8 & PyFlakes compliance with our Marvin test code.

Test run:
CloudStack$ nosetests --with-marvin --marvin-config=nuage_ant.cfg test/integration/plugins/nuagevsp/ -a tags=nuagevsp

Test results:
Test user data and password reset functionality with Nuage VSP SDN plugin ... === TestName: test_nuage_UserDataPasswordReset | Status : SUCCESS ===
ok
Test Nuage VSP VPC Offering with different combinations of LB service providers ... === TestName: test_01_nuage_internallb_vpc_Offering | Status : SUCCESS ===
ok
Test Nuage VSP VPC Network Offering with and without Internal LB service ... === TestName: test_02_nuage_internallb_vpc_network_offering | Status : SUCCESS ===
ok
Test Nuage VSP VPC Networks with and without Internal LB service ... === TestName: test_03_nuage_internallb_vpc_networks | Status : SUCCESS ===
ok
Test Nuage VSP VPC Internal LB functionality with different combinations of Internal LB rules ... === TestName: test_04_nuage_internallb_rules | Status : SUCCESS ===
ok
Test Nuage VSP VPC Internal LB functionality by performing (wget) traffic tests within a VPC ... === TestName: test_05_nuage_internallb_traffic | Status : SUCCESS ===
ok
Test Nuage VSP VPC Internal LB functionality with different LB algorithms by performing (wget) traffic tests ... === TestName: test_06_nuage_internallb_algorithms_traffic | Status : SUCCESS ===
ok
Test Nuage VSP VPC Internal LB functionality with restarts of VPC network components by performing (wget) ... === TestName: test_07_nuage_internallb_vpc_network_restarts_traffic | Status : SUCCESS ===
ok
Test Nuage VSP VPC Internal LB functionality with InternalLbVm appliance operations by performing (wget) ... === TestName: test_08_nuage_internallb_appliance_operations_traffic | Status : SUCCESS ===
ok
Test Basic VPC Network Functionality with Nuage VSP SDN plugin ... === TestName: test_nuage_vpc_network | Status : SUCCESS ===
ok
Test Nuage VSP SDN plugin with basic Isolated Network functionality ... === TestName: test_nuage_vsp | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 11 tests in 12094.705s

OK

Test run logs:
[results.txt](https://github.com/apache/cloudstack/files/187587/results.txt)
[runinfo.txt](https://github.com/apache/cloudstack/files/187588/runinfo.txt)

Test config file:
[nuage_ant.txt](https://github.com/apache/cloudstack/files/222711/nuage_ant.txt)

Note: Attached the Marvin config file as .txt instead of .cfg.

PEP8 & PyFlakes Compliance:
CloudStack$ pep8 --max-line-length=150 test/integration/plugins/nuagevsp/*.py
CloudStack$ pyflakes test/integration/plugins/nuagevsp/nuageTestCase.py
CloudStack$ pyflakes test/integration/plugins/nuagevsp/test_nuage_password_reset.py
CloudStack$ pyflakes test/integration/plugins/nuagevsp/test_nuage_vpc_internal_lb.py
CloudStack$ pyflakes test/integration/plugins/nuagevsp/test_nuage_vpc_network.py
CloudStack$ pyflakes test/integration/plugins/nuagevsp/test_nuage_vsp.py
CloudStack$ pyflakes test/integration/plugins/nuagevsp/*.py

#CLOUDSTACK-9322

* pr/1452:
  CLOUDSTACK-9322 : Marvin tests for Internal Lb with Nuage VSP
  CLOUDSTACK-9320 : InternalLBVM is not getting destroyed when the last Internal Load Balancer rule is removed for the corresponding source IP address
  CLOUDSTACK-9322 : Changes to support InternalLbVm with Nuage VSP plugin

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-04-25 15:53:58 -04:00
Abhinandan Prateek 182ab648b5 CLOUDSTACK-9323: Fix Cancel maintenance so that if maintenance is cancelled the host come back to normal state gracefully.
Added marvin tests for host maintennace.
2016-04-25 15:28:32 +05:30
Will Stevens f530a4c63a Merge pull request #1200 from koushik-das/CLOUDSTACK-9130
CLOUDSTACK-9130: Make RebootCommand similar to start/stop/migrate agent commands w.r.t. "execute in sequence" flag

RebootCommand now behaves in the same way as start/stop/migrate agent commands w.r.t. to sequential/parallel execution.

* pr/1200:
  CLOUDSTACK-9130: Make RebootCommand similar to start/stop/migrate agent commands w.r.t. "execute in sequence" flag RebootCommand now behaves in the same way as start/stop/migrate agent commands w.r.t. to sequential/parallel execution.

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-04-21 16:35:27 -04:00
Kshitij Kansal fae20570c2 Fixed Coverity Issue: Unintentional Integer FLow 2016-04-21 12:06:36 +05:30
Kshitij Kansal e5e226e549 Fixed: Error given when creating VPN user in one network if VR for another network is stopped 2016-04-21 12:06:36 +05:30
SudharmaJain 93ce108e0c CLOUDSTACK-8901: PrepareTemplate job thread hard-coded to max 8 threads 2016-04-21 09:13:06 +05:30
David Mabry 0b7cc087f8 Let hypervisor type KVM and Simulator detach root volumes.
Updated test_volumes.py to include a test for detaching and reattaching a root volume from a vm. I also had to update base.py to allow attach_volume to have the parameter deviceid to be passed as needed.
2016-04-18 15:40:36 -05:00
Rohit Yadav 8e4644e413 vmware: improve support for disks
- Improve disk chain usage while attaching, migrating disks
- Gets root disk controller based diskDeviceBusName from volume's chain info
- Refactor and move VirtualMachineDiskInfo to cloud-utils
- Allows mixing of scsi controller types
- Fixes a NPE case with map passed as null, for example in case of detach volume
  command
- Use a osdefault translator that allow use of recent os types added (enums of
  which) are not available in the sdk

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-04-18 22:44:18 +05:30
Will Stevens 08f2ec5044 Merge pull request #1263 from rafaelweingartner/lrg-cs-hackday-018
Removed unused code from com.cloud.api.ApiServer**Removed \_ from variables names**: private variables with \_ at the beginning is common in C++ but not in Java.

**Removed unused code from ApiServer:**
- com.cloud.api.ApiServer.getPluggableServices(): unused method;
- com.cloud.api.ApiServer.getApiAccessCheckers(): unused method;

**Methods and variables access level reviewed:**
- com.cloud.api.ApiServer.handleAsyncJobPublishEvent(String, String ,Object): this method was private but the annotation @MessageHandler requests public methods, as can be seen in org.apache.cloudstack.framework.messagebus.MessageDispatcher.buildHandlerMethodCache(Class\<?\>), which searches methods with the @MessageHandler annotation and changes
it to be accessible (setAccessible(true)). Thus, there is no reason for handleAsyncJobPublishEvent be a private method and lead some other dev to wrong conclusions about the use of the method;
- Global variables and methods called just by this class (ApiServer) were changed to private.

**Changed variables and methods from static to non-static (if possible):** as some variables/methods are used just by one object of this class, instantiated by Spring, they were changed to non-static.

With that, calls from com.cloud.api.ApiServlet.ApiServlet() that used static methods from ApiServer, were changed from ApiServer.\<staticMethodName\> to \_apiServer.\<methodName\> that refers to the org.apache.cloudstack.api.ApiServerService interface. Thus, methods com.cloud.api.ApiServer.getJSONContentType() and com.cloud.api.ApiServer.isSecureSessionCookieEnabled() had to be added in the interface (org.apache.cloudstack.api.ApiServerService, interface implemented by class ApiServer).

* pr/1263:
  The goal of this PR is to review com.cloud.api.ApiServer class, with the following actions:

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-04-18 08:34:53 -04:00
gabrascher 48888e7405 The goal of this PR is to review com.cloud.api.ApiServer class, with the
following actions:

Removed “_” in beginning of global variables names:
Variables was changed from “_<variablename>” to “<variablename>”, as
this convension (private veriables with “_”) is common in C++ but not in
Java.

Removed unused code from ApiServer:
- com.cloud.api.ApiServer.getPluggableServices():
	Unused method.
- com.cloud.api.ApiServer.getApiAccessCheckers():
	Unused method.

Methods and variables access level reviewed:
- com.cloud.api.ApiServer.handleAsyncJobPublishEvent(String, String,
Object):
	This method was private but the annotation @MessageHandler requests
public methods, as can be seen in
org.apache.cloudstack.framework.messagebus.MessageDispatcher.buildHandlerMethodCache(Class<?>),
which searches methods with the @MessageHandler annotation and changes
it to accessible (“setAccessible(true)”). Thus, there is no reason for
handleAsyncJobPublishEvent be a private method.

- Global variables and methods called just by this class (ApiServer)
were changed to private.

Changed variables and methods from static to non static (if possible):
As some variables/methods are used just by one object of this class
(instantiated by springer), they were changed to non static.

With that, calls from com.cloud.api.ApiServlet.ApiServlet() that used
static methods from ApiServer, was changed from
ApiServer.<staticMethodName> to _apiServer.<methodName> that refers to
the org.apache.cloudstack.api.ApiServerService interface. Thus, methods
com.cloud.api.ApiServer.getJSONContentType() and
com.cloud.api.ApiServer.isSecureSessionCookieEnabled() had to be
included in the interface (org.apache.cloudstack.api.ApiServerService,
interface implemented by class ApiServer).

However, com.cloud.api.ApiServer.isEncodeApiResponse() was keept static,
as its call hierarchy would have to be changed (more than planed for
this PR).
2016-04-12 15:46:07 -03:00
Koushik Das d1def0a730 Merge pull request #1287 from DaanHoogland/securityrules-cleanup
SecurityGroupRulesCmd code cleanupWrote a test and cleaned some duplicate code with the objective to evaluate the jenkins pull request process at builds.a.o
worthwhile to keep, IMHO.

* pr/1287:
  SecurityGroupRulesCmd code cleanup review comments handled
  deal with PMD warnings
  code cleanup
  security rules test
  remove autogenerated pydev files

Signed-off-by: Koushik Das <koushik@apache.org>
2016-04-11 21:49:57 +05:30
Wilder Rodrigues 850fb1a557 CLOUDSTACK-9287 - Check if the nic profile has already been removed from a certain router
- In case of redundant VPCs, the ACL items are revoked in the first iteration. Since the econd iteration
     is needed in order to remove the private network, we have to check if the nic profile is gone before trying
     to revoke the ACL items again, which would throw a NPE.
   - Some variable extraction in order to ease debugging.
2016-04-09 21:14:17 +02:00
Wilder Rodrigues f921ec686b CLOUDSTACK-9287 - Generate new mac address if router is redundant and nic profile exists 2016-04-09 21:13:28 +02:00
weingartner b56e9c7a22 Deletion of method endPointSelector.selectHypervisorHost
As discussed on PR 1056, I am removing the method
“endPointSelector.selectHypervisorHost” that is not needed anymore
2016-04-08 11:07:18 -03:00
Miguel Ferreira 65cb22216a Add private gateway IP to router initialization config 2016-04-07 21:13:00 +02:00
Will Stevens f960725dd5 Merge pull request #1457 from nvazquez/excludeclusters
CLOUDSTACK-9333: Exclude clusters from OVF operationsJIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9333

## Introduction
In some environments there is a need to exclude certain VMware clusters from performing OVF operations. This operations are part of:
* create template
* create volume snaphsot
* copy template, volume, images from primary storage to secondary storage
* migrate volume
* participate when a template gets cached over to primary storage.

In ESX/ESXi, OVF operations are low priority and bound to a single CPU and most likely get throttled to certain IOPS and network limits.
If the hypervisor chosen for OVF operations is weak or overloaded this results in significantly longer execution of such OVF command and therefore degraded performance of underlying CloudStack API call.

### Proposed solution
It is proposed to add a way to exclude hosts from selected clusters for OVF operations.
To exclude a cluster, would be necessary to insert a record in <code>cluster_details</code> specifying property **vmware.exclude_from_ovf** in this way: (supposing we want to exclude cluster X)

| cluster_id | name| value |
|:-------------:|:-------------:|:-------------:|
|X|vmware.exclude_from_ovf|true|

* pr/1457:
  CLOUDSTACK-9333: Exclude clusters for OVF operations

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-04-07 13:30:20 -04:00
Will Stevens f7c3957af3 Merge release branch 4.8 to master
* 4.8:
  Add ability to download templates in Swift
2016-04-06 14:33:39 -04:00
Will Stevens bb82f9a7fa Merge release branch 4.7 to 4.8
* 4.7:
  Add ability to download templates in Swift
2016-04-06 14:32:08 -04:00
Will Stevens ef115ab1d0 Merge pull request #1332 from syed/swift-download
Add ability to download templates in SwiftThis PR adds the ability to download templates when using Swift as a secondary storage. Uses the "temp_url" feature of Swift so that tempates can be downloaded without authenticaiton.

* pr/1332:
  Add ability to download templates in Swift

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-04-06 14:19:44 -04:00
Syed 52fc2bab69 Add ability to download templates in Swift 2016-04-05 16:40:00 -04:00
nvazquez 4aae051558 CLOUDSTACK-9333: Exclude clusters for OVF operations 2016-04-05 08:21:36 -07:00
Will Stevens 419f8fba63 Merge pull request #1425 from nvazquez/listtemplates
CLOUDSTACK-9298: Improve performance of resource retrieval that have tags associated and target volumes, VMs and templatesJIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9298

## Description of the problem
When retrieving a large number of resources which have tags associated with, retrieval methods took too long. Our goal is to improve performance of this methods avoiding query the database for each tag, managing that information in memory.
API methods to improve: <code>listTemplates</code>, <code>listVolumes</code>, <code>listVirtualMachines</code>

To achive it, it's necessary to include new columns in <code>template_view</code>, <code>volume_view</code> and <code>user_vm_view</code>:
* tag_account_name
* tag_domain_name
* tag_domain_uuid

* pr/1425:
  CLOUDSTACK-9298: Remove user definer from view creations
  CLOUDSTACK-9298: Add @MappedSuperClass support for persistence inheritance
  CLOUDSTACK-9298: Improve ListTemplatesCmd, ListVolumesCmd and ListVMsCmd performance

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-03-31 22:24:36 -04:00
jeff 3e2c18a4bb Refactor console proxy default network retrieval.
It is now broken into separate methods for more readability and
flexibility. Each zone type (basic, advanced) has its own method for
getting the default network when creating the VM.
2016-03-31 10:41:43 +00:00
Nick Livens ae0d6b32d8 CLOUDSTACK-9322 : Changes to support InternalLbVm with Nuage VSP plugin 2016-03-29 11:24:45 +02:00
Will Stevens c48b6c33c0 Revert "Merge pull request #780 from maneesha-p/pull-19" due code quality issues and lack of CI results.
This reverts commit dc0ba6bd1a, reversing
changes made to 63f58dd578.
2016-03-21 17:38:04 -04:00
Kishan Kavala dc0ba6bd1a Merge pull request #780 from maneesha-p/pull-19
CLOUDSTACK-8800 : Improved the listVirtualMachines API call to include memory utilization information for a VMfor xenserver,kvm and for vmware.

* pr/780:
  CLOUDSTACK-8800 : Improved the listVirtualMachines API call to include memory utilization information for a VM for xenserver,kvm and for vmware.

Signed-off-by: Kishan Kavala <kishan@apache.org>
2016-03-17 12:35:48 +05:30
Maneesha.P 732a85295d CLOUDSTACK-8800 : Improved the listVirtualMachines API call to include memory utilization information for a VM for xenserver,kvm and for vmware. 2016-03-16 16:13:10 +05:30
nvazquez 9857f41d9a CLOUDSTACK-9298: Add @MappedSuperClass support for persistence inheritance 2016-03-10 06:07:29 -08:00
nvazquez db54b26fed CLOUDSTACK-9298: Improve ListTemplatesCmd, ListVolumesCmd and ListVMsCmd performance 2016-03-10 06:07:29 -08:00
gabrascher fea264c5da VmDetailConstants "ROOK_DISK_CONTROLLER" to "ROOT_DISK_CONTROLLER"
The ROOK_DISK_CONTROLLER variable stores the "rootDiskController"
String; thus, this commit changes the name to "ROOT_DISK_CONTROLLER".
2016-03-09 22:43:55 -03:00
nvazquez db3e18df31 CLOUDSTACK-9252: Last refactor, passing nfs version to ssvm 2016-02-15 08:13:22 -08:00
nvazquez 3fb18bd494 CLOUDSTACK-9252: New refactor 2016-02-03 07:08:39 -08:00
nvazquez cc50c20b4b CLOUDSTACK-9252: Remove static dependencies, refactor 2016-02-01 12:58:51 -08:00
nvazquez 76dc2705b7 CLOUDSTACK-9252: Remove duplicates getNfsVersion, refactor 2016-02-01 12:50:58 -08:00
nvazquez e524f65570 CLOUDSTACK-9252: Support configurable nfs version 2016-02-01 12:50:58 -08:00
Rohit Yadav de436acac8 Merge pull request #1261 from rafaelweingartner/lrg-cs-hackday-19
Removed unused variables from "NetworkStateListener" classWe removed the following variables from "com.cloud.network.NetworkStateListener"
. UsageEventDao _usageEventDao
. NetworkDao _networkDao

We changed the EventBus s_eventBus variable to private, the constructor not to use those variables and applied this change in classes com.cloud.network.IpAddressManagerImpl and org.apache.cloudstack.engine.orchestration.NetworkOrchestrator

* pr/1261:
  Removed unused variables from class NetworkStateListener

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-01-27 16:26:45 +01:00
Rohit Yadav ba722f8495 Merge pull request #855 from rafaelweingartner/master-lrg-cs-hackday-007
Removal of class AgentBasedStandaloneConsoleProxyManagerThe AgentBasedStandaloneConsoleProxyManager class is neither manually
instatiated anywhere in the code nor via Spring. Further checking in the
interface which the class implements, shows that the use for classes
implementing the EventBus interface relies on instances generated by the
Spring framework, which discards the possibility of the class being
created by EJB. Being the class useless, it was discarded.

* pr/855:
  Add Javadoc to AgentBasedStandaloneConsoleProxyManager

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-01-27 16:00:13 +01:00
Rohit Yadav f280bbe9e4 Merge pull request #830 from sureshanaparti/CLOUDSTACK-8858
CLOUDSTACK-8858: listVolumes API fails for a particular domain with NPE.CLOUDSTACK-8858: listVolumes API fails for a particular domain with NPE.

Summary: listVolumes API fails when volume associated vm instance has NULL or invalid state. Fix the code to guard this situation since this should not block volume listing.

* pr/830:
  CLOUDSTACK-8858: listVolumes API fails for a particular domain with NPE.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-01-27 15:56:07 +01:00
Remi Bergsma 8c60ad214f Merge release branch 4.7 to 4.8
* 4.7:
  CLOUDSTACK-9254: Make longer names display pretty
  CLOUDSTACK-9245 - Deletes ACL items when destroying the VPC or deleting the ACL itself
  CLOUDSTACK-9245 - Formatting NetworkACLServiceImpl class
  CLOUDSTACK-9245 - Formatting VpcManagerImpl class
  CLOUDSTACK-9245 - Formatting NetworkACLManagerImpl class
  More VR performance!
2016-01-26 08:39:28 +01:00
Remi Bergsma 886be62cfb Merge release branch 4.7 to master
* 4.7:
  CLOUDSTACK-9245 - Deletes ACL items when destroying the VPC or deleting the ACL itself
  CLOUDSTACK-9245 - Formatting NetworkACLServiceImpl class
  CLOUDSTACK-9245 - Formatting VpcManagerImpl class
  CLOUDSTACK-9245 - Formatting NetworkACLManagerImpl class
2016-01-26 07:56:20 +01:00
Wilder Rodrigues 3ec37a0efd CLOUDSTACK-9245 - Deletes ACL items when destroying the VPC or deleting the ACL itself 2016-01-22 12:49:48 +01:00
Wilder Rodrigues 1571e01994 CLOUDSTACK-9245 - Formatting NetworkACLServiceImpl class 2016-01-22 10:03:14 +01:00
Wilder Rodrigues 84e89a5843 CLOUDSTACK-9245 - Formatting VpcManagerImpl class 2016-01-22 10:03:14 +01:00
Wilder Rodrigues 7b106db4b2 CLOUDSTACK-9245 - Formatting NetworkACLManagerImpl class 2016-01-22 10:03:13 +01:00
Remi Bergsma ce4ea45ce0 Merge release branch 4.7 to master
* 4.7:
  CLOUDSTACK-9237: Create LB Healthcheck issues - button alignment and error message goes outside the window
  CLOUDSTACK-9235: Autoscale button is missing in VPC
  CLOUDSTACK-9229: Autoscale policy creation failing in VPC due to zoneid missing in createAutoScaleVmProfile
2016-01-20 22:39:37 +01:00
Remi Bergsma c99f57fc93 Merge pull request #1340 from nitin-maharana/CloudStack-Nitin23_4.7
CLOUDSTACK-9237: Create LB Healthcheck issues - button alignment and error message goes outside the windowBrowser - Chrome Version 47.0.2526.106 m

Steps to Repro:
============
Open up - Network-Guest Networks -> IP Addresses-> IP<Static NAT> -> Load Balancing
- click on the "Configure" button below the healthcheck,
- opens a "label.heath.check.wizard"

Issues:
======
(1) Please see the snapshot attached
- leave the default values as is and click on the "Create"
- opens a "Status" dialog with an error message

(2) Message on the dialog goes outside the window

Fix:
===
Increased the size of width of dialog box.
Json response parsing was missing. Added it.

Snapshot for Error Message Issue:
===========================
![error_message_details](https://cloud.githubusercontent.com/assets/12583725/12320920/52dbd3d0-bad1-11e5-9ce1-0fbdd2203b60.png)

Snapshot of the fix:
===============
<img width="627" alt="fixed_ss1_nitin" src="https://cloud.githubusercontent.com/assets/12583725/12320935/76613368-bad1-11e5-8540-cbd565edff9f.png">

Snapshot for out of window issue:
==========================
![label_health_check_window](https://cloud.githubusercontent.com/assets/12583725/12320952/8f3d3062-bad1-11e5-9b85-4743d286921e.png)

Snapshot of the fix:
===============
<img width="695" alt="fixed_ss2_nitin" src="https://cloud.githubusercontent.com/assets/12583725/12320970/a3f7e2ae-bad1-11e5-8a9c-d2811aa6effc.png">

* pr/1340:
  CLOUDSTACK-9237: Create LB Healthcheck issues - button alignment and error message goes outside the window

Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-20 22:03:53 +01:00
Remi Bergsma bca6076f15 Merge pull request #864 from bvbharatk/CLOUDSTACK-8860
CLOUDSTACK-8860: improve error messages in VM deployment code path.improved the error messages in vm deployment code path. added some more data to the error messages and also fixed some errors using internal ids to use uuids.

* pr/864:
  CLOUDSTACK-8860: improve error messages in VM deployment code path.

Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-20 15:05:09 +01:00
Remi Bergsma f98f983583 Merge release branch 4.7 to master
* 4.7:
  ui: improve metrics view implementation
  CLOUDSTACK-9132: API createVolume takes empty string for name parameter
2016-01-19 17:48:25 +01:00
Remi Bergsma c7ad1b6083 Merge pull request #1319 from nitin-maharana/CloudStack-Nitin15_4.7
CLOUDSTACK-9132: API createVolume takes empty string for name parameterSteps to Reproduce:
================

Create a volume using createVolume API where parameter name is empty.
It creates a volume with empty name.
But the name parameter is mandatory.(Issue)

Expected Behaviour:
================

It shouldn't create a volume with an empty name. Error should be returned.

Solution:
=======

Added a condition to check in case of empty string. If the name is an empty string, it generates a random name for the volume. Made the name field optional in UI as well as in API.

* pr/1319:
  CLOUDSTACK-9132: API createVolume takes empty string for name parameter

Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-19 17:44:56 +01:00
Remi Bergsma 24818af23a Merge release branch 4.7 to master
* 4.7:
  CLOUDSTACK-9222 Prevent cloud.log.1 filling up the disk
  Add integration test for restartVPC with cleanup, and Private Gateway enabled.
  Nullpointer Exception in NicProfileHelperImpl
2016-01-16 20:25:29 +01:00
Remi Bergsma 4dabd1311c Merge pull request #1328 from borisroman/nullpointer_nicprofilehelperimpl
NicProfileHelperImpl NullpointerException when ipVO is nullWhen a VPC has a private gateway, and one would like to restart the VPC with **cleanup** it would fail.

This PR adds a NullPointer check and verifies it with an integration test.

```
test_01_vpc_privategw_acl (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_01_vpc_privategw_acl | Status : SUCCESS ===
ok
test_02_vpc_privategw_static_routes (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_02_vpc_privategw_static_routes | Status : SUCCESS ===
ok
test_03_vpc_privategw_restart_vpc_cleanup (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_03_vpc_privategw_restart_vpc_cleanup | Status : SUCCESS ===
ok
test_04_rvpc_privategw_static_routes (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_04_rvpc_privategw_static_routes | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 4 tests in 2945.055s

OK
```

* pr/1328:
  Add integration test for restartVPC with cleanup, and Private Gateway enabled.
  Nullpointer Exception in NicProfileHelperImpl

Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-16 20:15:52 +01:00
Remi Bergsma 75b68c6829 Merge release branch 4.7 to master
* 4.7:
  Fix unable to setup more than one Site2Site VPN Connection
  FIX S2S VPN rVPC: Check only redundant routers in state MASTER
  PEP8 of integration/smoke/test_vpc_vpn
  Add S2S VPN test for Redundant VPC
  Make integration/smoke/test_vpc_vpn Hypervisor independant
  FIX VPN: non-working ipsec commands
  [UI] MADNESS
  [DB] Add force_encap field to s2s_customer_gateway table
  [ROUTER] Add forceencaps field to python router ipsec config method
  [TEST] unittest needs rework
  [MARVIN] Add forceencap field to VpnCustomerGateway class in marvin base
  [CORE] Add Force UDP Encapsulation option to Site2Site VPN
  CLOUDSTACK-9186: Root admin cannot see VPC created by Domain admin user
  CLOUDSTACK-9192: UpdateVpnCustomerGateway is failing
  CLOUDSTACK-6485 prevent ip asignment of private gw iface
  CLOUDSTACK-9204 Do not error when staticroute is already gone
  make both check lines consistent
  CLOUDSTACK-9181 Prevent syntax error in checkrouter.sh
  CLOUDSTACK-9202 Bump ssh timeout
2016-01-16 19:54:41 +01:00
Remi Bergsma 5fdc77e16c Merge pull request #1276 from michaelandersen/fix/site2sitevpn
[4.7] FIX Site2SiteVPN on redundant VPCThis PR:
- fixes the inability to setup more than one Site2Site VPN connection from a VPC
- fixes starting of Site2Site VPN on redundant VPC
- fixes Site2Site VPN state checking on redundant VPC
- improves the vpc_vpn test to allow multple hypervisors
- adds an integration test for Site2Site VPN on redundant VPC

Tested it on 4.7 single Xen server zone:

command:
```
nosetests --with-marvin --marvin-config=/data/shared/marvin/mct-zone1-xen1.cfg -a tags=advanced,required_hardware=true /tmp/test_vpc_vpn.py
```

results:
```
Test Site 2 Site VPN Across redundant VPCs ... === TestName: test_01_redundant_vpc_site2site_vpn | Status : SUCCESS ===
ok
Test Remote Access VPN in VPC ... === TestName: test_01_vpc_remote_access_vpn | Status : SUCCESS ===
ok
Test Site 2 Site VPN Across VPCs ... === TestName: test_01_vpc_site2site_vpn | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 3 tests in 1490.076s

OK
```

also performed numerous manual inspections of state of VPN connections and connectivity between VPC's

* pr/1276:
  Fix unable to setup more than one Site2Site VPN Connection
  FIX S2S VPN rVPC: Check only redundant routers in state MASTER
  PEP8 of integration/smoke/test_vpc_vpn
  Add S2S VPN test for Redundant VPC
  Make integration/smoke/test_vpc_vpn Hypervisor independant
  FIX VPN: non-working ipsec commands

Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-16 19:51:46 +01:00
Remi Bergsma 317c28a7e5 Merge pull request #1299 from remibergsma/CLOUDSTACK-6485
CLOUDSTACK-6485 prevent ip asignment of private gw ifacePrevent ipaddress asignment of gateway to gateway-interface on vpc router by setting vpcid to null in network. This was fixed in 4.4 by 1f209ff226, reimplemented for 4.7

* pr/1299:
  CLOUDSTACK-6485 prevent ip asignment of private gw iface

Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-16 19:42:17 +01:00
Nitin Kumar Maharana 49f78d18a8 CLOUDSTACK-9237: Create LB Healthcheck issues - button alignment and error message goes outside the window
Increased the size of width of dialog box.
Json response parsing was missing. Added it.
2016-01-14 15:23:01 +05:30
Michael Andersen 230c9cf59e FIX S2S VPN rVPC: Check only redundant routers in state MASTER 2016-01-12 11:24:35 +01:00
Boris Schrijver 78fbaf7d4d Nullpointer Exception in NicProfileHelperImpl 2016-01-11 09:57:35 +01:00
Nitin Kumar Maharana ba0503d000 CLOUDSTACK-8847: ListServiceOfferings is returning incompatible tagged offerings when called with VM id
Fixed the subset and superset issue.
Added unit test for the same.
2016-01-08 14:17:57 +05:30
Nitin Kumar Maharana 55f8b32aa0 CLOUDSTACK-9132: API createVolume takes empty string for name parameter
Added conditions to check if the name is empty or blank.
If it is empty or blank, then it generates a random name.
Made the name field as optional in UI as well as in API.
Added required unit tests.
2016-01-08 13:41:41 +05:30
Michael Andersen 6da3bc1237 [CORE] Add Force UDP Encapsulation option to Site2Site VPN 2016-01-07 19:27:37 +01:00
Remi Bergsma 2c07ce590d CLOUDSTACK-6485 prevent ip asignment of private gw iface
Prevent ipaddress asignment of gateway to gateway-interface on vpc router by setting vpcid to null in network

Was fixed in 4.4 by 1f209ff226
Reimplemented for 4.7
2015-12-31 14:22:52 +01:00
Daan Hoogland d39182f9d4 deal with PMD warnings 2015-12-26 09:02:30 +01:00
nvazquez c67637180f CLOUDSTACK-9074: Support Shared Networks in NiciraNVP Plugin 2015-12-24 16:07:06 -03:00
nvazquez 8149081658 CLOUDSTACK-9074: API Changes: Add nsxLogicalSwitch and nsxLogicalSwitchPort to listNics 2015-12-24 16:07:06 -03:00
pedro-martins 5d3adb3a2d Removed unused variables from class NetworkStateListener 2015-12-19 15:54:26 -02:00
Koushik Das de8942644d CLOUDSTACK-9180: Optimize concurrent VM deployment operation on same network
Check if VR needs to be allocated for a given network and only acquire lock if required
2015-12-16 17:53:03 +05:30
Remi Bergsma cdfcea3da2 Merge release branch 4.6 to master
* 4.6:
  [UI] bug fix: Delete added ACL lists is not available for Domain Admin and normal users
  CLOUDSTACK-4787: Allow users to select disk controller for VM/template
  CLOUDSTACK-4787 Allow selection of scsi controller type in vSphere
2015-12-12 22:29:19 +01:00
Daan Hoogland 8c78f89c91 Merge pull request #1132 from shapeblue/4.6-vmware-diskcontrollers
[4.6] CLOUDSTACK-4787 - vmware diskcontrollersSame as #1131 (see this for screenshots etc)

* pr/1132:
  CLOUDSTACK-4787: Allow users to select disk controller for VM/template
  CLOUDSTACK-4787 Allow selection of scsi controller type in vSphere

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-12 14:38:28 +01:00
Remi Bergsma 2071a9e395 Merge pull request #1222 from ekholabs/fix/rvr-ha-CLOUDSTACK-4374
CLOUDSTACK-4374 - As a Developer I want to have HA enabled for routers that are part or a redundant network or VPCThis PR fixes the issue we were facing with crashed redundant routers not being picked up by the HA monitor due to an IF statement in the code.

* Redundant Routers are not the same as Haigh Available. Having a router HA is actually saying that the given router will be controlled by the High Availability monitor. Hence fix any problem we might face.

* pr/1222:
  CLOUDSTACK-4374 - Adds HA capabilities to redundant routers

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-12 09:53:00 +01:00
Remi Bergsma 66d7f413e8 Merge pull request #1188 from kansal/CLOUDSTACK-9086
CLOUDSTACK-9086: ACS allows to create isolated networks with invalide gateway IP address - Fixed and Test cases added

Problem: There was no check for the network and broadcast IP addresses in the case where we provide the gateway and netmask while creating the isolated network. As a result the provided IP gets assigned to the eth0 interface of the VR.

Note: This is in continuation of PR #1125 which I closed.

* pr/1188:
  CLOUDSTACK-9086: ACS allows to create isolated networks with invalide gateway IP address - Fixed and Test cases added

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-12 09:37:06 +01:00
Remi Bergsma 6be2cc78c7 Merge pull request #1215 from ekholabs/improve/mult-providers-CLOUDSTACK-9138
CLOUDSTACK-9138 - Adds multiple providers back to VPC implementation   - It is need and already allowed/used in the current implementation. For example, the Default [redundant] VPC offerings use two LB providers. If we cannot create offerings with 2 LB providers, the whole internal loadbalancer implementation won't work.

* pr/1215:
  CLOUDSTACK-9138 - Adds multiple providers back to VPC implementation

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-11 19:45:15 +01:00
Remi Bergsma 1ed5c20908 Merge pull request #1197 from ustcweizhou/vpc-router-by-keyword
[4.7] CLOUDSTACK-9129: list vpc routers by keyword in Infrastructure -> Virtual Routers
and two more changes:
(1) add network name/vpc name in the listRouters response
(2) add network name/vpc id, vpc name in the router details page

* pr/1197:
  CLOUDSTACK-9129: list vpc routers by keyword in Infrastructure -> Virtual Routers

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-11 17:14:43 +01:00
Wilder Rodrigues 0d075906ad CLOUDSTACK-4374 - Adds HA capabilities to redundant routers
- Redundant Routers are not the same as Haigh Available.
     Having a router HA is actually saying that the given router will be controlled by the High Availability monitor.
     Hence fix any problem we might face.
2015-12-11 07:51:22 +01:00
Wilder Rodrigues 51c9f0e3b5 CLOUDSTACK-9138 - Adds multiple providers back to VPC implementation
- It is need and already allowed/used in the current implementation. For example, the Default [redundant] VPC offerings use
     two LB providers. If we cannot create offerings with 2 LB providers, the whole internal loadbalancer implementation won't work
2015-12-10 19:51:28 +01:00
Daan Hoogland 88a293b584 Revert "Merge pull request #1140 from harikrishna-patnala/CLOUDSTACK-9094"
This reverts commit fbc8f5d7e9, reversing
changes made to c67d1da5dd.
2015-12-10 10:17:56 +01:00
Wei Zhou 24f1396ac1 CLOUDSTACK-9129: list vpc routers by keyword in Infrastructure -> Virtual Routers
and two more changes:
(1) add network name/vpc name in the listRouters response
(2) add network name/vpc id, vpc name in the router details page
2015-12-10 09:14:12 +01:00
Koushik Das 5b3ffeb6cd CLOUDSTACK-9130: Make RebootCommand similar to start/stop/migrate agent commands w.r.t. "execute in sequence" flag
RebootCommand now behaves in the same way as start/stop/migrate agent commands w.r.t. to sequential/parallel execution.
2015-12-09 15:19:10 +05:30
Kshitij Kansal c7c389d61c CLOUDSTACK-9086: ACS allows to create isolated networks with invalide gateway IP address - Fixed and Test cases added 2015-12-08 15:27:51 +05:30
Remi Bergsma e08294a95f Merge release branch 4.6 to master
* 4.6:
  CLOUDSTACK-9106 - Makes Enum name compliant with Java code conventions.
  CLOUDSTACK-9106 - Adds a test to cover the changes in the applyVpnUsers() method
  CLOUDSTACK-9106 - Makes the router commands call more consistent.
  CLOUDSTACK-9106 - Enables private gateway tests on Redundant VPCs
  CLOUDSTACK-9106 - Refactor the createPrivateNicProfileForGateway() method
  CLOUDSTACK-9106 - Reduces the amount of iterations through the routers of a VPC
  Add support for not (re)starting server after cloud-setup-management.

Closed PRs that will not be considered for merge:
This closes #1158
This closes #1097
2015-12-07 21:36:36 +01:00
Abhinandan Prateek 987fcbd441 CLOUDSTACK-8592: Implement Quota service
Quota service while allowing for scalability will make sure that the cloud is
not exploited by attacks, careless use and program errors. To address this
problem, we propose to employ a quota-enforcement service that allows resource
usage within certain bounds as defined by policies and available quotas for
various entities.  Quota service extends the functionality of usage server to
provide a measurement for the resources used by the accounts and domains using a
common unit referred to as cloud currency in this document. It can be configured
to ensure that your usage won’t exceed the budget allocated to accounts/domain
in cloud currency.  It will let user know how much of the cloud resources he is
using. It will help the cloud admins, if they want, to ensure that a user does
not go beyond his allocated quota. Per usage cycle if a account is found to be
exceeding its quota then it is locked. Locking an account means that it will not
be able to initiat e a new resource allocation request, whether it is more
storage or an additional ip. Needless to say quota service as well as any action
on the account is configurable.

Changes from Github code review:

- Added marvin test for quota plugin API
- removed unused commented code
- debug messages in debug enabled check
- checks for nulls, fixed access to member variables and feature
- changes based on PR comments
- unit tests for UsageTypes
- unit tests for all Cmd classes
- unit tests for all service and manager impls
- try-catch-finally or try-with-resource in dao impls for failsafe db switching
- remove dead code
- add missing quota calculation case (regression fixed)
- replace tabs with spaces in pom.xmls
- quota: though default value for quota_calculated is 0, the usage server
  makes it null while entering usage entries. Flipping the condition so
  as to acocunt for that.
- quotatypes: fix NPE in quota type
- quota framework test fixes
- made statement period configurable
- changed default email templates to reflect the fact that exhausted quota may not result in a locked account
- added quotaUpdateCmd that refreshes quota balances and sends alerts and statements
- report quotaSummary command returns quota balance, quota usage and state for all account
- made UI framework changes to allow for text area input in edit views
- process usage entries that have greater than 0 usage
- orocess quota entries only if tariff is non zero
- if there are credit entries but no balance entry create a dummy balance entry
- remove any credit entries that are before the last balance entry
  when displaying balance statement
- on a rerun the last balance is now getting added

FS: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Quota+Service+-+FS
PR: https://github.com/apache/cloudstack/pull/768

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-12-07 23:02:48 +05:30
Wilder Rodrigues 14db2d3dc4 CLOUDSTACK-9106 - Makes Enum name compliant with Java code conventions. 2015-12-07 13:43:46 +01:00
Wilder Rodrigues 5973f4ea77 CLOUDSTACK-9106 - Adds a test to cover the changes in the applyVpnUsers() method
- Changed the NetworkTopologyContext class just to make the private member accessible from the test
   - Added a test class to cover the positive scenario of the VpcVirtualRouterElementTest.applyVpnUsers() method.
   - Covering when there is either no VPC or no routers.
2015-12-07 13:42:29 +01:00
Wilder Rodrigues 13eb789388 CLOUDSTACK-9106 - Makes the router commands call more consistent.
- Checks the result of a call against the previous result. Either both are true or the method returns false.
   - Do not thrown exceptions because some calls are not handling/rethrowing them. It would cause runtime problems.
   - When doing a list.addAll(Arrays.asList(String[]{}) will cause problems when trying to cast the list.toArray() into an aray of String
     It would only work if instead of calling addAll() I would pass it straight into the constructor:
     e.g. List<String> l = new ArrayList(Arrays.asList(new String[]{});
          Stirng [] s = (String[]) l.toArray();
     But I did not like that implementation because it would require 2 arrays of string and combine them at the end.
2015-12-07 13:40:12 +01:00
Wilder Rodrigues 24dafc2cc2 CLOUDSTACK-9106 - Refactor the createPrivateNicProfileForGateway() method
- Use the router to retrieve the instance ID
    - Check if the VPC is redundant in order to reuse the private gateway address.
    - Brings the private gateways interfaces up.
2015-12-07 10:30:18 +01:00
Wilder Rodrigues a168a69c3c CLOUDSTACK-9106 - Reduces the amount of iterations through the routers of a VPC
- It was causing problems because Nics were expected to be plugged before they actually exist. Only in rVPC cases.
   - Applies ACL items to routers only after the Pvt GW is setup.
2015-12-07 10:30:17 +01:00
Rohit Yadav f30fbe9a5c Merge branch '4.6' 2015-12-07 12:44:07 +05:30
Rohit Yadav fbc8f5d7e9 Merge pull request #1140 from harikrishna-patnala/CLOUDSTACK-9094
CLOUDSTACK-9094: Multiple threads are being used to collect the statsCLOUDSTACK-9094: Multiple threads are being used to collect the stats from the same VR

Same thread is being intialised by two managers, VirtualNetworkApplianceManager and VpcVirtualNetworkApplianceManager

* pr/1140:
  CLOUDSTACK-9094: Multiple threads are being used to collect the stats from the same VR

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-12-07 12:43:20 +05:30
Daan Hoogland 2c4ea503f9 Merge pull request #1176 from anshul1886/CLOUDSTACK-9025-4.6
CLOUDSTACK-9025: Fixed can't create usable template from snapshot in Xenserver and Vmwarehttps://issues.apache.org/jira/browse/CLOUDSTACK-9025

Fix also reverts below commit as below solution making assumption about hypervisor which are not applicable in case of XenServer and VmWare

Revert "CLOUDSTACK-8964: Can't create template or volume from snapshot"

This reverts commit ccf5d75cfb.

Testing:

Able to deploy VM successfully from template created from linked clone snapshot on XenServer.

* pr/1176:
  CLOUDSTACK-9025: Fixed can't create usable template from snapshot in Xenserver and Vmware

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-06 20:34:34 +01:00
Daan Hoogland 638f1cf091 Merge pull request #1049 from DaanHoogland/CLOUDSTACK-9047
CLOUDSTACK-9047 rename enumsmake enums adhere to best practice naming conventions

* pr/1049:
  CLOUDSTACK-9046 rename enums to adhere to naming conventions
  CLOUDSTACK-9046 renamed enums in kvm plugin
  CLOUDSTACK-9047 use 'State's only with context   there are more types called 'State'   (or to be called so but now 'state')   So remove imports and prepend their enclosing class/context to them.

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-06 20:17:04 +01:00
Daan Hoogland 998b1ba629 Merge pull request #1161 from ustcweizhou/resize-volume-issues
CLOUDSTACK-9101: fix some issues in resize volume(1) fix issue: volume size is not updated even if the operation succeed
(2) Add ui support for root volume resize
(3) resize on qcow2 type ROOT volume of stopped vm does not really work
see https://issues.apache.org/jira/browse/CLOUDSTACK-9101

* pr/1161:
  CLOUDSTACK-9101: resize root volume of stopped vm on KVM
  CLOUDSTACK-9101: add UI support for root volume resize
  CLOUDSTACK-9101: update volume size after resizevolume

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-06 19:44:16 +01:00
Daan Hoogland bbe891bfc3 Merge pull request #1086 from ustcweizhou/update-nic-ipaddr
CLOUDSTACK-9051: update nic IP address of stopped vmThis provides the feature to change ip address of NIC on a stopped vm by API and UI.

* pr/1086:
  CLOUDSTACK-9051: reprogram network as a part of vm nic ip update
  CLOUDSTACK-9051: add unit tests for UpdateVmNicIp
  CLOUDSTACK-9051: update nic IP address of stopped vm

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-12-06 19:37:04 +01:00
Remi Bergsma e37842cbd3 Merge pull request #1108 from rafaelweingartner/master-lrg-cs-hackday-004
Removed the PlannerBase class because it is does not bring contribution to ACS' code.Removed the PlannerBase class because it is does not bring contribution to ACS' code.

We changed com.cloud.deploy.FirstFitPlanner, now it doesnt extends the PlannerBase and implements the com.cloud.deploy.DeploymentPlanner.

We also removed the method com.cloud.deploy.DeploymentPlanner.check(VirtualMachineProfile, DeploymentPlan, DeployDestination, ExcludeList) that was not used anywhere.

Additionally, we removed the _ from FirstFitPlanner's attributes name, in order to have them in a more standard way.

* pr/1108:
  Removed PlannerBase empty class

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-05 19:11:21 +01:00
weingartner 6ea2b482f7 Add Javadoc to AgentBasedStandaloneConsoleProxyManager 2015-12-04 10:36:16 -02:00
Anshul Gangwar f8790c3b9e CLOUDSTACK-9025: Fixed can't create usable template from snapshot in Xenserver and Vmware
Fix also reverts below commit as below solution making assumption about hypervisor which are not applicable
in case of XenServer and VmWare

Revert "CLOUDSTACK-8964: Can't create template or volume from snapshot"

This reverts commit ccf5d75cfb.
2015-12-04 14:56:40 +05:30
Remi Bergsma 7e902cd505 Merge release branch 4.6 to master
* 4.6:
  CLOUDSTACK-9075 - Uses the same vlan since it should have been already released
  CLOUDSTACK-9075 - Adds VPC static routes test
  CLOUDSTACK-9075 - Covers Private GW ACL with Redundant VPCs
  CLOUDSTACK-9075 - Add method to get list of Physical Networks per zone
  CLOUDSTACK-6276 Removing unused parameter in integration test for projects
  CLOUDSTACK-6276 Removing unused parameter in integration test
  CLOUDSTACK-6276 Fixing affinity groups for projects
2015-12-03 20:42:41 +01:00
Remi Bergsma 9a21873c4a Merge pull request #1134 from pdube/CLOUDSTACK-6276
CLOUDSTACK-6276 Fixing affinity groups for projectsWith some contributions from @resmo and @ustcweizhou.
This closes https://github.com/apache/cloudstack/pull/508

To test manually (need at least 2 hosts):
Create a project
Create an affinity group in that project
Deploy a vm with that affinity group
Deploy a second vm with that affinity group
They should be on different hosts

Ran old and new tests for affinity groups on the simulator

Test create affinity group as admin in project ... === TestName: test_01_admin_create_aff_grp_for_project | Status : SUCCESS ===
ok
Test create affinity group as domain admin for projects ... === TestName: test_02_doadmin_create_aff_grp_for_project | Status : SUCCESS ===
ok
Test create affinity group as user for projects ... === TestName: test_03_user_create_aff_grp_for_project | Status : SUCCESS ===
ok
Test create affinity group that exists (same name) for projects ... === TestName: test_4_user_create_aff_grp_existing_name_for_project | Status : SUCCESS ===
ok
#Delete Affinity Group by id. ... === TestName: test_01_delete_aff_grp_by_id | Status : SUCCESS ===
ok
#Delete Affinity Group by id should fail for user not in project ... === TestName: test_02_delete_aff_grp_by_id_another_user | Status : SUCCESS ===
ok
test DeployVM in anti-affinity groups ... === TestName: test_01_deploy_vm_anti_affinity_group | Status : SUCCESS ===
ok
test DeployVM in anti-affinity groups with more vms than hosts. ... === TestName: test_02_deploy_vm_anti_affinity_group_fail_on_not_enough_hosts | Status : SUCCESS ===
ok
List affinity group for a vm for projects ... === TestName: test_01_list_aff_grps_for_vm | Status : SUCCESS ===
ok
List multiple affinity groups associated with a vm for projects ... === TestName: test_02_list_multiple_aff_grps_for_vm | Status : SUCCESS ===
ok
List affinity groups by id for projects ... === TestName: test_03_list_aff_grps_by_id | Status : SUCCESS ===
ok
List Affinity Groups by name for projects ... === TestName: test_04_list_aff_grps_by_name | Status : SUCCESS ===
ok
List Affinity Groups by non-existing id for projects ... === TestName: test_05_list_aff_grps_by_non_existing_id | Status : SUCCESS ===
ok
List Affinity Groups by non-existing name for projects ... === TestName: test_06_list_aff_grps_by_non_existing_name | Status : SUCCESS ===
ok
List affinity group should list all for a vms associated with that group for projects ... === TestName: test_07_list_all_vms_in_aff_grp | Status : SUCCESS ===
ok
Update the list of affinityGroups by using affinity groupids ... === TestName: test_01_update_aff_grp_by_ids | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 16 tests in 581.706s

OK

Deploy vm as Admin in Affinity Group belonging to regular user (should fail) ... === TestName: test_01_deploy_vm_another_user | Status : SUCCESS ===
ok
Create Affinity Group as admin for regular user ... === TestName: test_02_create_aff_grp_user | Status : SUCCESS ===
ok
List Affinity Groups as admin for all the users ... === TestName: test_03_list_aff_grp_all_users | Status : SUCCESS ===
ok
List Affinity Groups belonging to admin user ... === TestName: test_04_list_all_admin_aff_grp | Status : SUCCESS ===
ok
List Affinity Groups belonging to regular user passing account id and domain id ... === TestName: test_05_list_all_users_aff_grp | Status : SUCCESS ===
ok
List Affinity Groups belonging to regular user passing group id ... === TestName: test_06_list_all_users_aff_grp_by_id | Status : SUCCESS ===
ok
Delete Affinity Group belonging to regular user ... === TestName: test_07_delete_aff_grp_of_other_user | Status : SUCCESS ===
ok
Test create affinity group as admin ... === TestName: test_01_admin_create_aff_grp | Status : SUCCESS ===
ok
Test create affinity group as domain admin ... === TestName: test_02_doadmin_create_aff_grp | Status : SUCCESS ===
ok
Test create affinity group as user ... === TestName: test_03_user_create_aff_grp | Status : SUCCESS ===
ok
Test create affinity group that exists (same name) ... === TestName: test_04_user_create_aff_grp_existing_name | Status : SUCCESS ===
ok
Test create affinity group with existing name but within different account ... === TestName: test_05_create_aff_grp_same_name_diff_acc | Status : SUCCESS ===
ok
Test create affinity group of non-existing type ... === TestName: test_06_create_aff_grp_nonexisting_type | Status : SUCCESS ===
ok
Delete Affinity Group by name ... === TestName: test_01_delete_aff_grp_by_name | Status : SUCCESS ===
ok
Delete Affinity Group as admin for an account ... === TestName: test_02_delete_aff_grp_for_acc | Status : SUCCESS ===
ok
Delete Affinity Group which has vms in it ... === TestName: test_03_delete_aff_grp_with_vms | Status : SUCCESS ===
ok
Delete Affinity Group with id which does not belong to this user ... === TestName: test_05_delete_aff_grp_id | Status : SUCCESS ===
ok
Delete Affinity Group by name which does not belong to this user ... === TestName: test_06_delete_aff_grp_name | Status : SUCCESS ===
ok
Delete Affinity Group by id. ... === TestName: test_08_delete_aff_grp_by_id | Status : SUCCESS ===
ok
Root admin should be able to delete affinity group of other users ... === TestName: test_09_delete_aff_grp_root_admin | Status : SUCCESS ===
ok
Deploy VM without affinity group ... === TestName: test_01_deploy_vm_without_aff_grp | Status : SUCCESS ===
ok
Deploy VM by aff grp name ... === TestName: test_02_deploy_vm_by_aff_grp_name | Status : SUCCESS ===
ok
Deploy VM by aff grp id ... === TestName: test_03_deploy_vm_by_aff_grp_id | Status : SUCCESS ===
ok
test DeployVM in anti-affinity groups ... === TestName: test_04_deploy_vm_anti_affinity_group | Status : SUCCESS ===
ok
Deploy vms by affinity group id ... === TestName: test_05_deploy_vm_by_id | Status : SUCCESS ===
ok
Deploy vm in affinity group of another user by name ... === TestName: test_06_deploy_vm_aff_grp_of_other_user_by_name | Status : SUCCESS ===
ok
Deploy vm in affinity group of another user by id ... === TestName: test_07_deploy_vm_aff_grp_of_other_user_by_id | Status : SUCCESS ===
ok
Deploy vm in multiple affinity groups ... === TestName: test_08_deploy_vm_multiple_aff_grps | Status : SUCCESS ===
ok
Deploy multiple vms in multiple affinity groups ... === TestName: test_09_deploy_vm_multiple_aff_grps | Status : SUCCESS ===
ok
Deploy VM by aff grp name and id ... === TestName: test_10_deploy_vm_by_aff_grp_name_and_id | Status : SUCCESS ===
ok
List affinity group for a vm ... === TestName: test_01_list_aff_grps_for_vm | Status : SUCCESS ===
ok
List multiple affinity groups associated with a vm ... === TestName: test_02_list_multiple_aff_grps_for_vm | Status : SUCCESS ===
ok
List affinity groups by id ... === TestName: test_03_list_aff_grps_by_id | Status : SUCCESS ===
ok
List Affinity Groups by name ... === TestName: test_04_list_aff_grps_by_name | Status : SUCCESS ===
ok
List Affinity Groups by non-existing id ... === TestName: test_05_list_aff_grps_by_non_existing_id | Status : SUCCESS ===
ok
List Affinity Groups by non-existing name ... === TestName: test_06_list_aff_grps_by_non_existing_name | Status : SUCCESS ===
ok
List affinity group should list all for a vms associated with that group ... === TestName: test_07_list_all_vms_in_aff_grp | Status : SUCCESS ===
ok
Update the list of affinityGroups by using affinity groupids ... === TestName: test_01_update_aff_grp_by_ids | Status : SUCCESS ===
ok
Update the list of affinityGroups by using affinity groupnames ... === TestName: test_02_update_aff_grp_by_names | Status : SUCCESS ===
ok
Update the list of affinityGroups for vm which is not associated ... === TestName: test_03_update_aff_grp_for_vm_with_no_aff_grp | Status : SUCCESS ===
ok
Update the list of Affinity Groups to empty list ... SKIP: Skip - Failing - work in progress
Update the list of Affinity Groups on running vm ... === TestName: test_05_update_aff_grp_on_running_vm | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 42 tests in 976.432s

OK (SKIP=1)

* pr/1134:
  CLOUDSTACK-6276 Removing unused parameter in integration test for projects
  CLOUDSTACK-6276 Removing unused parameter in integration test
  CLOUDSTACK-6276 Fixing affinity groups for projects

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-03 20:10:16 +01:00
Wei Zhou 119b27b2c6 CLOUDSTACK-9101: update volume size after resizevolume 2015-12-03 14:54:45 +01:00
Daan Hoogland f9775de8ff Merge release branch 4.6 to master
* 4.6:
  CLOUDSTACK-9022: move storage.cleanup related global configurations to StorageManager
  CLOUDSTACK-9022: keep Destroyed volumes for sometime

 Conflicts:
	server/src/com/cloud/storage/StorageManagerImpl.java
2015-12-03 10:35:00 +01:00
Remi Bergsma 17d5bfa32c Merge pull request #841 from karuturi/CLOUDSTACK-8868
CLOUDSTACK-8868: use PasswordGenerator.generateRandomPassword() to generate systemvm passwordsgenerateRandomPassword() is supposed to create root user passwords. Right now it is only used on the guest VMs. The format of the passwords it creates are of the form "random 3-character string with a lowercase character, uppercase character, and a digit" + random n-character string with only lowercase characters".

For whatever reason it was that we use generateRandomPassword() for guest VM root user passwords(maybe more secure?) we should use the same function for system VM root user passwords.

Tests:
manually tested that password is generated in proper format and am able to login to cpvm with the new password. ex: zD2ztm, tR8snbwhq

```
$ mvn -pl server test -Dtest=ConfigurationServerImplTest#testUpdateSystemvmPassword
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.cloud.server.ConfigurationServerImplTest
log4j:WARN No appenders could be found for logger (com.cloud.utils.crypt.EncryptionSecretKeyChecker).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.487 sec - in com.cloud.server.ConfigurationServerImplTest

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.781 s
[INFO] Finished at: 2015-09-16T14:17:07+05:30
[INFO] Final Memory: 60M/466M
[INFO] ------------------------------------------------------------------------
```

* pr/841:
  CLOUDSTACK-8868: change the default vm.password.length to 10
  CLOUDSTACK-8868: use same method to generate passwords for system/guest vms
  removed commented code

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-03 09:58:52 +01:00
Remi Bergsma 4ffad548a5 Merge pull request #1107 from karuturi/CLOUDSTACK-9080
CLOUDSTACK-9080: Resource limits for Primary arent respected during attachprimary store resource limit check is not performed while attaching a
volume to a vm. Added them same.
Also added a marvin test case to verify the same.

Testing:
BEFORE
No error is shown in UI when trying to attach a volume even after reaching the resource limits.

```
mysql> select * from resource_limit where type="primary_storage";
+----+-----------+------------+-----------------+-------------+
| id | domain_id | account_id | type            | max         |
+----+-----------+------------+-----------------+-------------+
| 10 |      NULL |          4 | primary_storage | 21474836480 |
+----+-----------+------------+-----------------+-------------+
1 row in set (0.00 sec)

mysql> select * from resource_count where account_id=4 and type='primary_storage';
+----+------------+-----------+-----------------+-------------+
| id | account_id | domain_id | type            | count       |
+----+------------+-----------+-----------------+-------------+
| 63 |          4 |      NULL | primary_storage | 48318382080 |
+----+------------+-----------+-----------------+-------------+
1 row in set (0.00 sec)
```

AFTER
Following error message is shown in UI and the volume is not attached
![screen shot 2015-11-19 at 5 34 08 pm](https://cloud.githubusercontent.com/assets/186833/11336645/046b5bcc-920d-11e5-97af-3d0da14c0e38.png)

The resource limits stays the same

```
mysql> select * from resource_limit where type="primary_storage";
+----+-----------+------------+-----------------+-------------+
| id | domain_id | account_id | type            | max         |
+----+-----------+------------+-----------------+-------------+
| 10 |      NULL |          4 | primary_storage | 21474836480 |
+----+-----------+------------+-----------------+-------------+
1 row in set (0.01 sec)

mysql> select * from resource_count where account_id=4 and type='primary_storage';
+----+------------+-----------+-----------------+-------------+
| id | account_id | domain_id | type            | count       |
+----+------------+-----------+-----------------+-------------+
| 63 |          4 |      NULL | primary_storage | 48318382080 |
+----+------------+-----------+-----------------+-------------+
1 row in set (0.00 sec)
```

Marvin test: nosetests --with-marvin --marvin-config=setup/dev/advanced.cfg --zone=xen-zone0 --hypervisor=xenserver test/integration/component/test_ps_resource_limits_volume.py

before the change

```
# do ... === TestName: test_attach_volume_exceeding_primary_limits | Status : FAILED ===
AssertionError: Resource count 23 should match with the expected resource count 22\n
```

After the change

```
# do ... === TestName: test_attach_volume_exceeding_primary_limits | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 1 test in 1178.354s

OK
```

* pr/1107:
  CLOUDSTACK-9080: Resource limits for Primary arent respected during attach.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-03 09:43:31 +01:00
weingartner 7453727c7b Removed PlannerBase empty class
The PlannerBase is an empty class, and does not bring contribution to
ACS code.
We changed com.cloud.deploy.FirstFitPlanner to extend the AdapterBase
and implements the com.cloud.deploy.DeploymentPlanner.

We also removed the method
com.cloud.deploy.DeploymentPlanner.check(VirtualMachineProfile,
DeploymentPlan, DeployDestination, ExcludeList) that was not used
anywhere.

Additionally, we removed the “_” from FirstFitPlanner's attributes name,
in order to have them in a more standard way.
2015-12-01 11:45:23 -02:00
Wei Zhou 4ed1e0d5f8 CLOUDSTACK-9022: move storage.cleanup related global configurations to StorageManager 2015-11-30 20:44:05 +01:00
Wei Zhou 9077c9a5b4 CLOUDSTACK-9022: keep Destroyed volumes for sometime 2015-11-30 20:43:13 +01:00
Wei Zhou ccf770636c CLOUDSTACK-9051: reprogram network as a part of vm nic ip update 2015-11-30 09:20:26 +01:00
Wei Zhou c01c73e44d CLOUDSTACK-9051: add unit tests for UpdateVmNicIp 2015-11-30 09:20:26 +01:00
Wei Zhou b79d338f29 CLOUDSTACK-9051: update nic IP address of stopped vm 2015-11-30 09:20:25 +01:00
Daan Hoogland 20dcc25884 Merge pull request #834 from maneesha-p/CLOUDSTACK-8866
CLOUDSTACK-8866 : restart.retry.interval is being used instead of migrate.retry.interval during host maintenanceThe frequency at which Cloudstack tries to migrate the VMs is currently controlled by the global parameter "restart.retry.interval" which has a default value of 600 seconds or 10 minutes.This has to be changed to use "migrate.retry.interval" which by default is 120 seconds or 2 minutes . Cloudstack uses restart.retry.interval for all operations-migrate,restart,stop,destroy.

* pr/834:
  CLOUDSTACK-8866 : restart.retry.interval is being used instead of migrate.retry.interval during host maintenance

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-11-30 07:45:55 +01:00
Harikrishna Patnala c9cc2ccd6d CLOUDSTACK-9094: Multiple threads are being used to collect the stats from the same VR
Same thread is being intialised by two managers, VirtualNetworkApplianceManager and VpcVirtualNetworkApplianceManager
2015-11-30 12:14:15 +05:30
Remi Bergsma 7e64c12067 Merge release branch 4.6 to master
* 4.6:
  CLOUDSTACK-9020: UI enhancements from metrics view
  CLOUDSTACK-9064: The users should be able to create multiple Guest Shared Networks in same Vlan ID, same Physical Network and same network, just with a different IP ranges.
  CLOUDSTACK-9078: Gave scripts executable permissions.
  CLOUDSTACK-9076: Changed ownership of directory /var/lib/cloudstack to cloud.
  Cannot list vlanipranges by keyword
2015-11-29 22:00:13 +01:00
Remi Bergsma 17eb420af7 Merge pull request #1085 from ustcweizhou/list-vlanipranges-by-keyword
[4.6] Cannot list vlanipranges by keywordBefore change:

cloudmonkey> list vlanipranges  keyword=118
: Caught: com.mysql.jdbc.JDBC4PreparedStatement@18f36b6e: SELECT vlan.id, vlan.vlan_id, vlan.vlan_gateway, vlan.vlan_netmask, vlan.ip6_gateway, vlan.ip6_cidr, vlan.data_center_id, vlan.description, vlan.ip6_range, vlan.network_id, vlan.physical_network_id, vlan.vlan_type, vlan.uuid, vlan.removed, vlan.created FROM vlan WHERE  ( OR vlan.description LIKE ** NOT SPECIFIED ** )  AND vlan.removed IS NULL  ORDER BY vlan.id ASC  LIMIT 0, 500

After change:

cloudmonkey> list vlanipranges  keyword='118'
count = 1
vlaniprange:
id = 0d80fd9c-cd6b-4f99-96c6-261420e75f58
account = system
domain = ROOT
domainid = 2044762d-c4a5-11e3-8379-005056ac4490
......

* pr/1085:
  Cannot list vlanipranges by keyword

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-29 19:28:01 +01:00
Remi Bergsma a1d2c531f6 Merge pull request #1007 from ustcweizhou/dedicated-ip-for-domain
[4.7] CLOUDSTACK-8958: add dedicated ips to domain (account for now)For now, we dedicate ip pool to account, however, other accounts in the same domain cannot fetch the ip from this ip pool.
By dedicating ip pool to domain, accounts in the domain can fetch the public ip from same ip pool.

* pr/1007:
  CLOUDSTACK-8958: throw an exception if project account cannot be found
  CLOUDSTACK-8958: add dedicated ips to domain (account for now)

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-29 09:39:25 +01:00
Remi Bergsma 9710046fb9 Merge pull request #1100 from rafaelweingartner/master-lrg-cs-hackday-005
Removal of DefaultUserAuthenticator empty class.The DefaultUserAuthenticator is an empty class, extending from the
AdapterBase and implementing the UserAuthenticator interface. The class
is not being used as a marker and it's sole use is to be extended by
other UserAuthenticators. Noticing that the class had no purpose, I
removed it and made it's children extend from it's superclass and
implement it's interface instead. Also, I removed the @Local tags from
those classes, since EJB is not used anymore.

* pr/1100:
  Removal of DefaultUserAuthenticator empty class

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-29 09:15:50 +01:00
Remi Bergsma 2ae3e0c961 Merge release branch 4.6 to master
* 4.6:
  Fix event UUIDS missing on event bus
  Add select template dropdown when reinstall VM
  CLOUDSTACK-9068: Listing Port Forwarding Rules take too much time to load
2015-11-28 15:12:49 +01:00
weingartner 98594b709b Removal of DefaultUserAuthenticator empty class
The DefaultUserAuthenticator is an empty class, extending the
AdapterBase and implementing the UserAuthenticator interface. The class
is only being used as a marker and it's sole use is to be extended by
other UserAuthenticators. Noticing that the class had no purpose, I
removed it and made it's children extend from it's superclass and
implement it's interface instead. Also, I removed the @Local tags from
those classes, since EJB is not used anymore.
2015-11-27 21:29:50 -02:00
Patrick Dube c76d317150 CLOUDSTACK-6276 Fixing affinity groups for projects 2015-11-27 14:43:02 -05:00
Rohit Yadav a15187a57a CLOUDSTACK-4787: Allow users to select disk controller for VM/template
- Adds new controller types in the UI, for selecting root disk controller while
  registering templates
- Fixes bug to not override disk controller type if provided in the details (either
  vm details or from template details)

(cherry picked from commit c7d67628b3)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-11-27 18:52:02 +05:30
Sateesh Chodapuneedi 6a9956e0f5 CLOUDSTACK-4787 Allow selection of scsi controller type in vSphere
commit #7
    So far only 1 controller (scsi or ide) is supported in Cloudstack for ide or
    scsi, this is existing limitation. Added support for 2nd IDE controller. Support adding IDE
    virtual disk to VM. Also added check if VM is running as IDE virtual disk cannot be attached
    to VM if VM is runnning.If user detaches a virtual disk on lower unit number of controller,
    then subsequent attach operation should find free unit number on the controller and attach
    the virtual disk there.

    commit #6
    Let the controllers of existing VMs continue without flip, current busInfo retrieved from
    chain_info field of volume record from database would be preferred over
    controller settings from all configuration settings.

    commit #5
    Editing global configuration param vmware.root.disk.controller osdefault value results
    in loss of previous root disk controller type. Hence root disk's controller type for legacy
    VMs is unknow post that modificaiton by user. If VM is stop/start then we could get this
    infromation from bus info of existing volume. But if user resets VM and then try to start VM.
    The existing bus info would be lost. Hence existing disk info is not available to depend on.
    Using lsilogic or generic scsi controller for ROOT disk of legacy VMs if reset.

    commit #4
    Avoid adding additional (>1) scsi controllers to system vms. While attaching volume to legacy VM
    don't use osdefault optoin which applicable only for VM created with the option enabled, use
    legacy data disk controller type (lsilogic)

    commit #3
    If root disk's controller type is scsi and data disk controller type condenses
    to any of scsi sub-types then data disk controller type would fall back to root disk controller itself. This
    ensures data volumes would be accessible in all cases as controller of root volume would be reliable
    and it means VM has the supported controller. It also avoids mix of scsi controller sub-types in a user instance.
    Also translating disk controller type scsi to lsilogic.

    commit #2
    Support auto detection of recommended virtual disk controller type for specific guest OS.

    commit #1
    Support granual controller types. Add support for controller types in template registration as well.

    Fix white spaces.
    Removed stale HEAD merge lines
    Removed tail of merge lines
    Fixed VmwareResource, removing storage commands that moved to VmwareStorageProcessor.
    removed stale code of controller that is present in processor
    Fixed check style errors.
    Fixed injection.
    Tested with Linux and windows templates. Unable to run iso based tests due to few bugs in register iso area.

    Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>

(cherry picked from commit a4cc987a6f)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-11-27 18:39:41 +05:30
jeff 7d44e90c8d Fix event UUIDS missing on event bus
The fixing of CLOUDSTACK-8816 introduced a regression that removed the
first class entities in the event bus description property. This is
because everything was changed to use the Class as a key... Everything
but the populateFirstClassEntities method in ActionEventUtils.
2015-11-26 11:19:57 +00:00
Rajani Karuturi 256263492f CLOUDSTACK-9080: Resource limits for Primary arent respected during attach.
primary store resource limit check is not performed while attaching a
volume to a vm. Added them same.
Also added a marvin test case to verify the same.
2015-11-24 11:59:31 +05:30
Remi Bergsma a2a72887d2 Merge pull request #1021 from koushik-das/CLOUDSTACK-8485
CLOUDSTACK-8485: listAPIs are taking too long to return results- Removed regex. based search/replace of sensitive data on API response introduced as part of commit b0c6d47347
- Added new response serializer to skip sensitive data from getting logged based on annotation present in resposne object fields
- Added annotation (@LogLevel(Log4jLevel.Off)) to sensitive response object fields

Ran the following tests on simulator:

test_vm_life_cycle.py

Test advanced zone virtual router ... === TestName: test_advZoneVirtualRouter | Status : SUCCESS ===
ok
Test Deploy Virtual Machine ... === TestName: test_deploy_vm | Status : SUCCESS ===
ok
Test Multiple Deploy Virtual Machine ... === TestName: test_deploy_vm_multiple | Status : SUCCESS ===
ok
Test Stop Virtual Machine ... === TestName: test_01_stop_vm | Status : SUCCESS ===
ok
Test Start Virtual Machine ... === TestName: test_02_start_vm | Status : SUCCESS ===
ok
Test Reboot Virtual Machine ... === TestName: test_03_reboot_vm | Status : SUCCESS ===
ok
Test destroy Virtual Machine ... === TestName: test_06_destroy_vm | Status : SUCCESS ===
ok
Test recover Virtual Machine ... === TestName: test_07_restore_vm | Status : SUCCESS ===
ok
Test migrate VM ... === TestName: test_08_migrate_vm | Status : SUCCESS ===
ok
Test destroy(expunge) Virtual Machine ... === TestName: test_09_expunge_vm | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 10 tests in 306.429s

OK

test_volumes.py

Download a Volume attached to a VM ... === TestName: test_03_download_attached_volume | Status : SUCCESS ===
ok
Delete a Volume attached to a VM ... === TestName: test_04_delete_attached_volume | Status : SUCCESS ===
ok
Detach a Volume attached to a VM ... === TestName: test_05_detach_volume | Status : SUCCESS ===
ok
Delete a Volume unattached to an VM ... === TestName: test_09_delete_detached_volume | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 4 tests in 184.132s

OK

test_network.py

Test for delete account ... === TestName: test_delete_account | Status : SUCCESS ===
ok
Test for Associate/Disassociate public IP address for admin account ... === TestName: test_public_ip_admin_account | Status : SUCCESS ===
ok
Test for Associate/Disassociate public IP address for user account ... === TestName: test_public_ip_user_account | Status : SUCCESS ===
ok
Test for release public IP address ... === TestName: test_releaseIP | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 4 tests in 783.726s

OK

test_routers.py

Test router internal advanced zone ... SKIP: Marvin configuration has no host credentials                            to check router services
Test restart network ... === TestName: test_03_restart_network_cleanup | Status : SUCCESS ===
ok
Test router basic setup ... === TestName: test_05_router_basic | Status : SUCCESS ===
ok
Test router advanced setup ... === TestName: test_06_router_advanced | Status : SUCCESS ===
ok
Test stop router ... === TestName: test_07_stop_router | Status : SUCCESS ===
ok
Test start router ... === TestName: test_08_start_router | Status : SUCCESS ===
ok
Test reboot router ... === TestName: test_09_reboot_router | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 7 tests in 42.958s

OK (SKIP=1)

test_global_settings.py

test update configuration setting at zone level scope ... === TestName: test_UpdateConfigParamWithScope | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 1 test in 0.127s

OK

test_resource_detail.py

Test volume detail ... === TestName: test_01_updatevolumedetail | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 1 test in 11.492s

OK

* pr/1021:
  CLOUDSTACK-8485: listAPIs are taking too long to return results - Removed regex. based search/replace of sensitive data on API response introduced as part of commit b0c6d47347 - Added new response serializer to skip sensitive data from getting logged based on annotation present in resposne object fields - Added new parameter 'isSensitive' to @Param for marking a field as sensitive in response objects

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-23 12:56:25 +01:00
Remi Bergsma 36d0bfdecf Merge pull request #1018 from DaanHoogland/CID-1338016
CID 1338016: multi catch instead of pokemon

* pr/1018:
  CID 1338016: multi catch instead of pokemon

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-23 11:34:24 +01:00
Remi Bergsma a6b6f4104d Merge pull request #1102 from rafaelweingartner/master-lrg-cs-hackday-006
Removed unnecessary @Local annotations and their respective importsFollowing @rafaelweingartner 's findings in PR #714 that many spring beans contained an @Local annotation, we've decided to remove said annotations and their imports from the ComponentLifecycleBase class and its subclasses seeking a reduction of a few hundred lines of useless code.

I had already opened a pull request for this (#853) but at some point my commit disappeared from the PR entirely, showing no new changes in code, which caused it to be merged automatically (with no changes).

* pr/1102:
  Removed unnecessary @Local annotations and their respective imports from the ComponentLifecycleBase class and its subclasses.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-23 11:25:43 +01:00
Remi Bergsma 3f6d7796f1 Merge pull request #929 from karuturi/CLOUDSTACK-8951
[4.7] CLOUDSTACK-8951: validation for config param "remote.access.vpn.psk.length"throwing error for value < 8 and value > 256
right now, 8, 256 are hardcoded in the code. They should be moved to a
constant and has to be reused everywhere.

will update with test cases/testing later.

* pr/929:
  CLOUDSTACK-8951: validation for "remote.access.vpn.psk.length"

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-23 11:22:42 +01:00
cirstofolini 1a64c247ad Removed unnecessary @Local annotations and their respective imports from the ComponentLifecycleBase class and its subclasses. 2015-11-21 18:31:11 -02:00
Remi Bergsma 63203cec18 Merge pull request #1065 from wenwenxiong/patch-1
update for comment in cancelMaintin on start VRchange comment
//if the instance is of type ssvm, call the ssvm manager
to
//if the instance is of type domain router vm, call the network manager

* pr/1065:
  update for comment in cancelMaintin on start VR

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-20 22:29:58 +01:00
Remi Bergsma 7665bdc815 Merge pull request #1083 from borisroman/CLOUDSTACK-9062
CLOUDSTACK-9062: Improve S3 implementation.The S3 implementation is far from finished, this commit focuses on the bases.

 - Upgrade AWS SDK to latest version.
 - Rewrite S3 Template downloader.
 - Rewrite S3Utils utility class.
 - Improve addImageStoreS3 API command.
 - Split various classes for convenience.
 - Various minor improvements and code optimizations.

A side effect of the new AWS SDK is that it, by default, uses the V4 signature. Therefore I added an option to specify the Signer, so it stays compatible with previous versions.

Please review thoroughly, both code inspection and (automated) integration tests. Currently no integration tests are available specifically for S3. Therefore the implementation is needed to be tested manually, for now...

What I tested:
 - Greenfield install -> will download latest systemvm template automatically to S3.
 - Upload a template/iso
 - Download a template/iso
 - Restart of management server -> list available templates -> doesn't download them again if available.

* pr/1083:
  CLOUDSTACK-9062: Improve S3 implementation.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-20 22:27:17 +01:00
Remi Bergsma b3b56e2cd8 Merge release branch 4.6 to master
* 4.6:
  CLOUDSTACK-9053 security upgrade as per COLLECTIONS-580
  CLOUDSTACK-9055: fix NPE in updating Redundant State of VPC networks
  CLOUDSTACK-9057 remove old system vm upgrade code
2015-11-20 20:53:58 +01:00
Koushik Das e13df96348 CLOUDSTACK-8485: listAPIs are taking too long to return results
- Removed regex. based search/replace of sensitive data on API response introduced as part of commit b0c6d47347
- Added new response serializer to skip sensitive data from getting logged based on annotation present in resposne object fields
- Added new parameter 'isSensitive' to @Param for marking a field as sensitive in response objects
2015-11-20 16:40:53 +05:30
Boris Schrijver 5c0366c99e CLOUDSTACK-9062: Improve S3 implementation.
The S3 implementation is far from finished, this commit focusses on the bases.

 - Upgrade AWS SDK to latest version.
 - Rewrite S3 Template downloader.
 - Rewrite S3Utils utility class.
 - Improve addImageStoreS3 API command.
 - Split various classes for convenience.
 - Various minor improvements and code optimalisations.

A side effect of the new AWS SDK is that it, by default, uses the V4 signature. Therefore I added an option to specify the Signer, so it stays compatible with previous versions.
2015-11-19 15:29:10 +01:00
Remi Bergsma 95ae7963d5 Merge pull request #801 from nlivens/updated-nuage-vsp-plugin
CLOUDSTACK-8832 : Update Nuage VSP plugin to work with Nuage VSP release 3.2

* pr/801:
  CLOUDSTACK-8832 : Update Nuage VSP plugin to work with Nuage VSP release 3.2

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-18 12:09:09 +01:00
Wei Zhou d6232cb3d1 Cannot list vlanipranges by keyword
Before change:

cloudmonkey> list vlanipranges  keyword=118
: Caught: com.mysql.jdbc.JDBC4PreparedStatement@18f36b6e: SELECT vlan.id, vlan.vlan_id, vlan.vlan_gateway, vlan.vlan_netmask, vlan.ip6_gateway, vlan.ip6_cidr, vlan.data_center_id, vlan.description, vlan.ip6_range, vlan.network_id, vlan.physical_network_id, vlan.vlan_type, vlan.uuid, vlan.removed, vlan.created FROM vlan WHERE  ( OR vlan.description LIKE ** NOT SPECIFIED ** )  AND vlan.removed IS NULL  ORDER BY vlan.id ASC  LIMIT 0, 500

After change:

cloudmonkey> list vlanipranges  keyword='118'
count = 1
vlaniprange:
id = 0d80fd9c-cd6b-4f99-96c6-261420e75f58
account = system
domain = ROOT
domainid = 2044762d-c4a5-11e3-8379-005056ac4490
......
2015-11-18 08:40:36 +01:00
Rajani Karuturi f53188192f CLOUDSTACK-8868: change the default vm.password.length to 10
also moved it to ConfigDepot
2015-11-17 16:05:46 +05:30
Rajani Karuturi 97a5d6bd20 CLOUDSTACK-8868: use same method to generate passwords for system/guest vms
generateRandomPassword() is supposed to create root user passwords.
Right now it is only used on the guest VMs. The format of the passwords
it creates are of the form "random 3-character string with a lowercase
character, uppercase character, and a digit" + random n-character string
with only lowercase characters".

For whatever reason it was that we use generateRandomPassword() for
guest VM root user passwords(maybe more secure?) we should use the same
function for system VM root user passwords.
2015-11-17 16:05:46 +05:30
Rajani Karuturi 004242ccc6 removed commented code 2015-11-17 16:05:45 +05:30
Rajani Karuturi 170a025787 CLOUDSTACK-8951: validation for "remote.access.vpn.psk.length"
throwing error for value < 8 and value > 256
right now, 8, 256 are hardcoded in the code. They should be moved to a
constant and has to be reused everywhere.
2015-11-17 14:34:57 +05:30
Daan Hoogland 2fb01b67ad CID 1338016: multi catch instead of pokemon 2015-11-16 18:33:32 +01:00
Daan Hoogland c669c93b05 CLOUDSTACK-9046 rename enums to adhere to naming conventions 2015-11-16 13:41:16 +00:00
Daan Hoogland 586c325167 CLOUDSTACK-9047 use 'State's only with context
there are more types called 'State'
  (or to be called so but now 'state')
  So remove imports and prepend their enclosing class/context to them.
2015-11-16 13:41:12 +00:00
Wei Zhou 66fc7c62f4 CLOUDSTACK-9055: fix NPE in updating Redundant State of VPC networks 2015-11-16 11:46:26 +01:00
Wei Zhou 89ce8bd9e2 CLOUDSTACK-8958: throw an exception if project account cannot be found 2015-11-16 10:17:50 +01:00
Wei Zhou 37301ed454 CLOUDSTACK-8958: add dedicated ips to domain (account for now) 2015-11-16 10:17:40 +01:00
wenwenxiong 3fb23012f8 update for comment in cancelMaintin on start VR
change comment 
//if the instance is of type ssvm, call the ssvm manager
to
//if the instance is of type domain router vm, call the network manager
2015-11-13 18:10:14 +08:00
Wei Zhou cb9bf44538 [UI] Network names are not being displayed in Infra » VRs » router » NICS 2015-11-06 11:05:12 +01:00
Remi Bergsma 5f61041550 Merge pull request #1009 from rags22489664/master
CLOUDSTACK-9006 - ListTemplates API returns result in inconsistent order when called concurrentlyThe order of templates returned in the response is based on a field called sortkey and by default value for the field is set to 0.

With more than 1000 templates, we tried listing the templates with different page sizes concurrently, and we noticed the results being inconsistent.

Thus we added a secondary order by clause to list templates call on tempZonePair column to make sure the results are consistent.

The addOrderby method of Filter class was also not appending , if we added more orderby clauses.

* pr/1009:
  CLOUDSTACK-9006 - ListTemplates API returns result in inconsistent order when called concurrently
  CLOUDSTACK-9006 - ListTemplates API returns result in inconsistent order when called concurrently

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-04 11:48:08 +01:00
Remi Bergsma 2fd6fac214 Merge pull request #898 from bvbharatk/CLOUDSTACK-8902
CLOUDSTACK-8902 Restart Network fails in EIP/ELB zoneThe restart network was failing when using external loadbalencer. The failure was because of a number format exception. When BroadcastDomainType.getValue(guestConfig.getBroadcastUri() is executed this returns a string untagged. We were trying to parse this as long so there was a number pointer exception.

This happens only when the vlan uri is vlan://untagged. in other cases were there is a number instead of untagged (vlan tag) this used to succeed. Although we were trying to convert the number to long we were not really using it. we were converting the number to long and then back to string when creating the IpAddressTo. so I removed this unnecessary conversion in this case for fixing the issue at hand.

I did a manual restart of the network and checked for this number format exception in a EIP/ELB setup.

* pr/898:
  CLOUDSTACK-89027 Restart Network fails in EIP/ELB zone

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-04 11:37:51 +01:00
Remi Bergsma 20bbd342ce Merge pull request #1020 from bvbharatk/CLOUDSTACK-9016
CLOUDSTACK-9016 Fail to create VM instance within VPCbug link https://issues.apache.org/jira/browse/CLOUDSTACK-9016.

CS doe not allocate the ip of the form x.x.x.1 to a guest VM. We seem to incorrectly assume that the first ip in the subnet belongs to the gateway.

* pr/1020:
  CLOUDSTACK-9016: Deploy vm with gateway ip address in VPC
  CLOUDSTACK-9016 Fail to create VM instance within VPC

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-02 20:32:56 +01:00
Remi Bergsma 0c52f70b45 Merge pull request #995 from kansal/CLOUDSTACK-9002
CLOUDSTACk-9002: VM deployment is successful even when dhcp entry command fails - Fixed

Reason: The return value of the call to accept() function in the applyRules() function of BasicNetworkTopology.java was not checked for success or failure. As a result even if it fails, exception was not thrown and VM deployment went ahead without any errors.

Fix: Added the necessary checks.

* pr/995:
  CLOUDSTACk-9002: VM deployment is successful even when dhcp entry command fails - Fixed

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-02 14:18:21 +01:00
Remi Bergsma 3d213b66e7 Merge pull request #916 from kansal/CLOUDSTACK-8940
CLOUDSTACK-8940: Wrong value is inserted into nics table netmask field when creating a VM - Fixed

Problem: When creating a VM in shared network with no service, the value of netmask is added in the table in the CIDR format unlike other cases where it is added as normal string in the format xxx.xxx.xxx.xxx. The netmask column in the nics table has a length of 15 chars which gets violated if the CIDR exceeds it(Max CIDR length can be 18).

Fix: Before storing the netmask convert from CIDR to native format.

* pr/916:
  CLOUDSTACK-8940: Wrong value is inserted into nics table netmask field when creating a VM - Fixed

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-02 14:16:29 +01:00
Bharat Kumar 475fc38481 CLOUDSTACK-9016 Fail to create VM instance within VPC 2015-11-02 14:08:19 +05:30
Remi Bergsma 901d47c07e Merge pull request #818 from kansal/CLOUDSTACK-8844
Fixed: Network Update from RVR offering to Standalone offering failsProblem: Moving a RVR network offering to standalone makes the status of VR's as UNKNOWN and Redundant Router marked with YES.
Fix: The network's isRedundant was not getting updated.

* pr/818:
  CLOUDSTACK-8844: Network Update from RVR offering to Standalone offering fails - Fixed

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-30 17:02:34 +01:00
Remi Bergsma 930ef8dc7b Merge pull request #879 from pdube/CLOUDSTACK-8793
CLOUDSTACK-8793 Enable s2s VPN connection for projects

* pr/879:
  CLOUDSTACK-8793 Added project id to create vpn customer gateway, and to the impl of list vpn connections and list vpn customer gateways

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-30 08:35:06 +01:00
Kshitij Kansal e24ecccdea CLOUDSTACK-8844: Network Update from RVR offering to Standalone offering fails - Fixed 2015-10-30 10:54:45 +05:30
ramamurtis c90723f491 CLOUDSTACK-9006 - ListTemplates API returns result in inconsistent order when called concurrently 2015-10-30 09:44:59 +05:30
Remi Bergsma c03956ebec Merge pull request #848 from iwebhosting/lbprotocol
Pass LbProtocol down to the HAProxyConfiguratorThis will let us specify a new load balancer protocol (tcp-proxy) which enables HAProxy's `send-proxy` functionality.

`send-proxy` / [the PROXY protocol][1] will send the real connection origin IP through to the servers behind HAProxy, without requiring any protocol specific changes (such as HTTP header rewriting).

[1]: http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt

This is also inline with what [Amazon ELB now supports][2].

[2]: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/enable-proxy-protocol.html

* pr/848:
  Pass LbProtocol down to the HAProxyConfigurator

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-29 20:15:20 +01:00
Remi Bergsma 093cccfce2 Merge pull request #945 from nitin-maharana/CloudStack-Nitin11
CLOUDSTACK-8962: Dedicated cluster is used for virtual routers that belong to non-dedicated account
Earlier the deployment planner was not handling the case of virtual routers.(In Explicit Dedication)
It was only handling for all instance VMs/user VMs.
Added code for checking the case of Virtual Routers.

* pr/945:
  CLOUDSTACK-8962: Dedicated cluster is used for virtual routers that belong to non-dedicated account

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-29 20:10:31 +01:00
Kshitij Kansal ba26efcdf2 CLOUDSTACK-8940: Wrong value is inserted into nics table netmask field when creating a VM - Fixed 2015-10-29 17:04:58 +05:30
Patrick Dube 110f66ff13 CLOUDSTACK-8793 Added project id to create vpn customer gateway, and to the impl of list vpn connections and list vpn customer gateways 2015-10-28 09:58:37 -04:00
Aaron Brady cacac14425 Pass LbProtocol down to the HAProxyConfigurator 2015-10-28 13:42:51 +00:00
Remi Bergsma 7d46b2ee56 Merge pull request #895 from SudharmaJain/cs-8911
CLOUDSTACK-8911: VM start job got stuck in loop looking for suitable host

VM instance creation job get stuck in the loop, when VMs require local storage there are host that reached max guest limit and remain hosts does have storage available.  This happens because the hosts that reach the max guest limit were not getting added to the avoid list and hence the cluster.

Verified the fix on my local setup.

Repro Steps:
1. Take an environment with single cluster and 2 hosts.
2. change the max guest limit for the hypervisor such that on one host max guest limit should reach.
3. change thresholds so that other host should not have enough storage. If required create a VM for sufficient bigger disk.
4. Now deploy a VM with local storage.
5. cluster will never be put in the avoid set and job will keep looking for suitable host.
6. once we increase the max guest limit, VM will deploy or will fail if there is a lack of storage.

* pr/895:
  CLOUDSTACK-8911: VM start job got stuck in loop looking for suitable host

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-28 11:29:32 +01:00
Kshitij Kansal 301ea330ce CLOUDSTACk-9002: VM deployment is successful even when dhcp entry command fails - Fixed 2015-10-28 11:51:25 +05:30
Remi Bergsma 535ab51b9a Merge pull request #849 from karuturi/CLOUDSTACK-8816-take2
Cloudstack-8816 some of the events do not have resource uuidsThe key objects in the context map are sometimes String and sometimes object. This causes missing uuids when an entity put in the context map with key entity.toString is queried with key entity

Testing:
manually tested by deploying a vm and checked that the created events in rabbitmq now has uuids.
events before and after the change are update at https://issues.apache.org/jira/browse/CLOUDSTACK-8816?focusedCommentId=14805239

unittests
```
$ mvn -pl :cloud-api test -Dtest=CallContextTest
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.apache.cloudstack.context.CallContextTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.152 sec - in org.apache.cloudstack.context.CallContextTest

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.445 s
[INFO] Finished at: 2015-09-18T14:58:53+05:30
[INFO] Final Memory: 55M/448M
[INFO] ------------------------------------------------------------------------
```

* pr/849:
  CLOUDSTACK-8816 added missing events
  CLOUDSTACK-8816: fixed missing resource uuid in delete network cmd
  CLOUDSTACK-8816: fixed missing resource uuid in destroy vm event
  Cloudstack-8816: Fixed missing resource uuid in delete snapshot events
  CLOUDSTACK-8816: some of the events do not have resource uuids
  CLOUDSTACK-8816: some of the events do not have resource uuids

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-27 19:26:44 +01:00
Nick Livens 645f8758df CLOUDSTACK-8832 : Update Nuage VSP plugin to work with Nuage VSP release 3.2 2015-10-27 14:56:57 +01:00
Rajani Karuturi fb4e6ed6ba Merge pull request #894 from sudhansu7/CLOUDSTACK-8917
CLOUDSTACK-8917 : Instance tab takes long time to load with 12K Vmsmodified sql that is used for retrieving vm count .

In load test environment listVirtualmachine takes 8-11 sec to load. This environment has around 12k active VMs. Total number of rows is 190K.

Performance bottleneck in listVirtualmachine command is fetching the count and distinct vms.
{noformat}
        // search vm details by ids
        Pair<List<UserVmJoinVO>, Integer> uniqueVmPair = _userVmJoinDao.searchAndCount(sc, searchFilter);
        Integer count = uniqueVmPair.second();
{noformat}

 This takes 95% of the total time.

To fetch the count and distinct vms we are using below sqls.

 Query 1:
{noformat}
SELECT DISTINCT(user_vm_view.id) FROM user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL  ORDER BY user_vm_view.id ASC  LIMIT 0, 20
 {noformat}

 Query 2:

select count(distinct id) from user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL

Query 2 is a problematic query.

If we rewrite the query as mentioned below then it will be ~2x faster.

select count(*) from (select distinct id from user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL) as temp;

Mysql Test result:

With 134 active Vms (total rows 349)
mysql> select count(*) from vm_instance;
+----------+
| count(*) |
+----------+
|      349 |
+----------+
1 row in set (0.00 sec)
mysql> select count(*) from user_vm_view;
+----------+
| count(*) |
+----------+
|      135 |
+----------+
1 row in set (0.02 sec)
mysql> select count(distinct id) from user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL;
+--------------------+
| count(distinct id) |
+--------------------+
|                134 |
+--------------------+
1 row in set (0.02 sec)

mysql> select count(*) from (select distinct id from user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL) as temp;
+----------+
| count(*) |
+----------+
|      134 |
+----------+
1 row in set (0.01 sec)

With 14326 active Vms (total rows 195660)

mysql> select count(*) from vm_instance;
+----------+
| count(*) |
+----------+
|   195660 |
+----------+
1 row in set (0.04 sec)
mysql> select count(*) from user_vm_view;
+----------+
| count(*) |
+----------+
|    41313 |
+----------+
1 row in set (4.55 sec)
mysql> select count(distinct id) from user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL;
+--------------------+
| count(distinct id) |
+--------------------+
|              14326 |
+--------------------+
1 row in set (7.39 sec)

mysql> select count(*) from (select distinct id from user_vm_view WHERE user_vm_view.account_type != 5  AND user_vm_view.display_vm = 1  AND user_vm_view.removed IS NULL) as temp;
+----------+
| count(*) |
+----------+
|    14326 |
+----------+
1 row in set (2.08 sec)

UI test Results:
Before:
![screen shot 2015-09-28 at 2 19 55 pm](https://cloud.githubusercontent.com/assets/1062642/10133848/66af7c40-65fe-11e5-9ef5-ec6489c0fc06.png)

After
![screen shot 2015-09-28 at 2 33 38 pm](https://cloud.githubusercontent.com/assets/1062642/10133852/6f512c9a-65fe-11e5-9ea1-890cf84d02b4.png)

* pr/894:
  CLOUDSTACK-8917 : Instance tab takes long time to load with 12K active VM (total vms: 190K)

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-10-27 12:17:55 +05:30
Rajani Karuturi 29dfeac857 CLOUDSTACK-8889: delete volume doesnt decrement primary store resource count
Primary Storage count for an account does not decrease when a Data Disk
is deleted belonging to the account unless the VM to which volume
belonged is destroyed

The resource counts are updated even before the disk is actually deleted
resulting in the same value.
Moved the resource counts updation to after the expunge operation as
thats when the disk is actually deleted.

all the tests in test/integration/component/test_ps_limits.py now pass
2015-10-26 17:40:27 +05:30
Remi Bergsma f241455a63 Merge pull request #954 from ustcweizhou/CLOUDSTACK-8964
CLOUDSTACK-8964: Can't create template or volume from snapshot on KVM

* pr/954:
  CLOUDSTACK-8964: Can't create template or volume from snapshot

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-26 06:31:23 +01:00
Rajani Karuturi 2c0af1f867 CLOUDSTACK-8816 added missing events
added missing events for createUser, updateUser, createAccount apis.
2015-10-26 09:15:33 +05:30
Rajani Karuturi 3ff7bf771d CLOUDSTACK-8816: fixed missing resource uuid in delete network cmd
*events before*
| management-server.AsyncJobEvent.submit.None.*
| cloudstack-events | 7             |
{"cmdInfo":"{\"id\":\"edf0a16b-54cd-442e-b644-4af933f34229\",\"response\":\"json\",\"ctxDetails\":\"{\\\"interface
com.cloud.network.Network\\\":\\\"edf0a16b-54cd-442e-b644-4af933f34229\\\"}\",\"cmdEventType\":\"NETWORK.DELETE\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444805881664\",\"uuid\":\"edf0a16b-54cd-442e-b644-4af933f34229\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"1378\"}","instanceType":"None","jobId":"f7cbf481-49d0-423b-8661-5d3d678f4b96","status":"IN_PROGRESS","processStatus":"0","commandEventType":"NETWORK.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 736           | string           | True        | |
management-server.AsyncJobEvent.complete.None.* | cloudstack-events | 6
|
{"cmdInfo":"{\"id\":\"edf0a16b-54cd-442e-b644-4af933f34229\",\"response\":\"json\",\"ctxDetails\":\"{\\\"interface
com.cloud.network.Network\\\":\\\"edf0a16b-54cd-442e-b644-4af933f34229\\\"}\",\"cmdEventType\":\"NETWORK.DELETE\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444805881664\",\"uuid\":\"edf0a16b-54cd-442e-b644-4af933f34229\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"1378\"}","instanceType":"None","jobId":"f7cbf481-49d0-423b-8661-5d3d678f4b96","status":"FAILED","processStatus":"0","commandEventType":"NETWORK.DELETE","resultCode":"530","command":"org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd","jobResult":"org.apache.cloudstack.api.response.ExceptionResponse/null/{\"uuidList\":[],\"errorcode\":530,\"errortext\":\"Failed
to delete
network\"}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 884           | string           | True        |

*events after*
|
management-server.AsyncJobEvent.submit.Network.5eccaece-a789-4b93-99c2-8b731ab6e328
| cloudstack-events | 1             |
{"cmdInfo":"{\"id\":\"5eccaece-a789-4b93-99c2-8b731ab6e328\",\"response\":\"json\",\"ctxDetails\":\"{\\\"interface
com.cloud.network.Network\\\":\\\"5eccaece-a789-4b93-99c2-8b731ab6e328\\\"}\",\"cmdEventType\":\"NETWORK.DELETE\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444814151636\",\"uuid\":\"5eccaece-a789-4b93-99c2-8b731ab6e328\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"1424\"}","instanceType":"Network","instanceUuid":"5eccaece-a789-4b93-99c2-8b731ab6e328","jobId":"d2cd4b27-acbd-4e56-867f-fe67ebde8261","status":"IN_PROGRESS","processStatus":"0","commandEventType":"NETWORK.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 793           | string           | False       |
|
management-server.AsyncJobEvent.complete.Network.5eccaece-a789-4b93-99c2-8b731ab6e328
| cloudstack-events | 0             |
{"cmdInfo":"{\"id\":\"5eccaece-a789-4b93-99c2-8b731ab6e328\",\"response\":\"json\",\"ctxDetails\":\"{\\\"interface
com.cloud.network.Network\\\":\\\"5eccaece-a789-4b93-99c2-8b731ab6e328\\\"}\",\"cmdEventType\":\"NETWORK.DELETE\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444814151636\",\"uuid\":\"5eccaece-a789-4b93-99c2-8b731ab6e328\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"1424\"}","instanceType":"Network","instanceUuid":"5eccaece-a789-4b93-99c2-8b731ab6e328","jobId":"d2cd4b27-acbd-4e56-867f-fe67ebde8261","status":"SUCCEEDED","processStatus":"0","commandEventType":"NETWORK.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.user.network.DeleteNetworkCmd","jobResult":"org.apache.cloudstack.api.response.SuccessResponse/null/{\"success\":true}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 880           | string           | False       |
2015-10-26 09:15:33 +05:30
Rajani Karuturi ec03473c23 CLOUDSTACK-8816: fixed missing resource uuid in destroy vm event
*event before*
| management-server.AsyncJobEvent.complete.VirtualMachine.*
| cloudstack-events | 2             |
{"cmdInfo":"{\"response\":\"json\",\"id\":\"ba45d114-9844-4123-8dc6-7ae46d10581a\",\"ctxDetails\":\"{\\\"interface
com.cloud.vm.VirtualMachine\\\":\\\"ba45d114-9844-4123-8dc6-7ae46d10581a\\\"}\",\"cmdEventType\":\"VM.DESTROY\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444812001047\",\"uuid\":\"ba45d114-9844-4123-8dc6-7ae46d10581a\",\"ctxAccountId\":\"2\",\"expunge\":\"true\",\"ctxStartEventId\":\"1395\"}","instanceType":"VirtualMachine","jobId":"b46faa05-7b3a-4dbf-a78d-fbc7c66c3ce3","status":"SUCCEEDED","processStatus":"0","commandEventType":"VM.DESTROY","resultCode":"0","command":"org.apache.cloudstack.api.command.admin.vm.DestroyVMCmdByAdmin","jobResult":"org.apache.cloudstack.api.response.UserVmResponse/null/{\"securitygroup\":[],\"nic\":[],\"tags\":[],\"affinitygroup\":[]}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 894           | string           | True        |

*event after*
|
management-server.AsyncJobEvent.complete.VirtualMachine.22e3bf71-91c8-4b18-a57e-af02d79dbb58
| cloudstack-events | 0             |
{"cmdInfo":"{\"response\":\"json\",\"id\":\"22e3bf71-91c8-4b18-a57e-af02d79dbb58\",\"ctxDetails\":\"{\\\"interface
com.cloud.vm.VirtualMachine\\\":\\\"22e3bf71-91c8-4b18-a57e-af02d79dbb58\\\"}\",\"cmdEventType\":\"VM.DESTROY\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444813240169\",\"uuid\":\"22e3bf71-91c8-4b18-a57e-af02d79dbb58\",\"ctxAccountId\":\"2\",\"expunge\":\"true\",\"ctxStartEventId\":\"1418\"}","instanceType":"VirtualMachine","instanceUuid":"22e3bf71-91c8-4b18-a57e-af02d79dbb58","jobId":"256ca2e7-de05-4b33-b32a-aa8567f05160","status":"SUCCEEDED","processStatus":"0","commandEventType":"VM.DESTROY","resultCode":"0","command":"org.apache.cloudstack.api.command.admin.vm.DestroyVMCmdByAdmin","jobResult":"org.apache.cloudstack.api.response.UserVmResponse/null/{\"securitygroup\":[],\"nic\":[],\"tags\":[],\"affinitygroup\":[]}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 948           | string           | False       |
2015-10-26 09:15:32 +05:30
Rajani Karuturi 04554ddd24 Cloudstack-8816: Fixed missing resource uuid in delete snapshot events
*event before*

| management-server.AsyncJobEvent.complete.Snapshot.*
| cloudstack-events | 26            |
{"cmdInfo":"{\"id\":\"2ebabd8f-0b34-4461-8071-0917c231ca49\",\"response\":\"json\",\"ctxDetails\":\"{\\\"interface
com.cloud.storage.Snapshot\\\":\\\"2ebabd8f-0b34-4461-8071-0917c231ca49\\\"}\",\"cmdEventType\":\"SNAPSHOT.DELETE\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444803845320\",\"uuid\":\"2ebabd8f-0b34-4461-8071-0917c231ca49\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"1345\"}","instanceType":"Snapshot","jobId":"fab1feaf-3b4f-4158-b332-a78e43fee5e0","status":"SUCCEEDED","processStatus":"0","commandEventType":"SNAPSHOT.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd","jobResult":"org.apache.cloudstack.api.response.SuccessResponse/null/{\"success\":true}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}

*After*

|
management-server.AsyncJobEvent.complete.Snapshot.f25ad748-2fe3-4911-b40c-4698425c8a2f
| cloudstack-events | 0             |
{"cmdInfo":"{\"id\":\"f25ad748-2fe3-4911-b40c-4698425c8a2f\",\"response\":\"json\",\"ctxDetails\":\"{\\\"interface
com.cloud.storage.Snapshot\\\":\\\"f25ad748-2fe3-4911-b40c-4698425c8a2f\\\"}\",\"cmdEventType\":\"SNAPSHOT.DELETE\",\"ctxUserId\":\"2\",\"httpmethod\":\"GET\",\"_\":\"1444806612980\",\"uuid\":\"f25ad748-2fe3-4911-b40c-4698425c8a2f\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"1388\"}","instanceType":"Snapshot","instanceUuid":"f25ad748-2fe3-4911-b40c-4698425c8a2f","jobId":"69849909-9082-481c-b8ee-9ddc1608fe8d","status":"SUCCEEDED","processStatus":"0","commandEventType":"SNAPSHOT.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.user.snapshot.DeleteSnapshotCmd","jobResult":"org.apache.cloudstack.api.response.SuccessResponse/null/{\"success\":true}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
| 886           | string           | True        |
2015-10-26 09:15:32 +05:30
Rajani Karuturi 242b87dbfb CLOUDSTACK-8816: some of the events do not have resource uuids
uuid is missing in the first event of VM create as the entity is just
created and never put in the Context.
Added the entity uuid to context on successful creation.
2015-10-26 09:15:32 +05:30
Wei Zhou ccf5d75cfb CLOUDSTACK-8964: Can't create template or volume from snapshot
This issue happens on KVM.
Normally the SSVM will process the CopyCommand from snapshot to template.
However, Ovm3HypervisorGuru chooses a KVM hypervisor to process the CopyCommand.
This is obviously wrong.
2015-10-23 22:02:24 +02:00
Funs Kessen 1022883749 FIX: Ovm3 physical network traffic labels to work.
The labeling was broken. Only labels assigned at zone creation
were used, changing labels was not working. Tested with changing
a label and checking it.

As a bonus fixed the consistency of KVM in Dutch compared to other
traffic labels in dutch and copied in the OVM3 translated label
in other languages.
2015-10-22 11:57:42 +02:00
Nitin Kumar Maharana adcd23d15a CLOUDSTACK-8962: Dedicated cluster is used for virtual routers that belong to non-dedicated account
Earlier the deployment planner was not handling the case of virtual routers.(In Explicit Dedication)
It was only handling for all instance VMs/user VMs.
Added code for checking the case of Virtual Routers.
2015-10-22 12:57:56 +05:30
Rajani Karuturi 79b7391c22 CLOUDSTACK-8923: Create storage network IP range failed
transaction.getConnection() was wrapped in try-with-resource.
This caused transaction to get closed even before its committed.
2015-10-16 09:42:48 +05:30
Wilder Rodrigues cd8c3e97f5 CLOUDSTACK-8934 - Fix the AclIP class to make it configure the default FW policy 2015-10-11 14:57:33 +02:00
Wilder Rodrigues b4dc392bfd CLOUDSTACK-8934 - Fix default EGRESS rules for isolated networks
- The default is Accept and will be changed based on the configuration of the offering.

CLOUDSTACK-8934 - The default egress is set as Deny in the router.

   - We had to change it on the Java side in order to make the apply it once the default is defined as allowed on the net offering
2015-10-11 14:57:32 +02:00
SudharmaJain 2d34036a28 CLOUDSTACK-8911: VM start job got stuck in loop looking for suitable host 2015-09-30 09:05:25 +05:30
Sudhansu c28a58a8ff CLOUDSTACK-8917 : Instance tab takes long time to load with 12K active VM (total vms: 190K)
modified sql that is used for retrieving vm count .
2015-09-28 16:24:26 +05:30
Remi Bergsma 7d5555429b Merge pull request #851 from SudharmaJain/cs-8864
CLOUDSTACK-8864: Not able to add TCP port forwarding rule in VPN for specific ports

Setting port forwarding rules for port 500,1701 and 4500 after enabling VPN, gives the error message "The range specified, xxxx, conflicts with rule xxxx which has xxxx." This happens because the rules added for vpn doesn't have a matching condition to allow port forwarding rules.

Added a unit test to verify the detectRulesConflict function of FirewallManagerImpl.

* pr/851:
  CLOUDSTACK-8864: Not able to add TCP port forwarding rule in VPN for specific ports

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-09-24 15:35:16 +02:00
Boris Schrijver 80cb3adad0 Added isEmpty() check to prevent nullPointerException. 2015-09-23 15:07:16 +02:00
Bharat Kumar 3c61746dce CLOUDSTACK-89027 Restart Network fails in EIP/ELB zone 2015-09-23 16:19:37 +05:30
Bharat Kumar 1718bb38aa CLOUDSTACK-8860: improve error messages in VM deployment code path.
Conflicts:
	engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
2015-09-22 10:17:00 +05:30
SudharmaJain 96c38bf491 CLOUDSTACK-8864: Not able to add TCP port forwarding rule in VPN for specific ports 2015-09-19 23:40:21 +05:30
Boris Schrijver b31e64d49d Refactored checkIfZoneIsDeletable().
It now makes use of various DAO DB function instead of running a self build query.
2015-09-16 22:19:14 +02:00
Boris Schrijver 45861fa1b7 Refactored checkIfPodIsDeletable().
It now makes use of various DAO DB function instead of running a self build query.
2015-09-16 22:14:05 +02:00
Maneesha.P 07ee5e9bf0 CLOUDSTACK-8866 : restart.retry.interval is being used instead of migrate.retry.interval during host maintenance 2015-09-16 12:52:34 +05:30
Suresh Kumar Anaparti c3777632c5 CLOUDSTACK-8858: listVolumes API fails for a particular domain with NPE.
Summary: listVolumes API fails when volume associated vm instance has NULL or invalid state. Fix the code to guard this situation since this should not block volume listing.
2015-09-15 16:22:06 +05:30
Wido den Hollander 06cefaf493 Merge pull request #804 from anshul1886/CLOUDSTACK-8834
CLOUDSTACK-8834: Fixed unable to download Template , when in multi zonesWe were listing image stores by zone id which was resulting in listing of only one image store
If in that image store its download state is not DOWNLOADED then download template is failing

* pr/804:
  CLOUDSTACK-8834: Fixed unable to download Template , when in multi zones We were listing image stores by zone id which was resulting in listing of only one image store If in that image store its download state is not DOWNLOADED then download template is failing

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-09-15 11:10:41 +02:00
Rajani Karuturi ac80a2df50 Merge pull request #808 from karuturi/CLOUDSTACK-8835
CLOUDSTACK-8835: Added alerts incase of template download failureAuthored-By: @sanjaytripathi
Reviewed-By: @devdeep

* pr/808:
  CLOUDSTACK-8835: Added alerts incase of template download failure

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-14 09:47:46 +05:30
Rajani Karuturi f888e93e44 Merge pull request #782 from karuturi/CLOUDSTACK-8816
Cloudstack 8816 entityuuid missing in some of the eventsIn some of the events generated, entity uuid was missing making it difficult to find the entity. Fixed the same.

Tested it on rabbitmq instance.
There are the events before after the fix:

Before
--------------------------------------------------------------------------------

routing_key: management-server.ActionEvent.ACCOUNT-DELETE.Account.*
exchange: cloudstack-events
message_count: 2
payload:
{"eventDateTime":"2015-09-04 17:59:24 +0530","status":"Scheduled","description":"deleting User test4 (id: 28) and accountId \u003d 28","event":"ACCOUNT.DELETE","Account":"c09e2e81-8edc-4c27-b072-25005b522b63","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}

payload_bytes: 304
payload_encoding: string
redelivered: False

--------------------------------------------------------------------------------

routing_key: management-server.AsyncJobEvent.complete.Account.*
exchange: cloudstack-events
message_count: 0
payload: {"cmdInfo":"{\"id\":\"9dd3abc2-3f8b-4852-aa60-a74b234acb13\",\"response\":\"json\",\"sessionkey\":\"5ig1ItP2_5v-mgY4cVJbJN5hw_w\",\"ctxDetails\":\"
{\\\"interface com.cloud.user.Account\\\":\\\"9dd3abc2-3f8b-4852-aa60-a74b234acb13\\\"}

\",\"cmdEventType\":\"ACCOUNT.DELETE\",\"expires\":\"2015-09-07T11:11:56+0000\",\"ctxUserId\":\"2\",\"signatureversion\":\"3\",\"httpmethod\":\"GET\",\"uuid\":\"9dd3abc2-3f8b-4852-aa60-a74b234acb13\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"447\"}","instanceType":"Account","jobId":"5004989d-0cde-4922-8afa-66bf38b75ea7","status":"SUCCEEDED","processStatus":"0","commandEventType":"ACCOUNT.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.admin.account.DeleteAccountCmd","jobResult":"org.apache.cloudstack.api.response.SuccessResponse/null/
{\"success\":true}

","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
payload_bytes: 914
payload_encoding: string
redelivered: False

--------------------------------------------------------------------------------

After
--------------------------------------------------------------------------------

 routing_key: management-server.ActionEvent.ACCOUNT-DELETE.Account.e5e2db91-414d-484c-99d5-c4e265c14ad8
exchange: cloudstack-events
message_count: 13
payload: {"eventDateTime":"2015-09-07 17:32:26 +0530","status":"Completed","description":"Successfully completed deleting account. Account Id: 45","event":"ACCOUNT.DELETE","entityuuid":"e5e2db91-414d-484c-99d5-c4e265c14ad8","entity":"com.cloud.user.Account","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
payload_bytes: 344
payload_encoding: string
redelivered: True

--------------------------------------------------------------------------------

routing_key: management-server.AsyncJobEvent.complete.Account.e5e2db91-414d-484c-99d5-c4e265c14ad8
exchange: cloudstack-events
message_count: 12
payload: {"cmdInfo":"{\"id\":\"e5e2db91-414d-484c-99d5-c4e265c14ad8\",\"response\":\"json\",\"sessionkey\":\"8AJVbn8HIpg5LZ_VaVfSPs_QN2k\",\"ctxDetails\":\"{\\\"interface com.cloud.user.Account\\\":\\\"e5e2db91-414d-484c-99d5-c4e265c14ad8\\\"}\",\"cmdEventType\":\"ACCOUNT.DELETE\",\"expires\":\"2015-09-07T12:17:42+0000\",\"ctxUserId\":\"2\",\"signatureversion\":\"3\",\"httpmethod\":\"GET\",\"uuid\":\"e5e2db91-414d-484c-99d5-c4e265c14ad8\",\"ctxAccountId\":\"2\",\"ctxStartEventId\":\"465\"}","instanceType":"Account","instanceUuid":"e5e2db91-414d-484c-99d5-c4e265c14ad8","jobId":"0bb08486-6d9f-4e9f-bfef-b7463c42e71b","status":"SUCCEEDED","processStatus":"0","commandEventType":"ACCOUNT.DELETE","resultCode":"0","command":"org.apache.cloudstack.api.command.admin.account.DeleteAccountCmd","jobResult":"org.apache.cloudstack.api.response.SuccessResponse/null/{\"success\":true}","account":"bd73dc2e-35c0-11e5-b094-d4ae52cb9af0","user":"bd7ea748-35c0-11e5-b094-d4ae52cb9af0"}
payload_bytes: 968
payload_encoding: string
redelivered: True

--------------------------------------------------------------------------------

* pr/782:
  CLOUDSTACK-8816 Systemvm reboot event doesnt have uuids. Fixed the same
  CLOUDSTACK-8816: Project UUID is not showing for some of operations in RabbitMQ.
  CLOUDSTACK-8816: entity uuid missing in create network event
  CLOUDSTACK-8816: instance uuid is missing in events for delete account
  CLOUDSTACK-8816 Fixed entityUuid missing in some cases is events

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-14 09:42:44 +05:30
Ashwin Swaroop 221624d2fe CLOUDSTACK-8817: listFirewallRules response JSON startport/endport not an int 2015-09-13 14:45:44 -04:00
Sanjay Tripathi 9a35f87d37 CLOUDSTACK-8835: Added alerts incase of template download failure
Reviewed-By: Devdeep
2015-09-11 16:07:35 +05:30
Anshul Gangwar 8511d62b5a CLOUDSTACK-8834: Fixed unable to download Template , when in multi zones
We were listing image stores by zone id which was resulting in listing of only one image store
If in that image store its download state is not DOWNLOADED then download template is failing
2015-09-11 15:30:39 +05:30
Wei Zhou 007f5b842d CLOUDSTACK-5863: Add unit tests for create/delete/revert volume snapshot 2015-09-10 08:01:30 +02:00
wilderrodrigues 2d90f18b82 Merge pull request #788 from ekholabs/fix/iso_net-CLOUDSTACK-8814
CLOUDSTACK-8814 - Refactoring the configuration of Routers and VPC routers nicsHi there,

I refactored the configureDefaultNics() method in order to split the implementations for Routers and VPC Routers.

The following tests were executed:

* test_vm_life_cycle
* test_routers
* test_vpc_router_nics
* test_vpc_routers
* test_vpc_offerings

@remibergsma @bhaisaab @koushik-das @miguelaferreira @DaanHoogland @karuturi , could you please have a look/test this PR?

Thanks in advance.

Cheers,
Wilder

* pr/788:
  CLOUDSTACK-8814 - Refactoring the configuration of Routers and VPC routers nics

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-09-09 14:08:15 +02:00
Rajani Karuturi 358846492a CLOUDSTACK-8816 Systemvm reboot event doesnt have uuids. Fixed the same
Also removed duplicate console proxy event thats generated both for ssvm
and console proxy reboot.
2015-09-09 14:23:29 +05:30
Rajani Karuturi 3bd53521e8 CLOUDSTACK-8816: Project UUID is not showing for some of operations in RabbitMQ. 2015-09-09 14:23:28 +05:30
Rajani Karuturi 37c3451aae CLOUDSTACK-8816 Fixed entityUuid missing in some cases is events
context parameters is Map<object,Object>. This has been used
interchangeably with String and class object resulting the param value
not being available in some cases if its put with object and get with
class.forName()

made the put and get consistent by using Object as key everywhere.
2015-09-09 14:23:27 +05:30
Rajani Karuturi 76c81a7bd9 Merge pull request #685 from kansal/CLOUDSTACK-8727
CLOUDSTACK-8727: API call listVirtualMachines returns same keypairCurrently the user can register same key with different names. Upon listing the VM's the name which got registered first is being returned and not the actual one. Anyhow this behavior is rare and not good. I have added a UNIQUE constraint on the ssh_keypairs table and also made sure that the previous registered keys(with duplicates) get deleted.

* pr/685:
  CLOUDSTACK-8727: API call listVirtualMachines returns same keypair: Corrected and test cases added

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-09 10:39:43 +05:30
Kshitij Kansal 82fbd80193 CLOUDSTACK-8727: API call listVirtualMachines returns same keypair: Corrected and test cases added 2015-09-09 09:35:48 +05:30
wilderrodrigues 5e9e9b84fb CLOUDSTACK-8814 - Refactoring the configuration of Routers and VPC routers nics 2015-09-08 15:34:29 +02:00
Rohit Yadav 30792532ed Merge pull request #777 from resmo/fix/config-string
config: doc: add default value 10 in description for vm.network.nic.max.secondary.ipaddresses

value hardcoded by commit 4925b9f6a1

* pr/777:
  config: doc: add default value 10 in description for vm.network.nic.max.secondary.ipaddresses

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-09-08 16:55:51 +05:30
Remi Bergsma b6e212f2c7 Merge pull request #773 from ekholabs/fix/vpc_nic-CLOUDSTACK-8759
CLOUDSTACK-8759 - Destroying VPC router results in a new unusable VPC routerHow to reproduce the problem:

1. Stop/Destroy the VPC router
2. Add a virtual machine to one of the VPC tier - it will trigger a VPC router creation
3. Router is created, but the NICs are not configured

How to recover without this fix:
1. Stop/destroy the VPC router and restart the VPC

Side effects: private gateways could be misconfigured.

Root cause:

In the VpcNetworkHelperImpl.configureDefaultNics() method, the guest network nic was added in the map prior to the control and public NICs. The order in the map should not matter, however in the LibvirtComputingResource.createVifs() method, there is a logic that relies on the device index - the array index - in order to create the  control nic. I advise a refactor on the data model in order to be able to identify the NIC type instead of relying in the array index.

An integration test was added to cover the fix:
* test_vpc_router_nics.py

Environment:
Management Server running on CentOS 7.1
KVM host running on CentOS 7.1
CloudStack Agent/Common 4.6.0-SNAPSHOT

Executing the test:

```
nosetests --with-marvin --marvin-config=/data/shared/marvin/mct-zone2-kvm2-ISOLATED.cfg -s -a tags=advanced,required_hardware=true component/test_vpc_router_nics.py
```

Remark: during the SSH there might be stack traces on the console due to the connection retry. It takes some time to get the PF rules in place and reach the VMs. So, just let the test run until the end.

```
Test results:

Create a vpc with two networks with two vms in each network ... === TestName: test_01_VPC_nics_after_destroy | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 1 test in 774.020s

OK
/tmp//MarvinLogs/test_vpc_router_nics_VH6E9S/results.txt (END)
```

* pr/773:
  CLOUDSTACK-8759 - Fix guets nic allocation
  CLOUDSTACK-8759 - Adding a marvin test in order to cover the fix
  CLOUDSTACK-8759 - The guest nic has to be added after the control nic

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-09-05 11:41:18 +02:00
Rajani Karuturi 5881035e7b Merge pull request #755 from karuturi/CLOUDSTACK-8647-2
Cloudstack:8647 LDAP Trust AD and AutoimportToday, CloudStack can automatically import LDAP users based on the configuration to a domain or an account. However, any new users in LDAP aren't automatically reflected. The admin has to manually import them again.
This feature enables admin to map LDAP group/OU to a CloudStack domain and any changes are reflected in ACS as well.
FS: https://cwiki.apache.org/confluence/display/CLOUDSTACK/WIP%3A+LDAP%3A+Trust+AD+and+Auto+Import

testcases output:
```
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running groovy.org.apache.cloudstack.ldap.NoLdapUserMatchingQueryExceptionSpec
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.216 sec - in groovy.org.apache.cloudstack.ldap.NoLdapUserMatchingQueryExceptionSpec
Running groovy.org.apache.cloudstack.ldap.LdapManagerImplSpec
log4j:WARN No appenders could be found for logger (org.apache.cloudstack.ldap.LdapManagerImpl).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
using type:
using type: null
using type: TEST
using type: TEST TEST
using name:
using name: null
using accountType: -1
using accountType: 1
using accountType: 3
using accountType: 4
using accountType: 5
using accountType: 6
using accountType: 20000
using accountType: -500000
Tests run: 29, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.387 sec - in groovy.org.apache.cloudstack.ldap.LdapManagerImplSpec
Running groovy.org.apache.cloudstack.ldap.LdapListUsersCmdSpec
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.041 sec - in groovy.org.apache.cloudstack.ldap.LdapListUsersCmdSpec
Running groovy.org.apache.cloudstack.ldap.LdapAddConfigurationCmdSpec
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 sec - in groovy.org.apache.cloudstack.ldap.LdapAddConfigurationCmdSpec
Running groovy.org.apache.cloudstack.ldap.LdapUserSpec
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 sec - in groovy.org.apache.cloudstack.ldap.LdapUserSpec
Running groovy.org.apache.cloudstack.ldap.LdapAuthenticatorSpec
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.082 sec - in groovy.org.apache.cloudstack.ldap.LdapAuthenticatorSpec
Running groovy.org.apache.cloudstack.ldap.LdapConfigurationVOSpec
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in groovy.org.apache.cloudstack.ldap.LdapConfigurationVOSpec
Running groovy.org.apache.cloudstack.ldap.OpenLdapUserManagerSpec
Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.094 sec - in groovy.org.apache.cloudstack.ldap.OpenLdapUserManagerSpec
Running groovy.org.apache.cloudstack.ldap.LdapDeleteConfigurationCmdSpec
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in groovy.org.apache.cloudstack.ldap.LdapDeleteConfigurationCmdSpec
Running groovy.org.apache.cloudstack.ldap.LdapUserResponseSpec
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in groovy.org.apache.cloudstack.ldap.LdapUserResponseSpec
Running groovy.org.apache.cloudstack.ldap.LdapUserManagerFactorySpec
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec - in groovy.org.apache.cloudstack.ldap.LdapUserManagerFactorySpec
Running groovy.org.apache.cloudstack.ldap.ADLdapUserManagerImplSpec
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in groovy.org.apache.cloudstack.ldap.ADLdapUserManagerImplSpec
Running groovy.org.apache.cloudstack.ldap.LdapCreateAccountCmdSpec
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.168 sec - in groovy.org.apache.cloudstack.ldap.LdapCreateAccountCmdSpec
Running groovy.org.apache.cloudstack.ldap.LdapImportUsersCmdSpec
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.063 sec - in groovy.org.apache.cloudstack.ldap.LdapImportUsersCmdSpec
Running groovy.org.apache.cloudstack.ldap.LinkDomainToLdapCmdSpec
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 sec - in groovy.org.apache.cloudstack.ldap.LinkDomainToLdapCmdSpec
Running groovy.org.apache.cloudstack.ldap.LdapSearchUserCmdSpec
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec - in groovy.org.apache.cloudstack.ldap.LdapSearchUserCmdSpec
Running groovy.org.apache.cloudstack.ldap.LdapListConfigurationCmdSpec
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in groovy.org.apache.cloudstack.ldap.LdapListConfigurationCmdSpec
Running groovy.org.apache.cloudstack.ldap.NoSuchLdapUserExceptionSpec
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in groovy.org.apache.cloudstack.ldap.NoSuchLdapUserExceptionSpec
Running groovy.org.apache.cloudstack.ldap.LdapConfigurationResponseSpec
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in groovy.org.apache.cloudstack.ldap.LdapConfigurationResponseSpec
Running groovy.org.apache.cloudstack.ldap.LdapConfigurationSpec
asserting for provider configuration: openldap
asserting for provider configuration: microsoftad
asserting for provider configuration:
asserting for provider configuration:
asserting for provider configuration: xyz
asserting for provider configuration: MicrosoftAd
asserting for provider configuration: OpenLdap
asserting for provider configuration: MicrosoftAD
Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.053 sec - in groovy.org.apache.cloudstack.ldap.LdapConfigurationSpec
Running groovy.org.apache.cloudstack.ldap.LdapContextFactorySpec
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.099 sec - in groovy.org.apache.cloudstack.ldap.LdapContextFactorySpec
Running groovy.org.apache.cloudstack.ldap.LdapConfigurationDaoImplSpec
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec - in groovy.org.apache.cloudstack.ldap.LdapConfigurationDaoImplSpec
Running groovy.org.apache.cloudstack.ldap.LdapUtilsSpec
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in groovy.org.apache.cloudstack.ldap.LdapUtilsSpec

Results :

Tests run: 156, Failures: 0, Errors: 0, Skipped: 0
```

* pr/755:
  CLOUDSTACK-8647: linkdomaintoldap shouldnt fail when createuseraccount fails
  CLOUDSTACK-8647 removed duplicate key in create sql of ldap_trust_map
  CLOUDSTACK-8647: string formatting
  CLOUDSTACK-8647: updated with review comments
  CLOUDSTACK-8647: unittests for LdapAuthenticatorSpec
  CLOUDSTACK-8647: formatted LdapAuthenticatorSpec
  CLOUDSTACK-8647: UI for trust AD feature
  CLOUDSTACK-8647 added unittests for new methods  in ldapmanager
  CLOUDSTACK-8647 unittests for LinkDomainToLdap api command
  CLOUDSTACK-8647: fixed unittests
  CLOUDSTACK-8647 support for assigning and admin to linked ldap domain
  CLOUDSTACK-8647 added nested group enabled config in ldap
  CLOUDSTACK-8647 added account_type to the linkDomainToLdap API
  CLOUDSTACK-8647 changed the authentication flow
  CLOUDSTACK-8647 added new api linkLdapToDomain
  CLOUDSTACK-8647: added cmd and response class for the new api

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-05 09:30:17 +05:30
Rene Moser 0b956bbc1f config: doc: add default value 10 in description for vm.network.nic.max.secondary.ipaddresses
value hardcoded by commit 4925b9f6a1
2015-09-04 16:03:24 +02:00
wilderrodrigues 53c9bb4d38 CLOUDSTACK-8759 - Fix guets nic allocation
- When stopping/detroying a VPC router and creating a new one via the addition os a VM, the networks are no plugged correctly
   - The ETH1 ends up with the IP of the guest nic, which remains down. This causes routes problems and the VMs are not reachable via the pub IPs
2015-09-03 09:38:56 +02:00
wilderrodrigues 23d0f3feda CLOUDSTACK-8759 - Adding a marvin test in order to cover the fix
- The test will create a VPC, add 2 tier, 2 VMs, ACL, PF and SSH into the VM
   - Then it will stop the router, destroy the router, add another VM to 1 tier and check that we can reach all the VMs
2015-09-02 17:05:16 +02:00
Wei Zhou c0a0aec0f9 Merge pull request #732 from ustcweizhou/revert-volume-snapshot-master
Guys, can you review it? things need to be discussed:
(1) this supports KVM/QCOW2 only. Anyone want to implement for other Hypervisor/format ?
(2) The original data volume (on primary storage) will be removed.
(3) The script uses the default timeout in libvirtComputingResource. Do we need to add one in global configuration (like copy.volume.wait or backup.snapshot.wait, create.volume.from.snapshot.wait)
(4) In scripts/storage/qcow2/managesnapshot.sh, I use "qemu-img convert -f qcow2 -O qcow2" to copy the snapshot from secondary to primary (hence there is no base image file), instead of "cp -f", this is because convert is faster than cp in my testing.

* pr/732:
  CLOUDSTACK-5863: revert volume snapshot for KVM/QCOW2

Signed-off-by: Wei Zhou <w.zhou@tech.leaseweb.com>
2015-09-01 16:18:40 +02:00
wilderrodrigues 21df0ffe89 CLOUDSTACK-8759 - The guest nic has to be added after the control nic
- The was an issue introduced on 4.5 with the VPC refactor.
   - Adding a VM to a VPC with no router would create a broken VPC router, with no nics
2015-09-01 14:31:49 +02:00
Koushik Das f732c7d1e9 Merge pull request #760 from koushik-das/CLOUDSTACK-8785
CLOUDSTACK-8785: Proper enforcement of retry count (max.retries) for all work type handled by HighAvailability manager
Retry count is properly enforced for all work types in HA manager. Also reorganized some of the code for easy testing.

Signed-off-by: Koushik Das <koushik@apache.org>
2015-09-01 17:59:08 +05:30
Koushik Das 53cba7c741 Merge pull request #741 from koushik-das/simulator_fixes
Made following fixes in simulator
- Support for ScaleVmCommand/NetworkRulesVmSecondaryIpCommand in resource layer
- Added support for scaling up a running VM in simulator
- Fixed some method names not following convention

In order to test PR #725 using simulator some of these changes are needed.

Based on the way HV check is present in the scale VM API, had to explicitly put simulator related check to allow support. The ideal way would be to remove all these HV specific check from code and made them some configuration (by putting them in hypervisor_capabilities table in DB). But that will be a bigger effort outside the scope of this PR.

Signed-off-by: Koushik Das <koushik@apache.org>
2015-08-31 12:15:54 +05:30
Rajani Karuturi 8bc0294014 Revert "Merge pull request #714 from rafaelweingartner/master-lrg-cs-hackday-003"
This reverts commit cd7218e241, reversing
changes made to f5a7395cc2.

Reason for Revert:

noredist build failed with the below error:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-compile) on project cloud-plugin-hypervisor-vmware: Compilation failure
[ERROR] /home/jenkins/acs/workspace/build-master-noredist/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java:[484,12] error: non-static variable logger cannot be referenced from a static context
[ERROR] -> [Help 1]

even the normal build is broken as reported by @koushik-das on dev list
http://markmail.org/message/nngimssuzkj5gpbz
2015-08-31 11:27:57 +05:30
Rafael Weingartner 3818257a68 Solved jira ticket: CLOUDSTACK-8750 2015-08-28 22:35:08 -03:00
Koushik Das cbf2c3bbf6 CLOUDSTACK-8785: Proper enforcement of retry count (max.retries) for all work type handled by HighAvailability manager
Retry count is properly enforced for all work types in HA manager. Also reorganized some of the code for easy testing.
2015-08-28 17:59:17 +05:30
Kshitij Kansal fe7df96804 Coverity Issue: NUll Pointer dereferncing fixed and commits squashed. 2015-08-28 16:05:01 +05:30
Wei Zhou 312cb877b1 CLOUDSTACK-5863: change response from SuccessResponse to SnapshotResponse 2015-08-28 08:54:11 +02:00
Rajani Karuturi 59291864fc CLOUDSTACK-8647 added nested group enabled config in ldap
querying the nested groups only when nested groups are enabled
2015-08-27 17:30:21 +05:30
Rajani Karuturi 0dc9ccd189 CLOUDSTACK-8647 added account_type to the linkDomainToLdap API 2015-08-27 17:30:20 +05:30
Rajani Karuturi 7109689fde CLOUDSTACK-8647 changed the authentication flow
added check to see if domain is linked to ldap. If yes and the user is
member of the group/OU, authenticate and import user.
2015-08-27 17:30:20 +05:30
Rohit Yadav 5f04aa5687 Merge pull request #673 from anshul1886/CLOUDSTACK-8721
CLOUDSTACK-8721: Fixed Setting details of VM through API results in removal of all other details except the one passed in API

* pr/673:
  CLOUDSTACK-8721: Fixed Setting details of VM through API results in removal of all other details except the one passed in API

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-26 16:08:46 +05:30
Koushik Das 86684cd4bc Made following fixes in simulator
- Support for ScaleVmCommand/NetworkRulesVmSecondaryIpCommand in resource layer
- Added support for scaling up a running VM in simulator
- Fixed some method names not following convention
2015-08-25 14:52:48 +05:30
Wei Zhou 92344c006d CLOUDSTACK-5863: revert volume snapshot for KVM/QCOW2 2015-08-24 11:01:50 +02:00
Remi Bergsma 6d57a86cb9 Merge pull request #726 from borisroman/NicVORegression
Fix for the NicVO.java regression.Renamed set*() methods to correct naming.

* pr/726:
  Fix for the NicVO.java regression.

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-08-21 23:16:42 +02:00
Boris Schrijver 4b88eabef1 Fix for the NicVO.java regression.
Renamed set*() methods to correct naming.
2015-08-21 14:03:00 +02:00
radu-stefanache c7a3ad4dc0 More typos 2015-08-20 13:04:29 +01:00
Rajani Karuturi e384f2d146 Merge pull request #715 from devdeep/CLOUDSTACK-8687
CLOUDSTACK-8687: Prepare template only on a given storage poolUpdate prepare template api to seed/prepare a template only on a given primary storage. Currently, the prepare template api will seed/prepare a given template on all the primary storage pools in a zone. If however, a user wishes to prepare a template only a particular storage pool, it isn't possible. Updated the api to take storage pool id as an optional parameter. If the pool id is provided then the template is prepared only on the given primary storage pool. Also added unit tests to validate the functionality

* pr/715:
  CLOUDSTACK-8687: Unit tests for validating the prepare template functionality. These tests validate that the templates get scheduled for seeding. Additionally, if a template is already seeded, we do not try and seed it again. Tests also validate that templates are seeded to storage pools which are available.
  CLOUDSTACK-8687: Update prepare template api to seed/prepare a template only on a given primary storage. Currently, the prepare template api will seed/prepare a given template on all the primary storage pools in a zone. If however, a user wishes to prepare a template only a particular storage pool, it isn't possible. Updated the api to take storage pool id as an optional parameter. If the pool id is provided then the template is prepared only on the given primary storage pool

Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2015-08-19 15:58:42 +05:30
Rajani Karuturi ef783d9b1d Merge pull request #707 from borisroman/CLOUDSTACK-8736
Refactored Nic.java for readability.Only changed names and reorganized them! No functional implementation change.

See issue CLOUDSTACK-8736 for ongoing effort to clean up network code.

* pr/707:
  Renamed internal variables of NicProfile.java to adhere to the naming convention.
  Refactored Nic.java for readability.

Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2015-08-19 10:50:10 +05:30
Devdeep Singh fedef2e6ca CLOUDSTACK-8687: Unit tests for validating the prepare template functionality.
These tests validate that the templates get scheduled for seeding. Additionally,
if a template is already seeded, we do not try and seed it again. Tests also
validate that templates are seeded to storage pools which are available.
2015-08-19 10:06:54 +05:30
Devdeep Singh adf6b588dd CLOUDSTACK-8687: Update prepare template api to seed/prepare a template
only on a given primary storage. Currently, the prepare template api
will seed/prepare a given template on all the primary storage pools in
a zone. If however, a user wishes to prepare a template only a
particular storage pool, it isn't possible. Updated the api to take
storage pool id as an optional parameter. If the pool id is provided
then the template is prepared only on the given primary storage pool
2015-08-19 10:04:05 +05:30
Boris Schrijver c30ba1df0b Refactored Nic.java for readability.
Changed methodnames according to Nic.java refactor.

Fixed NicVO.java due to regression from Nic.java refactor.

Fixed VmWareGuru.java after Nic.java refactor.

See issue CLOUDSTACK-8736 for ongoing effort to clean up network code.
2015-08-18 14:04:48 +02:00
Wido den Hollander 64a2cbdae6 Merge pull request #708 from radu-stefanache/master
Fixed typoSpotted this using Elasticsearch .

* pr/708:
  Typo correction

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-08-18 12:03:24 +02:00
Wido den Hollander bc51a42fc2 Merge pull request #705 from borisroman/CLOUDSTACK-8736
Refactored NicProfile.java for readability.Only changed names and reorganized them! No functional implementation change.

See issue CLOUDSTACK-8736 for ongoing effort to clean up network code.

* pr/705:
  Refactored NicProfile.java for readability.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-08-17 15:24:06 +02:00
Boris Schrijver 5db3371840 Refactored NicProfile.java for readability.
See issue CLOUDSTACK-8736 for ongoing effort to clean up network code.
2015-08-17 14:12:10 +02:00
Koushik Das f2f29525ae CLOUDSTACK-8737: Remove out-of-band VR reboot code based on persistent VR configuration changes
Removed out-of-band VR reboot code
2015-08-17 14:49:32 +05:30
Remi Bergsma 64ff67da55 Merge pull request #654 from DaanHoogland/CLOUDSTACK-8656
Cloudstack 8656: do away with more silently ignoring exceptions.a lot of messages added.
some restructuring for test exception assertions and try-with-resource blocks

* pr/654: (29 commits)
  CLOUDSTACK-8656: more logging instead of sysout
  CLOUDSTACK-8656: use catch block for validation
  CLOUDSTACK-8656: class in json specified not found
  CLOUDSTACK-8656: removed unused classes
  CLOUDSTACK-8656: restructure of tests
  CLOUDSTACK-8656: reorganise sychronized block
  CLOUDSTACK-8656: restructure tests to ensure exception throwing
  CLOUDSTACK-8656: validate the throwing of ServerApiException
  CLOUDSTACK-8656: logging ignored exceptions
  CLOUDSTACK-8656: try-w-r removes need for empty catch block
  CLOUDSTACK-8656: try-w-r instead of clunckey close-except
  CLOUDSTACK-8656: deal with empty SQLException catch block by try-w-r
  CLOUDSTACK-8656: unnecessary close construct removed
  CLOUDSTACK-8656: message about timed buffer logging
  CLOUDSTACK-8656: message about invalid number from store
  CLOUDSTACK-8656: move cli test tool to separate file
  CLOUDSTACK-8656: exception is the rule for some tests
  CLOUDSTACK-8656: network related exception logging
  CLOUDSTACK-8656: reporting ignored exceptions in server
  CLOUDSTACK-8656: log in case we are on a platform not supporting UTF8
  ...

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-08-14 21:38:49 +02:00
Remi Bergsma 0fcc7297e0 Merge pull request #680 from borisroman/CLOUDSTACK-8580
Interface changes related to CLOUDSTACK-8580See issue CLOUDSTACK-8580 and individual commits.

* pr/680:
  Made interface changes related to CLOUDSTACK-8580

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-08-14 11:47:36 +02:00
Boris Schrijver 655fcc924f Made interface changes related to CLOUDSTACK-8580
Added responses to ListCapabilities to reflect CLOUDSTACK-8580 changes.

This to add these options to the gui. See issue CLOUDSTACK-8580.

3be14e978a

Removed comments as proposed by Daan Hoogland.
2015-08-14 11:13:21 +02:00
Milamber 72e55029ef Improve debug message when the scheduler prepare to snapshot (volume 'id' and add volume name)
Signed-off-by: Milamber <milamber@apache.org>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #676

(cherry picked from commit 606afe341d)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-14 14:12:46 +05:30
Rohit Yadav 89f47ece3d CLOUDSTACK-8702: Add/refactor sessionkey checking code to HttpUtils
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit cb7dd7b27d)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-14 11:56:55 +05:30
Boris Schrijver 03f48872d6 CLOUDSTACK-8133 Added Virtualmachine count and ID's to listSecurityGroups response.
See issue CLOUDSTACK-8133 for more information.

Added null check by comment of Koushik Das.

Added brackets by comment of Wido den Hollander.

Removed a call to findById() by comment of Koushik Das.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2015-08-13 13:47:38 +02:00
Radu Stefanache f5a6d8ca3a Typo correction
Simple typo in the code .
2015-08-12 09:48:49 +01:00
Remi Bergsma f65dec4b0f Merge pull request #658 from manuiiit/pull-11
Implemented condition that only admin or owner of the template can change its permissions ..... using updateTemplatePermissions API

Consider this scenario :
In a domain, there are three User Accounts UA1, UA2,UA3
A private template is registered by UA1
Through the updateTemplatePermissions API, UA1 gives permission to both UA2 and UA3
Now, UA2, having been shared the template, can remove the permission of UA3(or add permissions to another account).
EXPECTED BEHAVIOR :
UA2 should not be able to to add/remove permissions of other accounts.

* pr/658:
  Implemented condition that only admin or owner of the template can change its permissions using updateTemplatePermissions API

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-08-11 11:38:33 +02:00
Maneesha.P f7e8d44552 Implemented condition that only admin or owner of the template can change its permissions using updateTemplatePermissions API 2015-08-11 11:08:35 +05:30
Mike Tutkowski 8b0266d12e Merge branch 'pr/547'
* pr/547:
  CLOUDSTACK-8601. VMFS storage added as local storage can be re-added as shared storage. Fail addition of a VMFS shared storage pool in case it has already been added as local storage in CS.

Signed-off-by: Mike Tutkowski <mike.tutkowski@solidfire.com>
2015-08-10 19:00:53 -06:00
Anshul Gangwar 728635a3d3 CLOUDSTACK-8721: Fixed Setting details of VM through API results in removal of all other details except the one passed in API 2015-08-10 16:14:04 +05:30
Remi Bergsma cd02a59841 Merge pull request #656 from koushik-das/CLOUDSTACK-8704
CLOUDSTACK-8704: Schedule restart of router VMs ahead of user VMs as part of HA

VRs are scheduled for HA ahead of user VMs.

Refer to the bug for more details.

* pr/656:
  CLOUDSTACK-8704: Schedule restart of router VMs ahead of user VMs as part of HA VRs are scheduled for HA ahead of user VMs

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-08-10 12:13:15 +02:00
Koushik Das 44c1ef04a0 CLOUDSTACK-8704: Schedule restart of router VMs ahead of user VMs as part of HA
VRs are scheduled for HA ahead of user VMs
2015-08-10 14:51:44 +05:30
Remi Bergsma e8ade2dd9e Merge pull request #662 from manuiiit/pull-14
CLOUDSTACK-8711: public_ip type resource count for an account is not decremented upon IP range deletionProblem:
--------------------------
When you add an IP range and associate it to an account then resource count of public_ip will be updated to the range length.
After some time try to delete this range and the resource count of public_up for this account is not descremented and is causing account not to add any more public IPs to it once it reaches the resource limit.
RCA:
----------------
We were not decrement the count while deleting the IP range that was associated to an account.
Fix:
-------------
Up on deletion we are decrementing the resource count for public_up now.

* pr/662:
  Bug-Id: CS-27335: public_ip type resource count for an account is not decremented upon IP range deletion

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-08-10 09:24:27 +02:00
Remi Bergsma a08d8b1845 Merge pull request #666 from @remibergsma
CLOUDSTACK-8709 No out of band migrate alert for non-routers

* pr/666:
  CLOUDSTACK-8709 No out of band migrate alert for non-routers

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-08-07 16:44:21 +02:00
Remi Bergsma 90feab18e0 Merge pull request #659 from @manuiiit
CLOUDSTACK-8714 Restore VM (Re-install VM) with enable.storage.migration set to false fails

* pr/659:
  Bug-ID:CS-27160: Restore VM (Re-install VM) with enable.storage.migration set to false fails, later fails to start up VM too

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-08-07 16:36:54 +02:00
Remi Bergsma daa30c4722 CLOUDSTACK-8709 No out of band migrate alert for non-routers 2015-08-07 14:30:00 +02:00
Damodar 865623fd1e Bug-Id: CS-27335: public_ip type resource count for an account is not decremented upon IP range deletion
Reviewed-By: Kishan/Bharat

Signed-off-by: Maneesha.P <maneesha.papireddygari@citrix.com>
2015-08-06 14:39:27 +05:30
Mike Tutkowski b1905c2040 CLOUDSTACK-8698: Retrieve a new device ID, if needed 2015-08-05 13:58:22 -06:00
Prachi Damle a3e87cfa95 Bug-ID:CS-27160: Restore VM (Re-install VM) with enable.storage.migration set to false fails, later fails to start up VM too
Reviewed-By: Anthony

Changes:
- Try to reuse the storage pools for READY disks if the pool fits the deployment plan
- Try to use the last_host if it has free capacity but no reserved capacity

Signed-off-by: Maneesha.P <maneesha.papireddygari@citrix.com>
2015-08-06 00:19:18 +05:30
Daan Hoogland 6fa8b7578e CLOUDSTACK-8656: reporting ignored exceptions in server 2015-08-04 15:50:35 +02:00
Daan Hoogland c1ac5f3abc Merge pull request #643 from @kansal
Coverity Issue: Resource Leak fixed

* pr/643:
  CLOUDSTACK-8692: Resource leak found by the internal coverity instance at Citrix fixed.

Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-08-03 11:09:24 +02:00
Kshitij Kansal e0ba5302b6 CLOUDSTACK-8692: Resource leak found by the internal coverity instance at Citrix fixed. 2015-08-03 11:21:50 +05:30
Daan Hoogland e2b6237464 CLOUDSTACK-8656: debug messages on interupted exceptions 2015-07-30 16:03:10 +02:00
Daan Hoogland 85e002b230 CLOUDSTACK-8656: filling empty catch block with info messages
using regexp "catch\s*\(\s*(Exception|Throwable)\s*\w*\)\s*\{\s*\}"
2015-07-30 15:51:52 +02:00
Daan Hoogland 8b350c37bd coverity 1133705: output writer close
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-07-27 14:43:11 +02:00
Koushik Das 090db05821 CLOUDSTACK-8666: Put host in Alert state only after alert.wait timeout
Instead of putting the host to Alert state immediately, the investigators should be allowed to run for some time based on alert.wait global config.
At the end of this interval if the host state still cannot be determined then put the host in Alert. Also updated some of the log messages.

This closes #621
2015-07-24 12:16:07 +05:30
Boris Schrijver 2984acca83 CLOUDSTACK-8580 Users are now able to view, expunge and recover their vm's themselves. Two configuration options are added to allow this behaviour on a global or per account scale. Configuration options default to false.
Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>

This closes #593
2015-07-23 13:59:44 +02:00
Boris Schrijver 2e79c628e0 CLOUDSTACK-8649: Fixed unnecessary double url decoding in registerSSHKeyPair.
Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>

This closes #615
2015-07-23 08:18:15 +02:00
Wido den Hollander fbe3b04a43 CLOUDSTACK-8628: Send an alert when fencing a KVM host failed
Also change the logging a bit so that you get useful logs when
not running on DEBUG level

Signed-off-by: Wido den Hollander <wido@widodh.nl>

This closes #580
2015-07-17 12:33:11 +02:00
Koushik Das 9ec2a6c29c CLOUDSTACK-8623: CPVM fails to start after MS is restarted during its initial start-up process
If SSVM cannot be started then the existing entry is removed and a new SSVM gets created. Made similar changes for CPVM as well.
Also cleaned up some log messages in SSVM and CPVM manager code.
2015-07-14 10:55:19 +05:30
Rohit Yadav 42940a8828 CLOUDSTACK-8622: Reinstate working sessions in browser
- Login is based on sessionkey HttpOnly Cookie
- ApiServlet does login verification using sessionKey from both the request cookies
  and the API parameters. In both cases, if either or both are passed they should
  match the sessionKey stored in the current session of the HttpRequest
- UI: it no longer needs to read or set sessionkey cookie
- UI: it no longer needs to return g_sessionKey value in the API requests, though
  to support a sso mechanism g_sessionKey is still passed in the API is not null
- Secure jsessionid cookie is set to be HttpOnly and Secure
- SAML login should also set HttpOnly cookie before redirecting to UI
- SAML: listIdps & getSPMetadata APIs are readonly now, won't log out a logged in user

Performed tests (login, saml login if applicable, page refreshes, opening
multiple tabs, logout) with following combinations:
- SAML disabled, normal auth as admin, domain-admin and user
- SAML enabled, normal auth as admin, domain-admin and user; and saml sso as
  admin, domain-admin and user

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #574
This closes #308
2015-07-10 17:25:07 +05:30
Jayapal 140cd7c227 CLOUDSTACK-8324: Fixed config key in multiple places 2015-07-10 09:47:09 +05:30
Daan Hoogland 0cd8c06f7d coverity 1116680: update datacentre for ip adresses these resources are created often and will create serious leakage if closing failes
Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-07-09 21:30:24 +02:00
Daan Hoogland bcc8182f2f findbugs: write to static from instance these are the trivial cases of ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD as reported by findbugs
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #539
2015-07-09 15:01:58 +02:00
Daan Hoogland 31c6b14dd4 Merge branch 'improvement/CLOUDSTACK-8607' change the host password on the host itself via the updateHostPassword API
- Make sure the new password replaces the old one in the queue
    - Updated the patch files for XenServer
    - Updated the script path on LibvirtComputing class
    - Adding update_host_passwd to VRScripts
    - Add implementation to CitrixUpdateHostPasswordCommandWrapper
    - Improve testUpdateHostPasswordCommand() unit test on CitrixRequestWrapperTest
    - Adding update_host_passwd.sh script
    - Adding the host IP address as an instance variable on UpdateHostPasswordCommand
    - Improving the Unit Test (LibvirtComputingResourceTest) to get it covering the new code
    - Make sure doUpdateHostPassword() doesn't get called if flag is set to false
    - Do not update XenServer hosts if the cluster ID is not informed

    This closes #559
2015-07-06 16:15:22 +02:00
Rajani Karuturi f1a64902cc Merge branch 'PR-REVIEW-335'
This closes #335
2015-07-06 11:48:38 +05:30
wilderrodrigues 86297e70be CLOUDSTACK-8607 - Make sure the new password replaces the old one in the queue
- Added log info to show details of the operation
   - Renamed the addPwdToQueue to replaceOldPasswdInQueue
2015-07-04 11:33:52 +02:00
wilderrodrigues efa34361df CLOUDSTACK-8607 - Changed update script to return exit code based on the result
- Changed location of the update_host_passwd script
   - Updated the patch files for XenServer
   - Updated the script path on LibvirtComputing class
   - Removed the hostIP from the LibvirtUpdateHostPasswordCommandWrapper execute() method
2015-07-03 14:29:57 +02:00
Koushik Das 5d9f851deb CLOUDSTACK-8603: Random list VM failures at scale (more than 1000 VMs) when VM has resource tags There is no 'removed' field on the resource_tags table. So 'id' based search may return a record or null in case record is deleted. Added a check for null or empty in search resource tags based on 'id'.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #551
2015-07-03 15:25:11 +05:30
wilderrodrigues 6c92ccf8d1 CLOUDSTACK-8607 - Refactoring attribute name
- Refactoring attribute name from shouldUpdateHost to updatePasswdOnHost
   - Fixing ApiConstants class because it had an error in the constant name
2015-07-03 11:43:56 +02:00
Sudhansu b593657503 BUG-ID: CLOUDSTACK-8484 - Hosts without tag are not listed while
listing the hosts for migration for instance with tag

While preparing the suitable hosts we are accidentally removing the
incompatible (host does not have host tag) hosts from otherhost list(
incorrect use of List.retainAll).
2015-07-03 11:41:55 +05:30
wilderrodrigues 47c7a1083f CLOUDSTACK-8607 - Adding update_host_passwd.sh script
- Modifying the LibvirtUpdateHostPasswordCommandWrapper in order to execute the script on the host
   - Adding the script path to LibvirtComputingResource
   - Adding the host IP address as an instance variable on UpdateHostPasswordCommand
   - Improving the Unit Test (LibvirtComputingResourceTest) to get it covering the new code
2015-07-02 14:54:51 +02:00
wilderrodrigues a74971df06 CLOUDSTACK-8607 - Adding shouldUpdateHost flag
- Make sure doUpdateHostPassword() doesn't get called if flag is set to false
   - Do not update XenServer hosts if the cluster ID is not informed
2015-07-02 11:12:08 +02:00
Likitha Shetty 13a98dd196 CLOUDSTACK-8601. VMFS storage added as local storage can be re-added as shared storage.
Fail addition of a VMFS shared storage pool in case it has already been added as local storage in CS.
2015-07-01 10:47:36 +05:30
Rohit Yadav 107595a6a5 CLOUDSTACK-8457: SAML auth plugin improvements for production usage
* Move config options to SAML plugin
  This moves all configuration options from Config.java to SAML auth manager. This
  allows us to use the config framework.
* Make SAML2UserAuthenticator validate SAML token in httprequest
* Make logout API use ConfigKeys defined in saml auth manager
* Before doing SAML auth, cleanup local states and cookies
* Fix configurations in 4.5.1 to 4.5.2 upgrade path
* Fail if idp has no sso URL defined
* Add a default set of SAML SP cert for testing purposes
  Now to enable and use saml, one needs to do a deploydb-saml after doing a deploydb
* UI remembers login selections, IDP server

- CLOUDSTACK-8458:
    * On UI show dropdown list of discovered IdPs
    * Support SAML Federation, where there may be more than one IdP
        - New datastructure to hold metadata of SP or IdP
        - Recursive processing of IdP metadata
        - Fix login/logout APIs to get new interface and metadata data structure
        - Add org/contact information to metadata
        - Add new API: listIdps that returns list of all discovered IdPs
        - Refactor and cleanup code and tests

- CLOUDSTACK-8459:
    * Add HTTP-POST binding to SP metadata
    * Authn requests must use either HTTP POST/Artifact binding

- CLOUDSTACK-8461:
    * Use unspecified x509 cert as a fallback encryption/signing key
      In case a IDP's metadata does not clearly say if their certificates need to be
      used as signing or encryption and we don't find that, fallback to use the
      unspecified key itself.

- CLOUDSTACK-8462:
    * SAML Auth plugin should not do authorization
      This removes logic to create user if they don't exist. This strictly now
      assumes that users have been already created/imported/authorized by admins.
      As per SAML v2.0 spec section 4.1.2, the SP provider should create authn requests using
      either HTTP POST or HTTP Artifact binding to transfer the message through a
      user agent (browser in our case). The use of HTTP Redirect was one of the reasons
      why this plugin failed to work for some IdP servers that enforce this.
    * Add new User Source
      By reusing the source field, we can find if a user has been SAML enabled or not.
      The limitation is that, once say a user is imported by LDAP and then SAML
      enabled - they won't be able to use LDAP for authentication
    * UI should allow users to pass in domain they want to log into, though it is
      optional and needed only when a user has accounts across domains with same
      username and authorized IDP server
    * SAML users need to be authorized before they can authenticate
        - New column entity to track saml entity id for a user
        - Reusing source column to check if user is saml enabled or not
        - Add new source types, saml2 and saml2disabled
        - New table saml_token to solve the issue of multiple users across domains and
          to enforce security by tracking authn token and checking the samlresponse for
          the tokens
        - Implement API: authorizeSamlSso to enable/disable saml authentication for a
          user
        - Stubs to implement saml token flushing/expiry

- CLOUDSTACK-8463:
    * Use username attribute specified in global setting
      Use username attribute defined by admin from a global setting
      In case of encrypted assertion/attributes:
      - Decrypt them
      - Check signature if provided to check authenticity of message using IdP's
        public key and SP's private key
      - Loop through attributes to find the username

- CLOUDSTACK-8538:
    * Add new global config for SAML request sig algorithm

- CLOUDSTACK-8539:
    * Add metadata refresh timer task and token expiring
        - Fix domain path and save it to saml_tokens
        - Expire hour old saml tokens
        - Refresh metadata based on timer task
        - Fix unit tests

This closes #489

(cherry picked from commit 20ce346f3a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	client/WEB-INF/classes/resources/messages_hu.properties
	plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixCheckHealthCommandWrapper.java
	plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java
	ui/scripts/ui-custom/login.js
2015-06-29 12:31:51 +02:00
wilderrodrigues 527d6ee77b Making possible to update KVM hosts password in the database via the API
- Make sure the doUpdateHostPassword() method returns the result from the answer, not always true
   - Added the LibvirtUpdateHostPasswordCommandWrapper class, which will handle the changes in the KVM agent
     That's will be further implemented in the future. The command will avoid the agent to complain about Unsupported command
   - Added a test to make sure the current implementation of the comment works
     - If changes in the future, it will also require changes. In that way, we make sure nobody will break it

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>

This closes #527
2015-06-29 09:59:12 +02:00
wilderrodrigues b8ab3cd3b3 Fix a bug in the doUpdateHostPassword() method
- 2 years ago a change in that method caused an issue when trying to update the hosts password:
    - they would be updated in the databse but not in the host it self, causing the hosts to disconnect after a management server resstart

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-06-29 09:59:11 +02:00
wilderrodrigues 3367ecc71c Improving exception message
- Adding both ID and UUID of the host

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-06-29 09:59:11 +02:00
wilderrodrigues 284e2d68e1 In case we cannot update the password of all hosts in a cluster, please stop and notify the user about the failure.
- The host id that failed to get updated will be informed in the error.

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-06-29 09:59:11 +02:00
wilderrodrigues b6f12984c5 Add supported hypervisors to a list
- By doing so the check is simple and will require less effort when adding other hypervisors.

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-06-29 09:59:10 +02:00
wilderrodrigues 03dd34039a Decouple the use of updateHostPassword
- The code was hard to maintain because updating a host or all the hosts in a cluster was handled in the same method
   - Created updateHost and updateCluster password in both ResourceManager and ManagementServer interfaces/classes
   - The chck for whihc method to use is done in the API level
   - Started adding the support for KVM host passwd update

No API changes are needed and it will be backwards compatible.

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-06-29 09:59:10 +02:00
wilderrodrigues ac1b5e3705 Formatting the ResourceManagerImpl class
- Needed to be formatted before applying the changes

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-06-29 09:59:09 +02:00
wilderrodrigues 4406e2c8ec Initial work on improveing host password update
- Formatting the code of ManagementServerImpl

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-06-29 09:59:09 +02:00
Daan Hoogland edfe6f4d4f findbugs Boolean return null in getter not in is-query
Signed-off-by: Daan Hoogland <daan@onecht.net>

This closes #534
2015-06-28 12:41:44 +02:00
Rene Moser af902fd9d9 CLOUDSTACK-8578: implement state=present for listing only non-destroyed VMs
So the behavior before this fix can be used in a proper way.

Signed-off-by: Daan Hoogland <daan@onecht.net>

This closes #513
2015-06-24 20:21:33 +02:00
Daan Hoogland 55c1d9f3fa findbugs: fields of serializable made serializable
Signed-off-by: Daan Hoogland <daan@onecht.net>

This closes #522
2015-06-24 20:20:12 +02:00
wilderrodrigues 5557ad5588 Offer a getDurationInMillis() method in the Profiler utility class
- New implementation uses nanoseconds. Due to that, the places where the Profiler is used as a Monitor and/or
     a stopwatch will suffer with the difference in the return
   - Also added a getDuration(), which returns the time in nanoseconds in case someone wants to use it instead
   - Added an extra test to check if the getDuration() works fine with nanoseconds
   - Fixed the test that checks the time in milliseconds: I added an error margin to cover the test better

Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-06-24 09:36:40 +02:00
Rene Moser 82ecc1aa06 CLOUDSTACK-8578: fix listVirtualMachines does not return deleted machines when zone is specified
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #510
2015-06-23 14:53:08 +02:00
Daan Hoogland 916a6d0104 findbugs: prepare prepared statements to leverage the advantages of'em
Signed-off-by: Daan Hoogland <daan@onecht.net>

This closes #496
2015-06-20 03:37:20 +02:00
Daan Hoogland 6e068551d6 findbugs: use a prepared statement as prepared statement
Signed-off-by: Daan Hoogland <daan@onecht.net>

This closes #492
2015-06-19 23:26:00 +02:00
Daan Hoogland e713ed3b11 findbugs: prepared statements don't make sense if these are not actually prepared
Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-06-19 23:26:00 +02:00
Daan Hoogland bb613baa2b findbugs: repeated condition seems c&p error the tested states sugest that EXPUNGED should be the last one
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #491
2015-06-19 15:26:53 +03:00
Daan Hoogland 1532203e36 findbugs: decoding String using preferred Charset 2015-06-19 14:22:19 +02:00
Daan Hoogland 9d1c38e7e7 findbugs: encoding string with preferred Charset 2015-06-19 14:19:54 +02:00
Daan Hoogland ee3085db47 findbugs: repeated condition removed 2015-06-19 13:54:38 +02:00
Sanjay Tripathi 92a9ee097d AsyncJob reports 'Successful' even if RevertToVMSnapshot operation fails.
This closes #484
2015-06-19 15:48:21 +05:30
Abhinandan Prateek bcfb8240e1 CLOUDSTACK-8570:Exception in calculating reserved capacity for dynamic service offering 2015-06-19 09:30:33 +05:30
Daan Hoogland b9dd67c383 CLOUDSTACK-8545 port of the fix to not reboot routers on out of band migration persé 2015-06-18 16:42:08 +02:00
Rafael da Fonseca 931cb95022 Fix 2 findbugs SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING warnings in ConfigurationManagerImpl.java
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #476
2015-06-18 13:37:39 +03:00
Rafael da Fonseca b678b47793 Fix findbugs SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING warning in ConfigurationServerImpl.java
Remove checkstyle reported trailing space

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #477
2015-06-18 13:36:44 +03:00
Rafael da Fonseca 5d258fa163 Fix 2 findbugs SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING warnings in DatabaseConfig.java
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>

This closes #478
2015-06-18 14:36:26 +05:30
Daan Hoogland f3afcb089f CLOUDSTACK-8537 test for the sake of testing the fix seems so trivial but no testing is available for it at all. when bugs arise test extension should be the start point here.
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #357
2015-06-17 20:47:57 +02:00
Daan Hoogland 968e71ad0e CLOUDSTACK-8537 refactor registerSSHKeyPair() for legibility and testability reasons
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-06-17 20:47:57 +02:00
Daan Hoogland 9f02531212 CLOUDSTACK-8537 add check for unique public key and account on ssh keypair registration
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-06-17 20:47:57 +02:00
Rafael da Fonseca 85afa63f24 Re-run travis
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #456
2015-06-17 12:18:01 +02:00
Rafael da Fonseca b34ad4a22c Fix findbugs RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE in IpAddressManagerImpl.java Assert isn't used in prod runtime
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-06-17 12:18:00 +02:00
Rafael da Fonseca ae328a6588 Fix 2 findbugs STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE warnings in BaseCmd.java Dateformat objects are not threadsafe and should be defined as instance variables Both INPUT_FORMAT and NEW_INPUT_FORMAT are only used in ParamProcessWorker.java and doesn't makes it more readable to declare in own class
Add missing import statement

Removed extraneous file

Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #457
2015-06-15 16:32:30 +02:00
Rafael da Fonseca 34a791c295 Fix findbugs RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE in UserVmJoinVO.java Assert isn't used in prod runtime
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #455
2015-06-15 12:28:05 +03:00
Rafael da Fonseca 7a57ce3334 Fix findbugs NS_DANGEROUS_NON_SHORT_CIRCUIT warning in NetworkServiceImpl.java
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #440
2015-06-15 12:10:10 +03:00
Rafael da Fonseca 1bd3286263 Fix 2 findbugs warnings in ApiResponseHelper.java ints were being boxed just to call .toString()
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #438
2015-06-15 12:10:04 +03:00
Rafael da Fonseca ea7f4bd254 Fix findbugs warning in NetworkServiceImpl.java Integer was being boxed just to call toString()
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #437
2015-06-15 12:10:02 +03:00
Rafael da Fonseca ec280189f4 Fix findbugs warning in ProjectManagerImpl.java Unnecessary boxing/unboxing of primitive value
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #434
2015-06-15 12:09:57 +03:00
Rafael da Fonseca 4d31ed9342 Fix findbugs warning in NetworkUsageManagerImpl.java Unnecessary boxing/unboxing of long value to create Date
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #433
2015-06-15 12:09:54 +03:00
Rafael da Fonseca d7a27c9572 Fix 2 findbugs warnings in NetworkServiceImpl.java Unnecessary boxing/unboxing of int values
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #432
2015-06-15 12:09:53 +03:00
Rafael da Fonseca e831fce1b9 Fix findbugs warning in CloudZonesStartupProcessor.java Unnecessary boxing/unboxing of primitive value
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #431
2015-06-15 12:09:50 +03:00
Rafael da Fonseca 62e78cdea0 Fix findbugs warning in ApiDispatcher.java Unnecessary boxing/unboxing of long value
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #430
2015-06-15 12:09:48 +03:00
Daan Hoogland 14d9c82369 findbugs: String to byt[] conversion
decodeBase64() can work on String so the unsafe conversion is not needed

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #361
2015-06-12 14:57:37 +03:00
Kishan Kavala 39d51bc021 CLOUDSTACK-5409: Include projectid during ACL check while listing S2S Vpn gateways
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #374
2015-06-12 14:54:44 +03:00
Rafael da Fonseca bec44bffb3 Upgrade Reflections to 0.9.9
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>

This closes #333
2015-06-03 11:01:32 +05:30
Jayapal 6e96fc6f38 CLOUDSTACK-8324: Updated import and added ResourceWrapper annotation 2015-05-28 15:56:37 +05:30
Jayapal 69ea932897 CLOUDSTACK-8324: Config drive changes for xenserver 2015-05-28 15:51:50 +05:30
Jayapal e407986183 CLOUDSTACK-8324: Added config drive support for xenserver 2015-05-28 15:51:50 +05:30
Jayapal 7984ae5283 CLOUDSTACK-8324: Resource base changes for vm ip fetch 2015-05-28 15:42:08 +05:30
Jayapal 733ac2b728 CLOUDSTACK-8324: Added vm ip fetch logic 2015-05-28 15:42:08 +05:30
Jayapal 70934e8c1a CLOUDSTACK-8324: Skip ip allocation for external dhcp 2015-05-28 15:42:07 +05:30
Jayapal 599125499b CLOUDSTACK-8324: shared network without any service 2015-05-28 15:42:07 +05:30
Daan Hoogland bbebd2d314 CLOUDSTACK-8506 extra check on unknown vlan
Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>

This closes #306
2015-05-27 14:39:16 +02:00
wilderrodrigues 75463356fb CLOUDSTACK-8506
Removing the previous logic and adding a method to check if the CIDR is 31 bit prefixed
Adding tests for the new method

Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #303
2015-05-26 12:10:00 +02:00
Rohit Yadav e5d3084526 CLOUDSTACK-8339: Allow non-root users to add KVM host
This allows non-root users to add KVM hosts, the user should be an admin or
added to sudoers to execute sudo cloudstack-setup-agent.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Signed-off-by: Remi Bergsma <apache@remi.nl>

This closes #288

(cherry picked from commit d2b0c1a32b)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-25 14:36:29 +02:00
Rohit Yadav d2b0c1a32b CLOUDSTACK-8339: Allow non-root users to add KVM host
This allows non-root users to add KVM hosts, the user should be an admin or
added to sudoers to execute sudo cloudstack-setup-agent.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Signed-off-by: Remi Bergsma <apache@remi.nl>

This closes #288
2015-05-25 14:11:14 +02:00
Milamber 8eafdbd224 CLOUDSTACK-6181 Specify GB for the value of rootdisksize parameter. Add some Bytes/GB for log or exception messages. Fix Gb->GB. 2015-05-23 18:53:18 +01:00
Milamber 87d4086a64 CLOUDSTACK-6181 Specify GB for the value of rootdisksize parameter. Add some Bytes/GB for log or exception messages. Fix Gb->GB. 2015-05-23 17:52:21 +01:00
wilderrodrigues 44057a0f0f Merge branch 'improvement/RFC_3021_31_Bit_Prefixes' of https://github.com/schubergphilis/cloudstack into rfc_3021
Testing PR #292
2015-05-23 10:10:13 +02:00
wilderrodrigues a83f74d83e CLOUDSTACK-8506
- Changing the implementation of the NetUtils.ipRangesOverlap() a little bit in order to be compliant with RFC 3021
  - 2 unit tests added
  - ranges from 0 to 255 covered by the tests, which also test the negative cases.
2015-05-22 20:08:09 +02:00
Rohit Yadav cd55413c6a CLOUDSTACK-8243: KVM agent should not use hardcoded string tails
For KVM agent, guid is configurable in agent.properties, this fix allows the
configuration to work by removing string tail (the -LibvirtComputingResource suffix).

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #286

(cherry picked from commit 803b946c2f)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-22 18:12:10 +01:00
Rohit Yadav 803b946c2f CLOUDSTACK-8243: KVM agent should not use hardcoded string tails
For KVM agent, guid is configurable in agent.properties, this fix allows the
configuration to work by removing string tail (the -LibvirtComputingResource suffix).

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #286
2015-05-22 18:11:52 +01:00
Rohit Yadav 1c81b241e7 CLOUDSTACK-8505: Don't allow non-POST requests for default login API
We add a new contract to pass Http request to authentication plugin system. In
the default login API, we disallow non-POST requests.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 9e9b231672)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	api/src/org/apache/cloudstack/api/auth/APIAuthenticator.java
	plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/GetServiceProviderMetaDataCmd.java
	plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java
	plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/SAML2LogoutAPIAuthenticatorCmd.java
	plugins/user-authenticators/saml2/test/org/apache/cloudstack/api/command/GetServiceProviderMetaDataCmdTest.java
	plugins/user-authenticators/saml2/test/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmdTest.java
	plugins/user-authenticators/saml2/test/org/apache/cloudstack/api/command/SAML2LogoutAPIAuthenticatorCmdTest.java
	server/src/com/cloud/api/ApiServlet.java
	server/src/com/cloud/api/auth/DefaultLoginAPIAuthenticatorCmd.java
	server/src/com/cloud/api/auth/DefaultLogoutAPIAuthenticatorCmd.java
	server/test/com/cloud/api/ApiServletTest.java
2015-05-22 11:44:34 +01:00
Rohit Yadav 9e9b231672 CLOUDSTACK-8505: Don't allow non-POST requests for default login API
We add a new contract to pass Http request to authentication plugin system. In
the default login API, we disallow non-POST requests.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-22 10:11:15 +01:00
Koushik Das 1cd2e9bc44 Merge branch 'CLOUDSTACK-8301' of https://github.com/apache/cloudstack 2015-05-22 09:47:59 +05:30
Rene Moser c43e4db4e0 ListFirewallEgressRulesCmd: add interfaces and minor cleanup
This commit does not implement new functionality:

* Fixes duplicate parameter in API docs.
* Fixes a bunch of typos.
* Add interfaces to make it easier for the FirewallService interface.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #249
2015-05-20 17:00:08 +01:00
Koushik Das d423df66cc CLOUDSTACK-8301: Enable configuring local storage use for system VMs at zone level
Code cleanup, added helper method to get default system offering based on "system.vm.use.local.storage".
2015-05-19 21:32:14 +05:30
Koushik Das 3f7e31ed05 CLOUDSTACK-8301: Enable configuring local storage use for system VMs at zone level
Made system.vm.use.local.storage a zone level configuration.
2015-05-19 21:32:14 +05:30
Devdeep Singh a99c9d0e68 Implementation for the ability to disable a storage pool for provisioning
... of new volumes. Following changes are implemented 1. Disable or enable a pool with the
updateStoragePool api. A new 'enabled' parameter added for the same. 2. When a
pool is disabled the state of the pool is updated to 'Disabled' in the db. On
enabling it is updated back to 'Up'. Alert is raised when a pool is disabled or
enabled. 3. Updated other storage providers to also honour the disabled state.
4. A disabled pool is skipped by allocators for provisioing of new volumes. 5.
Since the allocators skip a disabled pool for provisioning of volumes, the
volumes are also not listed as a destination for volume migration.

FS: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Disabling+Storage+Pool+for+Provisioning

This closes #257

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-19 11:16:49 +01:00
Daan Hoogland 06de2d6292 backport of CLOUDSTACK-8197 create MinVRVersion config item
Conflicts:
  api/src/com/cloud/network/VirtualNetworkApplianceService.java
  engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #244
2015-05-13 09:33:16 +02:00
Mike Tutkowski ac2bccd2a2 Removing unused imports 2015-05-07 13:52:25 -06:00
Daan Hoogland 1c408dec37 Merge branch '4.5' after 4.5.1 vote passes 2015-05-07 16:03:26 +02:00
Rajani Karuturi e0721fe976 volume upload: when create template fails, rolling back transaction 2015-05-04 15:15:33 +05:30
Wido den Hollander 329e94828d CLOUDSTACK-1302: Make sure the disk cache mode is passed to the KVM Agent
The StartCommand did not contain the proper cache mode due to VolumeJoinVO
not containing the cache_mode field.
2015-05-04 10:23:00 +02:00
Koushik Das 23bde8ea7a CLOUDSTACK-8438: Proper enforcement of hypervisor capability "max. guest limit"
VMs in transition states - Starting, Stopping, Migrating - are also taken into account for enforcing "max. guest limit"

(cherry picked from commit 3100fc1554)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-03 15:56:10 +02:00
Rohit Yadav 1840805aab server: Introduce Unknown Status to be used in AbstractInvestigatorImpl
The PR #211 introduced changes where the abstract investigator testIpAddress()
would return other Status, which previously only returned null, Up or Down. In
this patch we introduce a new Status "Unknown" that replaces null's semantics.

The important changes #211 introduced was the debugging statements as semantically
the changes would work same as the consumers of testIpAddress() method only used
if returned values were Up or Down and in other cases (null, Alert etc) it would
simply continue to loop through the resources being investigated.

Keeping the debug logs, this commit only replaces the previously returned null
values with Status.Unknown and fixed the debug statements to reflect the same.
In case of trapped exceptions too, we return Unknown status but log the exception
we trapped.

server: add null assertions and remove dead code with testIpAddress usage

This closes #222

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 7a1cb28c9f)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-03 15:16:04 +02:00
Rohit Yadav 7a1cb28c9f server: Introduce Unknown Status to be used in AbstractInvestigatorImpl
The PR #211 introduced changes where the abstract investigator testIpAddress()
would return other Status, which previously only returned null, Up or Down. In
this patch we introduce a new Status "Unknown" that replaces null's semantics.

The important changes #211 introduced was the debugging statements as semantically
the changes would work same as the consumers of testIpAddress() method only used
if returned values were Up or Down and in other cases (null, Alert etc) it would
simply continue to loop through the resources being investigated.

Keeping the debug logs, this commit only replaces the previously returned null
values with Status.Unknown and fixed the debug statements to reflect the same.
In case of trapped exceptions too, we return Unknown status but log the exception
we trapped.

server: add null assertions and remove dead code with testIpAddress usage

This closes #222

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-03 15:15:29 +02:00
Rohit Yadav df3dea58a2 CLOUDSTACK-6139: Fix regression, allow zone level systemvm localstorage config
From b3f18e7d74, the zone level systemvm local
storage setting never worked as it needed to be moved to config depot.

(cherry picked from commit 279efb0432)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2015-05-01 15:27:40 +02:00
Rohit Yadav 279efb0432 CLOUDSTACK-6139: Fix regression, allow zone level systemvm localstorage config
From b3f18e7d74, the zone level systemvm local
storage setting never worked as it needed to be moved to config depot.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-01 15:24:53 +02:00
Rajani Karuturi bd71fcb650 Fixed two coverity reported issues
Dereference after null check
Dm: Dubious method used

This closes #219
2015-05-01 16:08:26 +05:30
Koushik Das 3100fc1554 CLOUDSTACK-8438: Proper enforcement of hypervisor capability "max. guest limit"
VMs in transition states - Starting, Stopping, Migrating - are also taken into account for enforcing "max. guest limit"
2015-05-01 12:49:56 +05:30
Wido den Hollander ab1a6912a9 CLOUDSTACK-1302: Make sure the disk cache mode is passed to the KVM Agent
The StartCommand did not contain the proper cache mode due to VolumeJoinVO
not containing the cache_mode field.
2015-04-30 17:32:52 +02:00
Anshul Gangwar f46ed59290 CLOUDSTACK-8422: Fixed unable to delete zone from CCP
this closes #202
2015-04-30 14:44:18 +05:30
Jayapal 9642e862d6 CLOUDSTACK-8406: Fixed selecting userdata as VR with dhcp service 2015-04-30 12:24:24 +05:30
Jayapal 4b2ce34bc9 CLOUDSTACK-8406: Fixed selecting userdata as VR with dhcp service 2015-04-30 12:21:15 +05:30
Koushik Das 795f3814f6 CLOUDSTACK-8426: Use a separate thread pool for VR reboot in case of out-of-band movement
Using a cached thread pool for VR reboot task

(cherry picked from commit 1a719afb51)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-29 16:50:40 +02:00
Remi Bergsma f8b7251b88 return a state instead of null
When a full cluster is down or unreachable,
CloudStack currently reports everything the
same as the last known state, which is usually
Up. When it cannot reach a host and cannot
reach another host in the same cluster either,
it returns null and says "I don't know". This
prevents it from reporting the problem. Now,
we return an Alert or Disconnected state so
proper action can be taken.

Also logging was added, so we know what part
of the code put it to Alert or Disconnected.
2015-04-29 15:05:02 +02:00
Daan Hoogland 97e4fbc294 Merge branch 'investigator_null_state_fix' of https://github.com/remibergsma/cloudstack
This closes #211
2015-04-29 15:00:00 +02:00
Daan Hoogland 1669bb98a4 spaces in log message 2015-04-29 14:54:13 +02:00
Daan Hoogland 22e71be034 space in log message 2015-04-29 14:54:04 +02:00
Remi Bergsma 78e095e64b return a state instead of null
When a full cluster is down or unreachable,
CloudStack currently reports everything the
same as the last known state, which is usually
Up. When it cannot reach a host and cannot
reach another host in the same cluster either,
it returns null and says "I don't know". This
prevents it from reporting the problem. Now,
we return an Alert or Disconnected state so
proper action can be taken.

Also logging was added, so we know what part
of the code put it to Alert or Disconnected.
2015-04-29 08:09:20 -04:00
Koushik Das 1a719afb51 CLOUDSTACK-8426: Use a separate thread pool for VR reboot in case of out-of-band movement
Using a cached thread pool for VR reboot task
2015-04-29 12:29:21 +05:30
Rajani Karuturi 0b8355920e Merge branch 'volume-upload' into master
This closes #206
2015-04-29 11:12:53 +05:30
Santhosh Edukulla 86943da26e Fixed few coverity issues
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
(cherry picked from commit 0a9742f914)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-27 14:43:48 +02:00
Rajani Karuturi faaa1365a3 Throwing an exception incase the template service couldnt register template. 2015-04-27 15:12:09 +05:30
Ilia Shakitko 50dd37fcc9 GetUsageRecordsCmd - NewInputFormat for START_DATE and END_DATE (with time; backward capabile)
This closes #191

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-25 02:49:21 +02:00
Rajani Karuturi 75ae90b073 volume-upload: added account level secondary storage resource limit checks 2015-04-24 15:48:44 +05:30
Ilia Shakitko 5c5873edf1 GetUsageRecordsCmd - Removed unnecessary adjust...
ToDayStart/End because ParamProcessWorker.java is taking care of building proper
date format with day start/end

This closes #185

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-24 11:35:00 +02:00
Ilia Shakitko fe29998938 GetUsageRecordsCmd - NewInputFormat for START_DATE and END_DATE (with time; backward capabile)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-24 11:34:51 +02:00
Rohit Yadav 79a46fe0b4 CLOUDSTACK-8399: Allow changing hvm flag in updateTemplate API
This allows changing the hvm flag for a template after the template has been
registered.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 3e8b12bbb1)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-23 15:28:22 +02:00
Rohit Yadav 3e8b12bbb1 CLOUDSTACK-8399: Allow changing hvm flag in updateTemplate API
This allows changing the hvm flag for a template after the template has been
registered.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-23 15:27:43 +02:00
Rohit Yadav d81e831214 RemoteAccessVpn: fix regression preshared key is not sent to UI/clients
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit c71339569d)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-23 14:19:24 +02:00
Rohit Yadav c71339569d RemoteAccessVpn: fix regression preshared key is not sent to UI/clients
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-23 14:04:32 +02:00
Koushik Das bc399b981f volume-upload: If SSVM is destroyed and started, then partially uploaded volumes/templates remain in
inconsistent state (NotUploaded or UploadInProgress) and doesn't transition to any terminal
state (Uploaded, Uploaded). As a result these volumes/templates cannot be removed. Fix is to handle such
volume/template entries correctly.
2015-04-22 19:28:51 +05:30
Rajani Karuturi f172fbef8a Bug-Id: CS-39350 Able to upload Volume greater than the Resource limit defined for Primary Storage.
Reviewed-By: Harikrishna Patnala <harikrishna.patnala@citrix.com>
2015-04-20 13:01:19 +05:30
Rajani Karuturi 9be70843fd removed unused static main in ConsoleProxyPasswordBasedEncryptor
This closes #11
This closes #10
This closes #176
2015-04-17 12:07:04 +05:30
Rajani Karuturi 4f35d3611a volume upload: fixed the error message incase of wrong image format 2015-04-16 17:43:46 +05:30
Rohit Yadav ca99603321 server: NPE checks and improved case checking
- pool allocation checks for both root and data disks
- NPE checks to not add null object in collection or try to migrate null VM
- HA work tries need to increment and be given up when max retries are crossed
- VM creation should check IP address format for IPv4 and IPv6
- If userdata is not supported by a network, then fail early if userdata, ssh key,
  or password enabled template is passed/used

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 24435dd6bc)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-16 17:37:03 +05:30
Rohit Yadav 06e353e5c7 vmware: support vmfs as local storage pool type
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 752d784d92)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-16 17:36:52 +05:30
Rohit Yadav 24435dd6bc server: NPE checks and improved case checking
- pool allocation checks for both root and data disks
- NPE checks to not add null object in collection or try to migrate null VM
- HA work tries need to increment and be given up when max retries are crossed
- VM creation should check IP address format for IPv4 and IPv6
- If userdata is not supported by a network, then fail early if userdata, ssh key,
  or password enabled template is passed/used

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-16 17:28:20 +05:30
Rohit Yadav 752d784d92 vmware: support vmfs as local storage pool type
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-16 17:10:43 +05:30
Wido den Hollander 940622c32f CLOUDSTACK-8313: Allow overprovisioning of local storage pools
(cherry picked from commit 9836ccdcf3)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-15 11:47:34 +05:30
Wido den Hollander 9836ccdcf3 CLOUDSTACK-8313: Allow overprovisioning of local storage pools 2015-04-14 17:30:27 +02:00
Rohit Yadav c0d3e6f5e8 server: ignore params signatureversion and expires when validating API args
(cherry picked from commit d361bf6847)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-14 16:52:32 +05:30
Sanjay Tripathi 30604e973a CLOUDSTACK-8386: CS is returning sec. storage even if it is full and there are other sec. storage with free space. 2015-04-14 16:10:40 +05:30
Koushik Das 4338bea070 volume upload: cannot delete a volume in NotUploaded state
Volume deletion is not allowed in NotUploaded or UploadInProgress states, added validation in delete volume API for same
2015-04-14 16:08:54 +05:30
Rohit Yadav d361bf6847 server: ignore params signatureversion and expires when validating API args
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-14 15:32:16 +05:30
Rohit Yadav a07497b373 server: fix NPE case in VolumeApiServiceImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit df934c9541)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-13 15:47:51 +05:30
Rohit Yadav 74e0a5f9ec server: fix system account create logs
Don't output scary message, avoid logging network_group table not found and
log sane messages if system/admin account/user already exist.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 5599dee90d)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-13 15:47:36 +05:30
Rohit Yadav df934c9541 server: fix NPE case in VolumeApiServiceImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-13 15:44:09 +05:30
Rohit Yadav 5599dee90d server: fix system account create logs
Don't output scary message, avoid logging network_group table not found and
log sane messages if system/admin account/user already exist.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-13 15:44:09 +05:30
Rajani Karuturi ce823a3a26 Returning template/volume download percent in UploadStatusAnswer
Also updating the store ref entries on receiving the answer.
2015-04-09 15:38:58 +05:30
KC Wang 01864ef77c CLOUDSTACK-6697: bigswitch networking plugin update
1. provide compatibility with the Big Cloud Fabric (BCF) controller
   L2 Connectivity Service in both VPC and non-VPC modes
2. virtual network terminology updates: VNS --> BCF_SEGMENT
3. uses HTTPS with trust-always certificate handling
4. topology sync support with BCF controller
5. support multiple (two) BCF controllers with HA
6. support VM migration
7. support Firewall, Static NAT, and Source NAT with NAT enabled option
8. add VifDriver for Indigo Virtual Switch (IVS)

This closes #151

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-09 13:02:02 +05:30
wilderrodrigues 3d22a16c4f Bump priority stragety is no longer used for redundant virtual routers
- With the changes added by the rVPC work, the bump priority became deprecated.
     This commit includes a refactor to get it removed from the following resources:
     * Java classes
     * domain_router table - removing the is_priority_bumpup column
     * Fixing unit tests

All changes were tested with:

XenServer 6.2 running under our VMWare zone
CloudStack Management Server running on MacBook Pro
MySql running on MackBook Pro
Storage Type: Local
2015-04-02 21:50:49 +02:00
Sanjay Tripathi 5f59091418 CLOUDSTACK-8350: Volume attachment failed when user stops the VM during attaching DISK. 2015-03-27 15:26:32 +05:30
Daan Hoogland 6a821730ce Boolean -> boolean 2015-03-25 22:20:40 +01:00
Daan Hoogland 048212b117 findbugs: Boolen function should not return null 2015-03-25 21:46:47 +01:00
Daan Hoogland 05099734fb findbugs: removed redundant null check 2015-03-25 18:12:42 +01:00
Daan Hoogland c49273e3ab findbugs: to many lines removed in last commit 2015-03-25 17:55:11 +01:00
Daan Hoogland 8957dffc0d findbugs: dead store / unused locals removed 2015-03-25 17:54:12 +01:00
Daan Hoogland 61e38a188b findbugs: use explicit default charset encoding 2015-03-25 17:50:29 +01:00
Rajani Karuturi 5643d514ee volume upload: showing browser uploaded templates in UI.
Templates are not observed on UI after GetUploadParamsForTemplate API
call and Template upload requests initiated.
2015-03-24 15:11:14 +05:30
Koushik Das c62ce3eecb volume-upload: Templates in uploaded error state are also accounted in resource limits which leads to failure during template upload even though there aren't any active ones
Fixed the storage GC thread to clean up templates in error/abandoned states.
2015-03-24 09:21:42 +05:30
Damodar 9e82365099 CLOUDSTACK-7948: Two VOLUME.DELETE Events are being registered instead of one - On Destroying a User VM belonging to a Project
(cherry picked from commit 27fa8a9453)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-23 16:27:39 +05:30
Damodar 27fa8a9453 CLOUDSTACK-7948: Two VOLUME.DELETE Events are being registered instead of one - On Destroying a User VM belonging to a Project 2015-03-23 16:27:21 +05:30
Amogh Vasekar 35b741a1c9 excluded plain text authenticator
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2015-03-23 11:59:47 +05:30
Rajani Karuturi c32a6695dc wrapped create template in db transaction
Template entry created in DB even though GetUpload* API fails with "No
ssvm present" error
2015-03-23 11:19:21 +05:30
Rajani Karuturi 018023c1ef volume upload: added validation for file formats
merged TemplateUtils and ImageStoreUtil to a singe ImageStoreUtil
also added a unittest for ImageStoreUtil
2015-03-20 16:25:13 +05:30
Rajani Karuturi d5dffb5dc9 volume upload: added md5 checksum validation
also fixed the issue wherein the successful uploads where also moving to
error state as the channelinactive is called after the end of successful
upload as well.
added a fileuploaded boolean to check when the channel is inactive.
2015-03-18 12:20:51 +05:30
Rohit Yadav 3c429ee6b5 Merge remote-tracking branch 'sbp/feature/persisten-systemvm-redundant-vpc-REBASE'
This closes #118

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-17 15:44:57 +05:30
Ian Southam c38f0b91e3 Disable this for now - causes too much grief
Is also the root cause of the status UNKNOWN
2015-03-16 11:40:10 +01:00
wilderrodrigues 8edeca179b Remove the priority checks from the code
- We do not use it anymore
2015-03-16 11:40:09 +01:00
wilderrodrigues 962a62ed5f During the merge I removed by mistake the @Inject tag 2015-03-16 11:40:07 +01:00
wilderrodrigues 20d9715816 One of the routers is not running, so we don't have to continue here since the host will be null any way. Also, there is no need
To check either for sanity of duplicate master. Thus, just update the state and get lost.
2015-03-16 11:40:07 +01:00
wilderrodrigues 4b6604318d generate random password for redundant VPC 2015-03-16 11:40:06 +01:00
wilderrodrigues ae6b07af15 Fix state of isolated redundant network router
- once stopped, got to UNKNOWN
2015-03-16 11:40:04 +01:00
wilderrodrigues aa585e3428 Removing trailing spaces 2015-03-16 11:40:04 +01:00
wilderrodrigues 3af2ce3f50 Fix checkSanity. We do not need to check the priority anymore.
- It's taken care by VRRP.

wip: clean up where priority is still used.
2015-03-16 11:40:03 +01:00
wilderrodrigues 0a133c06f8 Adding nre method to NetworkDao
- listVpcNetworks() to be used for the router check task
2015-03-16 11:40:01 +01:00
wilderrodrigues ca9deb70f6 Fix the router id on the virtural routers
- Using the VPC id, it is reliable.
   - Tested stopping/destroying/creating a router and VRRP is pretty happy
2015-03-16 11:39:59 +01:00
wilderrodrigues 4c9f4fcdd3 Make virtual router id unique per redundant group
Customise the messages showed during VPC restart based on redundancy
Do not show "Make Redundant" option if VPC is already redundant
Show on VPC details if a VPC is redundant
2015-03-16 11:39:58 +01:00
wilderrodrigues e350f1e76f Turn a single VPC into a redundant VPC
- when restarting a VPC, the user can check the option Make Redundant in order to change
    the VPC offering and make it redundant
2015-03-16 11:39:57 +01:00
wilderrodrigues 88129adac1 Implement the new VPC restart
- behaves just like network restart: if clean up is checked, all routers destroyed; if 1 router is gone and no
    clean up, only 1 new router created.
2015-03-16 11:39:52 +01:00
wilderrodrigues b7a142800d Adding the router priority when the control interface is created
Adding some logging to the check heartbeat script
2015-03-16 11:39:52 +01:00
wilderrodrigues ae53d5ede1 Fix router priuority using the same logic as the one for the state
Fix the router state. do not show UNKNOW, but MASTER or BACKUP depending on the type of router
Implement the virtual_router_id to be passed as a boot parameter to the router
  - it is needed for the keepalived configuration
2015-03-16 11:39:51 +01:00
wilderrodrigues a5d6f90f66 Implementing redundant router arguments to add redundant_state
Implementing the arguments on the python side
2015-03-16 11:39:51 +01:00
wilderrodrigues be81d2ffa4 Fixing guest network interfaces on redundant routers
- The interfaces were messed up because part of the code was still taking inot account a non-redundant path.
2015-03-16 11:39:49 +01:00
wilderrodrigues edd839ab10 Fix: allow multiple VIFs per Mac Address
Fix: RTNETLINK errors
     - Management Server health check trying to create already existing interface
     - Changes on update_config.py, cs_guestnetwork.py, merger.py
Fix: replace RRouTER_LOG in the CsRedundant.py per log file location
Fix: Guest Net address association during Router restart
     - Changes on NicProfileHelper, NicProfileHelperImpl
Fix: aggregationExecution() method on VirtualNetworkApplianceManagerImpl
     - Do not send an AggregationControlCommand to a non-configured router

Some classes have been formatted.
2015-03-16 11:39:48 +01:00
wilderrodrigues eee891be3e Fixing getRouters() to make it call the super method.
- after calling super, if we have routers available, do not call the subclass method.
2015-03-16 11:39:18 +01:00
wilderrodrigues 460204fa9f Fixing CsDhcp.py
Fixing assign IPv4 on GuestNetworkGuru.java
Fixing getRouters() on VpcVirtualRouterElement.java
Fixing Fixing paths on keepalived.conf.templ

Refactor on the other files
2015-03-16 11:39:17 +01:00
wilderrodrigues 40eb579115 TK-3135 fixes for VPC restart
* removed the "is redundant" flag form the addVpcRouterToGuestNetwork() method
* removed the "is redundant" flag from the removeVpcRouterFromGuestNetwork() method
* changed the path of the master.py file in the keepalived.conf.temp file
* the call to routerDao.addRouterToGuestNetwork() in the VpcRouterDeploymentDefinition is not needed. That step will be performed once a VM is created
  - In addition, when restarting a VPC the routers will have the guest net configured, if any exists.

* Pushing the POM.xml as well, to use the old Jetty for now. Could not fix the logging problem. Will replace the POM with master version after VPC is done.
2015-03-16 11:39:17 +01:00
wilderrodrigues 66d8b1f13d Fixing Site2Site VPN and private gateway on VpcVirtualRouterElement
Fixing Finalize methods in the VpcVirtualNetworkApplianceManager

Making use ot eh RouterControlHelper instead of duplicating methods in the VirtualNetworkApplianceManager

[witp] - redundant vpc virtual routers have the same mac address, have to fix that.
2015-03-16 11:39:16 +01:00
wilderrodrigues 381c0e1c69 Fixing the priority in the setup guest network command
Fixing the deploy router in VPC method

formatting some classes
2015-03-16 11:39:16 +01:00
wilderrodrigues 84bf46dc2f Java: Fixing the redundant flag for the router control nic and the guest network command;
Python: fix the redundant setup in the CsRedundant class
2015-03-16 11:39:15 +01:00
wilderrodrigues cfbdbd421d Extracting local variable and formatting the code. 2015-03-16 11:39:15 +01:00
wilderrodrigues 64ab2bf8da Fix createSetupGuestNetworkCommand() method in order to pass the value of the getIsRedundantRouter() method instead of false. 2015-03-16 11:39:15 +01:00
wilderrodrigues 8f9f39fa39 [TK-3119] Fix NPEs and improve exception handling + error messages 2015-03-16 11:39:14 +01:00
wilderrodrigues 014b47f6e6 [TK-3113] fixed CloudRuntimeException: NO EVENT PUBLISH CAN BE WRAPPED WITHIN DB TRANSACTION! 2015-03-16 11:39:14 +01:00
wilderrodrigues a51690be4b Formatting the class: it was a mess!
[wip]- will fix the "com.cloud.utils.exception.CloudRuntimeException: NO EVENT PUBLISH CAN BE WRAPPED WITHIN DB TRANSACTION!" problem.
2015-03-16 11:39:13 +01:00
wilderrodrigues ce3c8c755a [TK-3101] Fix VPCVirtualRouterElement
There were more places were the amount of routers is checked.
    Not throwing exception when routers > 1

[wip] - we need to refactor VpcViortualRouterElement in order to cope with methods returning true only for the sake of it.
2015-03-16 11:38:18 +01:00
wilderrodrigues 553bf21b37 [TK-3101] Fix VPCVirtualRouterElement
Iterating through the routers list and adding them to the guest networks
Not throwing exception when routers > 1
2015-03-16 11:38:18 +01:00
Hugo Trippaers b07ff145b3 Call planDeploymentRouters in the same place as we do in master 2015-03-16 11:38:11 +01:00
Hugo Trippaers 87855d6bb7 Fix a problem where virtual routers were deployed multiple times in a network 2015-03-16 11:38:11 +01:00
Antonio Fornie 09bd847040 Vpc redundancy enabled. Including Vpc & Vpc Offering creation. Marvin tests and UI. 2015-03-16 11:38:05 +01:00
Sander Botman 1237ded02e Fix on error reporting (null doesn't say much, so lets return the actual problem) 2015-03-16 11:35:15 +01:00
Rajani Karuturi 843f6b1691 CLOUDSTACK-5236 : ability to identify where the user is from (ex. LDAP)
Added a source column to the user table.

Source now has only two values UNKNOWN,LDAP with UNKNOWN being the
default and is an enum is com.cloud.User.

When the source is UNKNOWN, the old method of authenticating against all
the available authenticators is used. If a source is available, only
that particular authenticator will be used.

added overloaded methods in AccountService to createUserAccount and
createUser with source specified.

(cherry picked from commit 5da733072e)
2015-03-16 14:53:53 +05:30
Rajani Karuturi 3de5d9db5f volume upload: Restart of MS leads to loss of browser uploaded templates
on restart of management server, template sync runs. It checks for
templates in ssvm using the uniquename. If it doesnt find any, cleans
the directory. In case of uploaded templates, these are getting saved
using name instead on uniquename and hence template sync cant find them
and does cleanup. Using uniquename in template.properties now.
2015-03-16 12:45:24 +05:30
Bharat Kumar 2783cf540b CLOUDSTACK-7348 InvalidParameter Exception while executing scale vm.
We do not throw the exceptions any more, so added info in the logs to say
what happend to this command.

Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
(cherry picked from commit 659edb4d9b)
2015-03-16 12:37:45 +05:30
Rajani Karuturi 5da733072e CLOUDSTACK-5236 : ability to identify where the user is from (ex. LDAP)
Added a source column to the user table.

Source now has only two values UNKNOWN,LDAP with UNKNOWN being the
default and is an enum is com.cloud.User.

When the source is UNKNOWN, the old method of authenticating against all
the available authenticators is used. If a source is available, only
that particular authenticator will be used.

added overloaded methods in AccountService to createUserAccount and
createUser with source specified.
2015-03-16 12:35:37 +05:30
Bharat Kumar 659edb4d9b CLOUDSTACK-7348 InvalidParameter Exception while executing scale vm.
We do not throw the exceptions any more, so added info in the logs to say
what happend to this command.

Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2015-03-16 12:34:43 +05:30
Nitin Mehta 765622658a Avoid distributing private key for realhostip.com
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit d94a5720ef)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 15:02:27 +05:30
Min Chen 6ccb9b1fc3 Error message exposes domain Id when deployVirtualMachine() is attempted on a shared network to which the user doesnot have access to.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 0d36f2e4b5)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 15:02:26 +05:30
Nitin Mehta d94a5720ef Avoid distributing private key for realhostip.com
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 13:33:48 +05:30
Min Chen 0d36f2e4b5 Error message exposes domain Id when deployVirtualMachine() is attempted on a shared network to which the user doesnot have access to.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 12:47:56 +05:30
Funs c27c69438b hypervisors: add OVM3 plugin that supports OVM 3.2.1/3.3.x
This is a plugin that puts in ovm3 support ranging from 3.3.1 to 3.3.2. Basic
functionality is in here, advanced networking etc..

Snapshots only work when a VM is stopped now due to the semantics of OVM's raw
image implementation (so snapshots should work on a storage level underneath the
hypervisor shrug)

This closes #113

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-12 11:33:42 +05:30
Koushik Das 47a22e0594 volume-upload: Unable to download template which has been uploaded via POST URL
During upload, POST url is saved in template_store_ref DB table. Now during download, same url is incorrectly returned back.
Fixed the code to cleanup POST url from DB on successful template upload.
2015-03-11 17:55:04 +05:30
Rohit Yadav 05d2b0a707 server: remove unused import in ImageStoreJoinDaoImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-11 17:28:32 +05:30
Rohit Yadav 2d00f9ede6 server: remove unused import in ImageStoreJoinDaoImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-11 17:26:50 +05:30
Sanjay Tripathi eca7f9cacc CLOUDSTACK-8315: CS API listVMSnapshot doesn't have tags ‘project’ and ‘projectid’.
(cherry picked from commit 182d770f9f)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-11 16:39:18 +05:30
Rohit Yadav 40f343ff4c api: avoid sending sensitive data in api response
- UI: use post when updating user
- S3: don't send s3 key in the response
- VPN: don't send preshared key in remoteaccessvpn api response
- Snapshot response should set zone id not volume's device id

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 02cadc3fb3)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-11 16:34:56 +05:30
Rohit Yadav 02cadc3fb3 api: avoid sending sensitive data in api response
- UI: use post when updating user
- S3: don't send s3 key in the response
- VPN: don't send preshared key in remoteaccessvpn api response
- Snapshot response should set zone id not volume's device id

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-11 16:34:11 +05:30
Koushik Das 1dae3a4a13 volume-upload: Volume resource count is incremented even for failed and abandoned volumes
Added logic to clean up abandoned and failed volume uploads. This is done as part of storage GC.
2015-03-11 16:24:03 +05:30
Sanjay Tripathi 182d770f9f CLOUDSTACK-8315: CS API listVMSnapshot doesn't have tags ‘project’ and ‘projectid’. 2015-03-11 14:38:57 +05:30
Sanjay Tripathi 5aedeb74f9 CLOUDSTACK-8312: The storage usage of "Primary Storage Allocated" is incorrect.
(cherry picked from commit 520d96724a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-11 13:07:47 +05:30
Sanjay Tripathi 520d96724a CLOUDSTACK-8312: The storage usage of "Primary Storage Allocated" is incorrect. 2015-03-10 16:52:25 +05:30
Rohit Yadav ec2639e8fb CLOUDSTACK-8248: loadCidrs before sending response
Fixes regression from CLOUDSTACK-6582

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit f9090eacd6)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-06 21:44:28 +05:30
Rohit Yadav 25b0bd620a server: last cherry-picked commit failed to remove code
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-06 21:44:24 +05:30
Rohit Yadav f9090eacd6 CLOUDSTACK-8248: loadCidrs before sending response
Fixes regression from CLOUDSTACK-6582

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-06 21:43:24 +05:30
Laszlo Hornyak c8e6fbb812 kvm: Check the return value of the cloudstack-setup-agent command
Bug-Url: https://issues.apache.org/jira/browse/CLOUDSTACK-8016
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>

This closes #93

(cherry picked from commit 7c1590ffd6)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-04 16:56:48 +05:30
Laszlo Hornyak 7c1590ffd6 kvm: Check the return value of the cloudstack-setup-agent command
Bug-Url: https://issues.apache.org/jira/browse/CLOUDSTACK-8016
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>

This closes #93
2015-03-04 12:42:14 +05:30
Rajani Karuturi b16520bcec volume upload: added max size check for temaplte/volume post upload
used the existing configuration variables max.template.iso.size and
storage.max.volume.upload.size for templates and volumes respectively.
2015-03-03 17:27:40 +05:30
Rohit Yadav ed099c3f96 server: check and set sercure cookie flag only after login
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 0f819f1583)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-28 18:23:05 +05:30
Rohit Yadav 0f819f1583 server: check and set sercure cookie flag only after login
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-28 18:20:56 +05:30
Rohit Yadav 20bcb4b673 CLOUDSTACK-7063, CLOUDSTACK-7064: Add security headers on HTTP response
- Adds X-XSS-Protection header
- Adds X-Content-Type-Options header
- Fixes to use json content type defined from global settings
- Uses secure cookie if enabled in global settings

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit b6b3494782)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-28 18:14:49 +05:30
Rohit Yadav b6b3494782 CLOUDSTACK-7063, CLOUDSTACK-7064: Add security headers on HTTP response
- Adds X-XSS-Protection header
- Adds X-Content-Type-Options header
- Fixes to use json content type defined from global settings
- Uses secure cookie if enabled in global settings

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-28 18:12:37 +05:30
Rohit Yadav 43cf1da865 CLOUDSTACK-5238: password checks, NPE fixes and minor fixes
- insecure authenticators excluded in configuration
- snapshot response should have zone
- remove vmsnapshots when removing accounts

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 5481485a08)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	api/src/org/apache/cloudstack/api/response/VMSnapshotResponse.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/storage/download/DownloadActiveState.java
2015-02-27 18:24:46 +05:30
Rohit Yadav 5481485a08 CLOUDSTACK-5238: password checks, NPE fixes and minor fixes
- insecure authenticators excluded in configuration
- snapshot response should have zone
- remove vmsnapshots when removing accounts

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-27 18:20:10 +05:30
Rajani Karuturi dd1a8da977 volume upload: Volume entry created in DB even though GetUpload* API fails with "No ssvm present" error
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2015-02-27 17:42:32 +05:30
Rohit Yadav a75ff23131 CLOUDSTACK-8273: fix baremetal account creation
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit e000646790)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
2015-02-27 15:55:09 +05:30
Rohit Yadav e000646790 CLOUDSTACK-8273: fix baremetal account creation
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-27 15:52:25 +05:30
Rohit Yadav d8e1bf1506 CLOUDSTACK-7089: don't log VNC password
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit e287de9fd9)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-26 18:11:12 +05:30
Rohit Yadav e287de9fd9 CLOUDSTACK-7089: don't log VNC password
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-26 18:10:23 +05:30
Rohit Yadav 4dde4106c0 server: Add missing import, fixes build
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-26 17:49:55 +05:30
Rohit Yadav 6df2fe7a8a CLOUDSTACK-8273: refactor baremetal user name to utils, restrict baremetal user
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit cb08707add)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	server/src/com/cloud/user/AccountManagerImpl.java
2015-02-26 17:47:01 +05:30
Rohit Yadav cb08707add CLOUDSTACK-8273: refactor baremetal user name to utils, restrict baremetal user
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-26 17:42:21 +05:30
Rohit Yadav e1827fc696 CLOUDSTACK-8285: check and update IP capacity states based on allocation state
- Backend should update if state was diabled and now has changed
- UI's fetch latest does not actually fetch latest

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 985a61652e)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-25 16:47:40 +05:30
Rohit Yadav 985a61652e CLOUDSTACK-8285: check and update IP capacity states based on allocation state
- Backend should update if state was diabled and now has changed
- UI's fetch latest does not actually fetch latest

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-25 16:46:12 +05:30
Rohit Yadav 4f9bc70b1f CLOUDSTACK-8282: startSystemVM should override consoleproxy.start setting
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit b462a56f27)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-25 14:30:13 +05:30
Rohit Yadav b462a56f27 CLOUDSTACK-8282: startSystemVM should override consoleproxy.start setting
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-25 14:21:11 +05:30
Koushik Das dc870b5114 volume upload: Size is listed as zero for uploaded volumes
Updating the virtual size for template/volume when upload is completed.
2015-02-19 17:13:47 +05:30
Koushik Das 075c841052 volume upload: cannot delete a volume in NotUploaded state Added exception handler in the upload status monitor thread. 2015-02-17 12:31:41 +05:30
Koushik Das d19ea5226a volume upload: Use volume/template UUID instead of ID in UploadStatusCommand 2015-02-17 12:31:40 +05:30
Rajani Karuturi b616894c21 volume upload: fixed issues during request validation
adding the encoded metadata to the signature
2015-02-17 11:50:58 +05:30
Rajani Karuturi 5c4fd12a9b volume upload: using the timeout from configuration
removed the hardcoded 60 min
2015-02-17 11:33:29 +05:30
Rajani Karuturi 812a140d17 volume upload: returning only the first payload incase of templates
Cross zone copy will be intiated by the management server.
2015-02-17 11:32:40 +05:30
Rajani Karuturi 3814677977 volume upload: getUploadParamsForVolume url has IP address instead of hostname, SSL fails 2015-02-17 11:31:44 +05:30
Rohit Yadav 2580edbcfb CLOUDSTACK-7908: UserVmResponse returns userid/username information of the creator
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-16 16:12:22 +05:30
Rohit Yadav 1a6df6f978 CLOUDSTACK-7908: Add user_id column to vm_instance table
Design Document:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Allow+VM+listing+by+User+ID

- Adds column to VMInstance DAO
- Adds column in vm_instance table
- Adds column in the UserVMJoinVO
- Adds default admin user which has UID = 2
- Adds migration path that sets user_id to first user of the accountId that
  owns the vm in vm_instance table
- Add arg on list VMs API to query by userId, add support in query layer
- Refactor VMInstanceVO and child classes to accept userId
- Add code to let service layer pass userId if loggedIn user belongs to same
  account as the owner executing an API call or use first user from owner account
- In case of CPVM and SSVM use system user ID
- Fix unit tests and spring injections

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-16 15:02:38 +05:30
Santhosh Edukulla 78bfaa79cf Fixed few coverity issues like invalid boxing unboxing issues, resource leaks, null dereferences
(cherry picked from commit ef6ec7b276)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-06 16:50:20 +05:30
Sheng Yang 405ed3ca50 CLOUDSTACK-7605: Fix basic zone multiple pod network restart with cleanup=true
1. getRouters() doesn't handle RestartNetwork with cleanup=true for basic zone,
because pod wouldn't be specific at the time.

2. The regression caused by the following fix. The variable "routers" was
overrided with some local values, result in only one of the routers in multiple
pods would return, thus only one router would be started.

commit 6dd5c3fd42
Author: Rohit Yadav <bhaisaab@apache.org>
Date: Thu Oct 11 18:30:00 2012 +0530
CLOUDSTACK-70: Improve restart network behaviour for basic network

(cherry picked from commit aaeadc5c44)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-06 16:44:19 +05:30
Kishan Kavala 40e296dea4 CLOUDSTACK-7267: For LXC volumes, show unsupported operation error for template creation from ROOT volume
(cherry picked from commit e427d0004c)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-06 16:32:35 +05:30
Nitin Mehta 4ea0dcda9b CLOUDSTACK-7870: When Vm deployments fail and end in error state volume count should be decremented
(cherry picked from commit a8b89bea4f)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-06 16:24:06 +05:30
Saksham Srivastava 54d08a8e29 CLOUDSTACK-8091: Stale entry exists for a VM NIC even after an exception while adding a new nic to vm
(cherry picked from commit 4821bfffe2)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-06 16:19:46 +05:30
Rohit Yadav 1cf165f86d ApiResponseHelper: fix NPE when parent of snapshot is null 2015-02-05 17:10:56 +05:30
Rohit Yadav fae4fdae53 ApiResponseHelper: fix NPE when parent of snapshot is null
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-05 17:02:30 +05:30
Kishan Kavala 7a397cd4ef For volumes created from template, do not log offering ID in VOLUME.CREATE in usage_event. Moved offering type to DiskOffering interface
(cherry picked from commit 9eb8d538dd)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-05 16:37:59 +05:30
Santhosh Edukulla c25263ba81 Fixed Coverity Issues 2015-02-05 15:59:29 +05:30
Damodar 01cc1b816d CLOUDSTACK-7792: Usage Events to be captured based on Volume State Machine
(cherry picked from commit 781648fb10)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
	engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java
2015-02-05 15:22:21 +05:30
Damodar 8ec6d0471c CLOUDSTACK-7648: There are new VM State Machine changes introduced which were missed to capture the usage events
(cherry picked from commit 50185b7c3a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManagerImpl.java
	server/src/com/cloud/capacity/CapacityManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2015-02-05 14:56:52 +05:30
Kishan Kavala 6541354a59 Trigger user stats aggregation job at midnight in usage aggregation timezone
(cherry picked from commit 4ac96d637c)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2015-02-05 14:33:27 +05:30
Rajesh Battala 782adc106e CLOUDSTACK-7313 Fixed issues in provisioning vpx in SDX from CS
(cherry picked from commit 0f528df228)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-05 13:50:29 +05:30
Santhosh Edukulla bd190192b9 Fixed Resource Leaks
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
(cherry picked from commit 350ac4c4b0)

Conflicts:
	engine/schema/src/com/cloud/upgrade/dao/Upgrade441to450.java
2015-02-05 13:47:22 +05:30
Anthony Xu 98b416b7f0 fixed NPE
(cherry picked from commit c78f14cbc2)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-05 12:10:09 +05:30
Daan Hoogland b586439c9f CLOUDSTACK-8197 create MinVRVersion config item 2015-02-03 13:18:15 +01:00
Rohit Yadav 552f2ae60c CLOUDSTACK-8191: SAML users should have their own accounts
(cherry picked from commit 876c78fe1b)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-02 19:58:10 +05:30
Rohit Yadav 876c78fe1b CLOUDSTACK-8191: SAML users should have their own accounts
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-02 19:56:25 +05:30
Devdeep Singh 0e4d91aa91 CLOUDSTACK-6924. To attach a volume if a volume needs to be moved to another storage
pool, the source and destination pools cannot be local and cluster/zone and vice versa.
Cloudstack detects it and throws a exception. However, the end user only sees an
unexpected exception and not the reason for failure. Fixed it by making sure the
reason for the failure is correctly captured and shown to the end user.

(cherry picked from commit cffae8eef0)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	server/src/com/cloud/storage/VolumeApiServiceImpl.java
2015-02-02 14:36:07 +05:30
Likitha Shetty f00140243c CLOUDSTACK-8112. CS allows creation of VM's with the same Display name when vm.instancename.flag is set to true.
During VM creation, if vm.instancename.flag is set to true and hypervisor type is VMware, check if VM with the same hostname already exists in the zone.

(cherry picked from commit 5f9e4fddf3)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-02 14:30:18 +05:30
Likitha Shetty 272f282a05 CLOUDSTACK-8119. Propagate error message to UI for attach/detach volume failure operations.
For AttachVolume/DetachVolume API command, improve user error message in case of RuntimeException by throwing the exception instead of 'Unexpected Exception'.

(cherry picked from commit 4d7ede535d)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	server/src/com/cloud/storage/VolumeApiServiceImpl.java
2015-02-02 13:57:38 +05:30
Likitha Shetty b9932a0129 CLOUDSTACK-8122. Handle NPE thrown during migration failures.
When migration fails instead of returning NULL, throw the exception.

(cherry picked from commit a5a65c7b55)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-02 13:56:43 +05:30
Likitha Shetty bcbfe3bdee CLOUDSTACK-8129. Cold migration of VM across VMware DCs leaves the VM behind in the source host.
If VM has been cold migrated across different VMware DCs, then unregister the VM from source host.

(cherry picked from commit 15b348632d)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-02 13:51:47 +05:30
Likitha Shetty 8f4aa23ae0 CLOUDSTACK-8127. VM name not displayed after attaching data disk to a VM.
If user hasn't supplied a display name for a VM, default it to VM name in listVolume response.
This behaviour is identical to listVirtualMachine response.

(cherry picked from commit ff7997a2b1)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-02 13:01:33 +05:30
Koushik Das 121ff19cba volume-upload: Attaching uploaded volume to an instance failing while copying from secondary to primary storage
The volume/template size and install path was not getting updated properly.
The upload status response should return these properties on completion of upload.
2015-01-31 17:27:46 +05:30
Koushik Das 6ff8752fd0 volume-upload: gc thread to clean partially uploaded files
Fixed multiple issues in the template code path
2015-01-31 17:25:19 +05:30
Koushik Das c9908d2678 volume-upload: management server polling and upload status from agent
Some more fixes to the polling logic
2015-01-31 17:10:46 +05:30
Koushik Das 3e857bde08 volume-upload: management server polling and upload status from agent
Fixed some issues with the polling logic to handle scenarios when SSVM is destroyed/down.
Also changed the status of the volume_store_ref entries so that subsequent operations work fine.
2015-01-31 17:02:18 +05:30
Mike Tutkowski 5f16bf746b When canceling maintenance mode, the logic was looking at the id field of the work object instead of the id field of the VM object. 2015-01-29 23:11:29 -07:00
Mike Tutkowski 31f67c2b3c If the HypervisorType of a storage pool is Any, we need to retrieve hosts in the given zone for each HypervisorType. 2015-01-29 19:18:04 -07:00
Mike Tutkowski bd6a89939d Adding/updating comments around the volume's hypervisor snapshot reserve field 2015-01-29 15:50:42 -07:00
Mike Tutkowski 1b51bbbf74 Update hypervisor snapshot reserve for the root volume earlier than when it is currently being set 2015-01-29 13:01:51 -07:00
Rajani Karuturi 89ef9e709b volume upload: updating the PSK if its null 2015-01-29 16:55:26 +05:30
Mike Tutkowski 8aa34d048a Putting in an extra check to see if this volume is already attached to a VM 2015-01-26 17:25:17 -07:00
Nitin Mehta abf4e5c646 CLOUDSTACK-8181: Introducing a new allocator called firstfitleastconsumed. The purpose of this allocator is to find hosts/pools with least capacity usage (in terms of percentage) within the cluster and use those resources first before others. This allocator can be used changing vm.allocation.algorithm. For hosts it would decide the least consumed host through the setting host.capacityType.to.order.clusters to base the usage on cpu or ram.
Reviewed-by: Prachi
2015-01-26 10:48:06 -08:00
Daan Hoogland e474454c91 CLOUDSTACK-6485 prevent ipaddress asignment of gateway to gateway-interface on vpc router by setting vpcid to null in network 2015-01-26 16:57:46 +01:00
Daan Hoogland 29aeed71fc CLOUDSTACK-6485 prevent ipaddress asignment of gateway to gateway-interface on vpc router by setting vpcid to null in network 2015-01-26 16:54:53 +01:00
Mike Tutkowski e5ffcab09d Moving the call to getDeviceId(long, long) avoids a race condition when two volumes are being attached to a VM at the same time 2015-01-24 00:36:07 -07:00
Rohit Yadav f9a8111e17 CLOUDSTACK-8151: Add removeRawUsageRecords API to cleanup old cloud_usage data
Call removeRawUsageRecords with interval (> 0) and it will clean up cloud_usage
table by removing records older than interval no. of days from today (current date)
and in case it runs when the job exec time is near, it will fail alerting
user to try again after a 15 min window.

There is an issue with async job scheduler, if this API were async it tries
to search and remove job from cloud_usage.async_job table and fails which is
why this API is sync and extends BaseCmd.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-23 19:38:32 +05:30
Mike Tutkowski 0f84e042b9 Adding support for creating a volume from a snapshot when the snapshot is on managed storage 2015-01-20 15:24:33 -07:00
Harikrishna Patnala 9cf05dc842 CLOUDSTACK-7534: ResetVM for VM with attached datadisk fails when enable.ha.storage.migration is false
Separate global config to enable/disable Storage Migration during normal deployment
Introduced a configuration parameter named enable.storage.migration

(cherry picked from commit c55bc0b2d1)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 14:43:10 +05:30
Saksham Srivastava 45108fdbad CLOUDSTACK-7582: Update Storage Pool API does not update tags correctly
(cherry picked from commit fc4dceaa99)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 14:38:03 +05:30
Nitin Mehta 31a6517402 CLOUDSTACK-7754: Templates source_template_id is null when it is created from Snapshot with its corresponding volume removed. Fix it by searching for volumes including removed. Also bring the logic of setting source template id to create() method than execute which was wrongly put in.
(cherry picked from commit e1a993d37b)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 12:07:42 +05:30
Nitin Mehta a6f9411b1e CLOUDSTACK-7771: Throw exception while restoring vm if the template is already deleted. Also fix the usage event being generated from the right template id and fix the log message which sometime showed incorrect template id.
CLOUDSTACK-4201: listServiceOfferings API needs to be able to take virtualmachineid of SystemVM and return service offerings available for the vm to change service offering

(cherry picked from commit ee0f0a1cff)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 12:05:25 +05:30
Nitin Mehta be0882b19e CLOUDSTACK-7909: Change the capacity_state in op_host_Capacity table only on explicit enabling/disabling of the host and remove the logic for changing it when cluster/pod/zone is enabled/disabled. Also add the logic in capacity checker thread so that previous changes finally get consistent with this new model and also its good to have it for sanity reasons.
(cherry picked from commit ade305be20)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	server/src/com/cloud/capacity/CapacityManagerImpl.java
2015-01-20 11:58:04 +05:30
Nitin Mehta 665aa6b522 CLOUDSTACK-7916: Generate Alerts if System VMs cannot be started.
(cherry picked from commit e87bb20d0c)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 11:55:47 +05:30
Nitin Mehta a12ab8a2b3 CLOUDSTACK-7916: Generate Alerts if System VMs cannot be started.
(cherry picked from commit 3907bc6f9d)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 11:55:36 +05:30
Nitin Mehta 1aeaf4dcc9 CLOUDSTACK-7920: NPE in the payload was causing the ssvm agent to not connect, fix it and also make sure that template/volume sync are robust that exceptions do not cause ssvm agent disconnect issues.
(cherry picked from commit 5213401ace)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java
2015-01-20 11:39:34 +05:30
Saksham Srivastava 6715c6ccfa CLOUDSTACK-7941: CloudStack should log IP address of actual client even if a ReverseProxy is there
(cherry picked from commit f0a4a639de)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 11:32:09 +05:30
Saksham Srivastava 6e5b9da7d4 CLOUDSTACK-7962: Change state to Volume State
(cherry picked from commit c615aafd77)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 11:30:05 +05:30
Saksham Srivastava f88a34dabe CLOUDSTACK-7962: VM Snaptshot should add check for root volume status also
(cherry picked from commit 690a5ded35)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 11:29:59 +05:30
Sanjay Tripathi b77cbea0f3 CLOUDSTACK-7964: listAccounts API is not listing correct value of resource limits.
(cherry picked from commit d475b62838)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 11:29:34 +05:30
amoghvk 57f5d51a11 CLOUDSTACK-7976 : Param validation for global params involving domain name
(cherry picked from commit 95ea203907)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
2015-01-20 10:36:11 +05:30
amoghvk 3cb4358270 CLOUDSTACK-7977
Fix password generator, add guards for minimum length

(cherry picked from commit 960b7bbf74)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 10:31:05 +05:30
Koushik Das 37cdb4ecca CLOUDSTACK-8054: No event generated on host maintenance mode is completed
Added events for host maintenance start and completion

(cherry picked from commit f6854bc984)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-20 10:23:37 +05:30
Rajani Karuturi 15ae33a5b6 volume upload: refactored post upload command and used it during template registration 2015-01-20 09:24:14 +05:30
Rajani Karuturi ad6b7b30cb Volume upload: sending the nfsstore url in the metadata
decoding the metadata and deserialising it on receiving it
2015-01-19 18:04:14 +05:30
Abhinandan Prateek d8def3dc0b CLOUDSTACK-8164: Look for all host to avoid NPE
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit a1a601be5a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-19 11:30:49 +05:30
Abhinandan Prateek a1a601be5a CLOUDSTACK-8164: Look for all host to avoid NPE
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-19 11:29:51 +05:30
Koushik Das 7900ae5d9f volume-upload: initializing state for volume and also setting the post url in volume_store_ref 2015-01-19 11:03:42 +05:30
Kishan Kavala 1e87f3b80b Bug-Id: CLOUDSTACK-3439: Include dynamically created nics in Prepare for migration command in KVM
(cherry picked from commit f767adfe71)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-18 18:19:24 +05:30
Rajesh Battala 5f117e6be9 CLOUDSTACK-6920 Support listing of LBHealthcheck policy with LBHealthcheck policy ID
(cherry picked from commit c7b23d0a10)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-18 17:31:15 +05:30
Saksham Srivastava a1791cb4a8 CLOUDSTACK-8088: VM scale up is failing in vmware with Unable to execute ScaleVmCommand due to java.lang.NullPointerException
(cherry picked from commit 1df0453d27)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-18 17:28:17 +05:30
Sanjay Tripathi 8676ff26e0 CLOUDSTACK-8066: There is not way to know the size of the snapshot created.
(cherry picked from commit 9153b8bede)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-18 17:25:41 +05:30
Koushik Das 053c160b0f volume upload: management server polling and upload status from agent
MS polling logic to query status for templates that are uploaded
2015-01-16 18:03:36 +05:30
Koushik Das 1f1c96d2ee volume upload: management server polling and upload status from agent
- Added config parameters for upload monitoring interval and operation timeout
- Some updates to the volume state machine
2015-01-16 15:28:17 +05:30
Rajani Karuturi 0eee9e8138 volume upload: removed the transition from IN-PROGRESS to ABONDONED
incase of timeout it moved to error state. ABONDONED state is only when
the user hasnt initiated the post request in the specified time
2015-01-16 12:50:42 +05:30
cloudtrends 5028874e1c under windows the publicKeyPath and privateKeyPath should replace from \ to / when send them into injectkeys.py , and use isOnWindows function . thanks karuturi kindly tips.
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>

This closes #66
2015-01-16 11:33:00 +05:30
cloudtrends 4c30636c22 under windows the publicKeyPath and privateKeyPath should replace from \ to / when send them into injectkeys.py
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>

This closes #66
2015-01-16 11:33:00 +05:30
Rohit Yadav 71a0148565 CLOUDSTACK-7219: Fix NPE, log warning when config item is missing from scope
- Cherry picked from Daan's fix 63fbd16dd1
- Added another check if configDepot returned null
- Removed developer prefill values

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 188924751e)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-15 19:19:46 +05:30
Rohit Yadav 188924751e CLOUDSTACK-7219: Fix NPE, log warning when config item is missing from scope
- Cherry picked from Daan's fix 63fbd16dd1
- Added another check if configDepot returned null
- Removed developer prefill values

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-15 19:13:40 +05:30
Pierre-Yves Ritschard 5ea7414746 move ConstantTimeComparator to utils
(cherry picked from commit b2393c31ed)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-14 20:25:32 +05:30
Pierre-Yves Ritschard 162c5af6f8 Use constant-time comparison functions when checking signatures
This limits the likeliness of timing attacks against the API.
See http://codahale.com/a-lesson-in-timing-attacks/ for the
full rationale.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/user/AccountManagerImpl.java

(cherry picked from commit 9b4e39e837)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-14 20:25:21 +05:30
Pierre-Yves Ritschard b2393c31ed move ConstantTimeComparator to utils 2015-01-14 12:14:00 +01:00
Pierre-Yves Ritschard 9b4e39e837 Use constant-time comparison functions when checking signatures
This limits the likeliness of timing attacks against the API.
See http://codahale.com/a-lesson-in-timing-attacks/ for the
full rationale.

Conflicts:
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/user/AccountManagerImpl.java
2015-01-14 11:32:29 +01:00
Koushik Das 627f5a62dc volume upload: management server polling and upload status from agent
MS polling logic to query status for volumes that are uploaded
2015-01-14 10:19:12 +05:30
Rohit Yadav 185f7e0152 CLOUDSTACK-8155: Remove unwanted whitespaces from json response
This removes extra whitespaces from the JSON serialized response.
After the fix, tested to work with:
- Present UI
- CloudMonkey
- Old buggy json parsers

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 921ad057de)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-14 02:43:54 +05:30
Rohit Yadav 921ad057de CLOUDSTACK-8155: Remove unwanted whitespaces from json response
This removes extra whitespaces from the JSON serialized response.
After the fix, tested to work with:
- Present UI
- CloudMonkey
- Old buggy json parsers

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-14 02:40:00 +05:30
Rajani Karuturi c2cf2503c1 volume upload: persisting the PSK only when its not present 2015-01-13 11:37:22 +05:30
Rajani Karuturi 1ae34d98d4 volume upload: fixed circular reference error while generating json 2015-01-13 10:41:39 +05:30
Kishan Kavala f767adfe71 Bug-Id: CLOUDSTACK-3439: Include dynamically created nics in Prepare for migration command in KVM 2015-01-07 14:52:42 +05:30
Kishan Kavala a520309190 Bug-Id: CLOUDSTACK-7395: reverted 0560254c04 partially. Allow multiple networks with LB service 2015-01-07 14:33:31 +05:30
Kishan Kavala 01a325b2bf Network Id for direct-network should not be included in usage record response. Direct network stats have network_id = 0. Ignore network with id = 0 in usage record 2015-01-07 14:17:30 +05:30
Kishan Kavala 9eb8d538dd For volumes created from template, do not log offering ID in VOLUME.CREATE in usage_event. Moved offering type to DiskOffering interface 2015-01-07 12:31:41 +05:30
Kishan Kavala 4ac96d637c Trigger user stats aggregation job at midnight in usage aggregation timezone 2015-01-07 11:17:24 +05:30
Daan Hoogland 3cba1c41fb CID-1114614 dead code removed 2015-01-06 16:47:32 +01:00
Daan Hoogland e8a54f471c CID-1114606 use of MAX_VALUE and longValue() on Integer 2015-01-06 16:24:29 +01:00
Wei Zhou 1e8476d38a CLOUDSTACK-8140: CS fails to start after secstorage/consoleproxy.service.offering is set to uuid
(cherry picked from commit 84c44b6314)
2015-01-06 10:26:04 +01:00
Wei Zhou 84c44b6314 CLOUDSTACK-8140: CS fails to start after secstorage/consoleproxy.service.offering is set to uuid 2015-01-06 10:23:44 +01:00
Wei Zhou 93429443d5 CLOUDSTACK-8063: list secondary Ips information on non-default nics in VM response 2015-01-05 11:22:14 +01:00
Rajesh Battala c7b23d0a10 CLOUDSTACK-6920 Support listing of LBHealthcheck policy with LBHealthcheck policy ID 2014-12-26 21:01:03 +05:30
Likitha Shetty 15b348632d CLOUDSTACK-8129. Cold migration of VM across VMware DCs leaves the VM behind in the source host.
If VM has been cold migrated across different VMware DCs, then unregister the VM from source host.
2014-12-26 11:07:30 +05:30
Likitha Shetty ff7997a2b1 CLOUDSTACK-8127. VM name not displayed after attaching data disk to a VM.
If user hasn't supplied a display name for a VM, default it to VM name in listVolume response.
This behaviour is identical to listVirtualMachine response.
2014-12-24 15:21:34 +05:30
Likitha Shetty a5a65c7b55 CLOUDSTACK-8122. Handle NPE thrown during migration failures.
When migration fails instead of returning NULL, throw the exception.
2014-12-24 13:33:11 +05:30
Likitha Shetty 4d7ede535d CLOUDSTACK-8119. Propagate error message to UI for attach/detach volume failure operations.
For AttachVolume/DetachVolume API command, improve user error message in case of RuntimeException by throwing the exception instead of 'Unexpected Exception'.
2014-12-24 11:29:03 +05:30
Likitha Shetty 5f9e4fddf3 CLOUDSTACK-8112. CS allows creation of VM's with the same Display name when vm.instancename.flag is set to true.
During VM creation, if vm.instancename.flag is set to true and hypervisor type is VMware, check if VM with the same hostname already exists in the zone.
2014-12-23 14:00:32 +05:30
Koushik Das 106ec718fc Revert "CLOUDSTACK-7872: network getting shutdown inspite of running VM's in the network"
This reverts commit 709bf074de.

Network GC is broken with out-of-band VM movements due to the original commit, so reverting.
2014-12-23 12:13:51 +05:30
Koushik Das e0c495d357 Revert "CLOUDSTACK-7872: network getting shutdown inspite of running VM's in the network"
This reverts commit 0bd34d389f.

Network GC is broken with out-of-band VM movements due to the original commit, so reverting.
2014-12-23 11:56:40 +05:30
Koushik Das 788fe5a273 CLOUDSTACK-8103: Vmsync marks VM as stopped even after failing to stop it in HV
During vmsync if StopCommand (issued as part of PowerOff/PowerMissing report) fails to stop VM (since VM is running on HV),
don't transition VM state to "Stopped" in CS db. Also added a check to throw ConcurrentOperationException if vm state is not
"Running" after start operation.
2014-12-22 12:31:34 +05:30
Koushik Das 331e257ca0 CLOUDSTACK-8103: Vmsync marks VM as stopped even after failing to stop it in HV
During vmsync if StopCommand (issued as part of PowerOff/PowerMissing report) fails to stop VM (since VM is running on HV),
don't transition VM state to "Stopped" in CS db. Also added a check to throw ConcurrentOperationException if vm state is not
"Running" after start operation.
2014-12-22 10:52:13 +05:30
Min Chen c5d3a73c67 CLOUDSTACK-8101: volume sync not working as expected - MS restart during
upload volume leaves volume in hung state.
2014-12-19 16:43:02 -08:00
Min Chen ea634550fc CLOUDSTACK-8101: volume sync not working as expected - MS restart during upload volume leaves volume in hung state. 2014-12-19 15:51:52 -08:00
Rajani Karuturi 3e594c4e4f volume upload: removed unused variables 2014-12-19 12:44:56 +05:30
Min Chen 3506789b0b CLOUDSTACK-8093:Not able to list shared templates by passing id. 2014-12-18 10:27:20 -08:00
Min Chen d304409c98 CLOUDSTACK-8093:Not able to list shared templates by passing id. 2014-12-18 10:00:18 -08:00
Rajani Karuturi 9bb6cf8452 volume upload: persisting the volume metadata
on calling GetUploadParamsForVolume, persisting the metadata to db
    validating the account limits and incrementing the appropriate limits
    encoded the metadata on management server using preshared key
2014-12-18 17:50:51 +05:30
Saksham Srivastava 4821bfffe2 CLOUDSTACK-8091: Stale entry exists for a VM NIC even after an exception while adding a new nic to vm 2014-12-18 17:45:34 +05:30
Saksham Srivastava 1df0453d27 CLOUDSTACK-8088: VM scale up is failing in vmware with Unable to execute ScaleVmCommand due to java.lang.NullPointerException 2014-12-18 14:27:55 +05:30
Edison Su 1eb20ee095 if concurrent snapshot happening on the same vm, throw invalid parameter
exception to user.
Reviewed-by: Frank
2014-12-17 14:35:42 -08:00
Edison Su b036c32bfc if concurrent snapshot happening on the same vm, throw invalid parameter
exception to user.
Reviewed-by: Frank
2014-12-17 14:35:15 -08:00
Edison Su 8f2bd45660 if local storage is in maitenance mode or removed, won't change its
status in case of mgt server restart
Reviewed-by:Frank
2014-12-17 14:34:48 -08:00
Edison Su b40d9c23fc if local storage is in maitenance mode or removed, won't change its
status in case of mgt server restart
Reviewed-by:Frank
2014-12-17 14:34:23 -08:00
Edison Su 50d5d488d4 add event for volume migration
Reviewed-by: Frank
2014-12-17 14:33:54 -08:00
Edison Su 5a10a4725d add event for volume migration
Reviewed-by: Frank
2014-12-17 14:33:06 -08:00
Prachi Damle 01ae7120ac CLOUDSTACK-8078: [Automation] Deletion of Affinity Groups - CloudRuntimeException: No Event Pubish can be wrapped within DB Transaction!
Changes:
-     The event of deleteing an affinity group is published on the MessageBus so that IAM Service can listen and process the event, However the publish operation should not be handled within a DB transaction, since it may take longer and hold the DB transaction for long unnecessarily
-    Publish any events to MessageBus outside of the transaction

Conflicts:
	server/src/org/apache/cloudstack/affinity/AffinityGroupServiceImpl.java
2014-12-17 13:53:11 -08:00
Prachi Damle a7861aa5fa CLOUDSTACK-8079: If the cluster capacity threshold is reached, HA-enabled VM is not migrated on another host during HA
Changes:
-  When there is HA we try to redeploy the affected vm using regular planners and if that fails we retry using the special planner for HA (which skips checking disable threshold)
Now because of job framework the InsufficientCapacittyException gets masked and the special planners are not called. Job framework needs to be fixed to rethrow the correct exception.
- Also the VM Work Job framework is  not setting the DeploymentPlanner to the VmWorkJob.  So the HA Planner being passed by HAMgr was not getting used.
- Now the job framework sets the planner passed in by any caller of the VM Start operation, to the job
2014-12-17 13:48:24 -08:00
Prachi Damle f5d4736c87 CLOUDSTACK-8079: If the cluster capacity threshold is reached, HA-enabled VM is not migrated on another host during HA
Changes:
-  When there is HA we try to redeploy the affected vm using regular planners and if that fails we retry using the special planner for HA (which skips checking disable threshold)
Now because of job framework the InsufficientCapacittyException gets masked and the special planners are not called. Job framework needs to be fixed to rethrow the correct exception.
- Also the VM Work Job framework is  not setting the DeploymentPlanner to the VmWorkJob.  So the HA Planner being passed by HAMgr was not getting used.
- Now the job framework sets the planner passed in by any caller of the VM Start operation, to the job
2014-12-17 11:43:07 -08:00
Prachi Damle 74720830cd CLOUDSTACK-8078: [Automation] Deletion of Affinity Groups - CloudRuntimeException: No Event Pubish can be wrapped within DB Transaction!
Changes:
-     The event of deleteing an affinity group is published on the MessageBus so that IAM Service can listen and process the event, However the publish operation should not be handled within a DB transaction, since it may take longer and hold the DB transaction for long unnecessarily
-    Publish any events to MessageBus outside of the transaction
2014-12-17 11:43:05 -08:00
Sanjay Tripathi 9153b8bede CLOUDSTACK-8066: There is not way to know the size of the snapshot created. 2014-12-17 16:00:19 +05:30
Min Chen 9fb654cbad CLOUDSTACK-8077: Not able to deploy VM using a shared template. 2014-12-16 16:40:37 -08:00
Min Chen cf1eed4811 CLOUDSTACK-8077: Not able to deploy VM using a shared template. 2014-12-16 16:39:56 -08:00
Rajani Karuturi 36c0c38ab8 volume upload: added the url validation check when url is not null 2014-12-16 15:41:27 +05:30
Wei Zhou ff2ed33645 Fixed few coverity issues 2014-12-16 09:21:28 +01:00
Rajani Karuturi f70a2a1486 volume upload: renamed command classes to follow the naming convention 2014-12-16 12:48:37 +05:30
Rajani Karuturi 7e030ee72d volume upload: persisting the template metadata
on calling GetUploadParamsForTemplate, persisting the metadata to db
validating the account limits and incrementing the appropriate limits
encoded the metadata on management server using preshared key
2014-12-16 11:52:09 +05:30
Jayapal aca0f79592 CLOUDSTACK-8072: Fixed NPE in deleting default ACL items in default ACL 2014-12-15 16:44:08 +05:30
Jayapal 85bb685662 CLOUDSTACK-8072: Fixed NPE in deleting default ACL items in default ACL 2014-12-15 16:37:35 +05:30
Sebastien Goasguen cdc66c9e70 Small typo correction, exisits -> exists
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>

This closes #57
2014-12-15 11:26:19 +05:30
Anshul Gangwar b07c9b7a9c CLOUDSTACK-8067: Fixed NPEs in MS log related to console proxy VM
(cherry picked from commit 1115bc9cc6)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-12 21:41:38 +05:30
Rohit Yadav aa92f5d483 Merge remote-tracking branch 'anshulg/CLOUDSTACK-8067'
This closes #56

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-12 21:40:21 +05:30
Wei Zhou 19e99848c8 CLOUDSTACK-7882: SSH Keypair Creation/Selection in UI
Thanks Ilia Shakitko for the porting and testing.
2014-12-12 14:30:34 +01:00
Wei Zhou 76dc20a0ee CLOUDSTACK-255: fix NPE in createPortForwardingRule due to no PortForwarding provider
(cherry picked from commit c9d492d714)
2014-12-12 11:15:08 +01:00
Wei Zhou c9d492d714 CLOUDSTACK-255: fix NPE in createPortForwardingRule due to no PortForwarding provider 2014-12-12 11:13:18 +01:00
Wei Zhou fec31d53c3 CLOUDSTACK-8064: UpdatePortForwardingRuleCmd implementation 2014-12-12 10:19:06 +01:00
Wei Zhou dcb7fcc6df CLOUDSTACK-8063: list secondary Ips information in VM response 2014-12-12 09:47:27 +01:00
Anshul Gangwar 1115bc9cc6 CLOUDSTACK-8067: Fixed NPEs in MS log related to console proxy VM 2014-12-12 11:24:28 +05:30
Min Chen fbe54974c5 CLOUDSTACK-8061: Extracting volume when it is in migrating state causes
both the operations to fail.
2014-12-11 11:36:34 -08:00
Min Chen 528bc80b4c CLOUDSTACK-8061: Extracting volume when it is in migrating state causes
both the operations to fail.
2014-12-11 09:53:33 -08:00
Wei Zhou f5619f428b CLOUDSTACK-8051: fix NPE in updateNetwork due to static nat rules exist but no StaticNat provider 2014-12-11 15:13:36 +01:00
Rohit Yadav fdb782ffcb CLOUDSTACK-8014: Fix NPE searching including removed templates
Steps to reproduce if you have this issue:
- Create a VM's volume snapshot
- Remove VM's template and mark the template as removed with timestamp in DB
- Restart mgmt server and create a volume out of snapshot you should get NPE

Fix: In `storagePoolHasEnoughSpace`, we're only searching for a VM's volume's
snapshot's template by Id and not including removed templates. This is a corner
case and NPE hits when template has been marked removed for a VM's volume's
template so we should search including removed templates.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit f189c105d8)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-10 19:31:27 +05:30
Rohit Yadav e59dac201d CLOUDSTACK-8014: Fix NPE searching including removed templates
Steps to reproduce if you have this issue:
- Create a VM's volume snapshot
- Remove VM's template and mark the template as removed with timestamp in DB
- Restart mgmt server and create a volume out of snapshot you should get NPE

Fix: In `storagePoolHasEnoughSpace`, we're only searching for a VM's volume's
snapshot's template by Id and not including removed templates. This is a corner
case and NPE hits when template has been marked removed for a VM's volume's
template so we should search including removed templates.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit f189c105d8)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-10 19:30:56 +05:30
Koushik Das f6854bc984 CLOUDSTACK-8054: No event generated on host maintenance mode is completed
Added events for host maintenance start and completion
2014-12-10 10:18:34 +05:30
Jayapal 8278d88f76 CLOUDSTACK-8030: Updated router to come up egress default ALLOW
On default iptables rules are updated to add ACCEPT egress traffic.
    If the network egress default policy is false, CS remove ACCEPT and adds the DROP rule which
    is egress default rule when there are no other egress rules.

    If the CS network egress default policy is true, CS won't configure any default rule for egress because
    router already came up to accept egress traffic. If there are already egress rules for network then the
    egress rules get applied on VR.

    For isolated network with out firewall service, VR default allows egress traffic (guestnetwork --> public network)
2014-12-10 10:13:41 +05:30
Koushik Das 016d009adf CLOUDSTACK-7994: Network rules are not configured in VR after out-of-band movement due to host crash
The last commit 513adab51b didn't fully fix it. Scenario #1 was not handled, only #2 was handled.
Fixed #1 as part of this commit.
1. If VM is in stopped state in CS due to 'PowerMissing' report from old host (hostId is null) and then there is a 'PowerOn' report from new host
2. If VM is in running state in CS and there is a 'PowerOn' report from new host
2014-12-09 11:46:45 +05:30
Koushik Das ef9830d6a4 Merge branch '4.5'
Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	tools/appliance/build.sh
2014-12-09 14:59:36 +05:30
Wei Zhou 13205e6be1 CLOUDSTACK-8050: VM Guest OS type does not update if template guestostype changes 2014-12-09 08:21:35 +01:00
Daan Hoogland 05b2ec4f55 Merge branch 'hotfix/CID-1256277' 2014-12-08 12:40:08 +01:00
Jayapal 8f8e311110 CLOUDSTACK-8030: Updated router to come up egress default ALLOW
On default iptables rules are updated to add ACCEPT egress traffic.
    If the network egress default policy is false, CS remove ACCEPT and adds the DROP rule which
    is egress default rule when there are no other egress rules.

    If the CS network egress default policy is true, CS won't configure any default rule for egress because
    router already came up to accept egress traffic. If there are already egress rules for network then the
    egress rules get applied on VR.

    For isolated network with out firewall service, VR default allows egress traffic (guestnetwork --> public network)
2014-12-08 11:32:01 +05:30
Nitin Mehta b1e4c6db07 Revert "Revert "CLOUDSTACK-7919: If there is an out of band movement for the VR, irrespective of the fact that came as out of band live migrate or HA, reboot the router to make sure the router has all the rules configured.""
This reverts commit 24aaf19239.
2014-12-08 11:20:49 +05:30
Nitin Mehta 24aaf19239 Revert "CLOUDSTACK-7919: If there is an out of band movement for the VR, irrespective of the fact that came as out of band live migrate or HA, reboot the router to make sure the router has all the rules configured."
This reverts commit 39a671dfd8.
2014-12-05 15:24:09 +05:30
Wei Zhou 2554cfb140 CLOUDSTACK-7847: Can't deploy in project using customer created compute offerings 2014-12-05 08:42:22 +01:00
Jayapal 2d7f0c693b CLOUDSTACK-8027: Update error msg for enable static nat 2014-12-05 12:55:41 +05:30
Jayapal 936a17be22 CLOUDSTACK-8027: Update error msg for enable static nat 2014-12-05 12:45:22 +05:30
Damodar 7ef0f5507d Attach volume events are not correctly shown in events.
Signed-off-by: Koushik Das <koushik@apache.org>
2014-12-04 20:01:41 +05:30
Wei Zhou fc1a09ff49 Add snapshotName parameter in CreateSnapshotCmd 2014-12-04 15:29:39 +01:00
Wei Zhou d4605556c6 fix NPE when delete a domain 2014-12-04 15:28:41 +01:00
Damodar 7b8fe0c8cd Attach volume events are not correctly shown in events.
Signed-off-by: Koushik Das <koushik@apache.org>
2014-12-04 19:31:03 +05:30
Sheng Yang 3c9e14e85a CLOUDSTACK-5241: Remove Rot13 usage 2014-12-03 19:38:47 -08:00
Sheng Yang feeafa76a4 CLOUDSTACK-5241: Remove Rot13 cipher 2014-12-03 19:30:31 -08:00
Min Chen 344d98e0bd CLOUDSTACK-7981: added back resource tag related columns to user_vm_view to support resource tag related search. 2014-12-03 09:48:07 -08:00
Min Chen 8cb11f407f CLOUDSTACK-7981: added back resource tag related columns to user_vm_view to support resource tag related search. 2014-12-03 09:33:22 -08:00
Laszlo Hornyak a81b59e2a4 Revert "some unused fields deleted"
This reverts commit 31db58f720.
2014-12-03 18:09:49 +01:00
Daan Hoogland 590667076d CID-1256277 use StringBuffer in loop 2014-12-03 13:32:22 +01:00
Wei Zhou c25d4fdea2 CLOUDSTACK-7847: Separate ListDomains cmd to use two different views 2014-12-03 12:33:57 +01:00
Wei Zhou 0407fb334f CLOUDSTACK-7847: add max.domain.* in global setting and display domain resources in listDomainsCmd response 2014-12-02 11:52:10 +01:00
Rajani Karuturi b963bb1e6d volume upload: added getUploadParamsForVolume and getUploadParamsForTemplate api 2014-12-02 12:15:42 +05:30
Sheng Yang 77c88fa917 CLOUDSTACK-7999: Always override local keystore file with the entry in DB 2014-12-01 19:03:23 -08:00
Sheng Yang c987080c26 CLOUDSTACK-7999: Always override local keystore file with the entry in DB 2014-12-01 18:59:25 -08:00
Koushik Das c3515c9ff9 CLOUDSTACK-7994: Network rules are not configured in VR after out-of-band movement due to host crash
Ensure that VR is re-booted when it is moved to another host out-of-band. This is necessary to re-program all network rules

Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2014-12-01 18:49:09 +05:30
Koushik Das 513adab51b CLOUDSTACK-7994: Network rules are not configured in VR after out-of-band movement due to host crash
Ensure that VR is re-booted when it is moved to another host out-of-band. This is necessary to re-program all network rules
2014-12-01 18:09:58 +05:30
Wei Zhou af2f21894c CLOUDSTACK-7983: Create Disk/Service Offering for Domain Admin 2014-12-01 13:03:37 +01:00
Rohit Yadav 5241d0faf8 CLOUDSTACK-7903: Fix build regression from previous fix
The previous fix tried to access StatsCollector from UsageManagerImpl
which is not possible due to dependency cycle.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 1e0880cbab)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2014-12-01 16:39:01 +05:30
Rohit Yadav 1e0880cbab CLOUDSTACK-7903: Fix build regression from previous fix
The previous fix tried to access StatsCollector from UsageManagerImpl
which is not possible due to dependency cycle.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-01 16:35:23 +05:30
Ilia Shakitko e124781445 CLOUDSTACK-7903: Decreased minimal usage aggregation range value
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 9b907902d2)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2014-12-01 15:55:30 +05:30
Ilia Shakitko 9b907902d2 CLOUDSTACK-7903: Decreased minimal usage aggregation range value
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-01 15:52:00 +05:30
Rohit Yadav d28b716d8a CLOUDSTACK-7989: Ignore Auth API calls in unauthenticated HTTP handlers
If an auth API call (such as login, logout) is called on unauthenticated port
such as the 8096 integration server port, we need to ignore such API calls
as calling auth APIs on 8096 is un-necessary and is undefined.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 21a6bef53b)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-11-28 15:46:17 +05:30
Rohit Yadav 21a6bef53b CLOUDSTACK-7989: Ignore Auth API calls in unauthenticated HTTP handlers
If an auth API call (such as login, logout) is called on unauthenticated port
such as the 8096 integration server port, we need to ignore such API calls
as calling auth APIs on 8096 is un-necessary and is undefined.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-11-28 15:43:29 +05:30
Harikrishna Patnala cdfdda2051 CLOUDSTACK-6075: Increase the ram size for router service offering
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 488c17858f)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-11-27 16:05:34 +05:30
Harikrishna Patnala 488c17858f CLOUDSTACK-6075: Increase the ram size for router service offering
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-11-27 16:04:59 +05:30
Min Chen bf8dd828f5 CLOUDSTACK-7981: listVirtualMachine is too slow in case of duplicate
resource tags due to joining user_vm_details to user_vm_view.
2014-11-26 17:40:06 -08:00
Min Chen 4e7af26c9f CLOUDSTACK-7981: listVirtualMachine is too slow in case of duplicate
resource tags due to joining user_vm_details to user_vm_view.
2014-11-26 17:23:07 -08:00
amoghvk 960b7bbf74 CLOUDSTACK-7977
Fix password generator, add guards for minimum length
2014-11-26 15:08:48 -08:00
amoghvk 95ea203907 CLOUDSTACK-7976 : Param validation for global params involving domain name 2014-11-26 14:54:42 -08:00
amoghvk 86895ec13c Add validation for domain names passed via global pamaremets 2014-11-26 14:45:50 -08:00
Harikrishna Patnala 9585aa0b51 CLOUDSTACK-6465: vmware.reserve.mem is missing from cluster level settings
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
(cherry picked from commit eae733817b)
2014-11-25 15:55:54 +05:30
Daniel Vega 02ca6f2e5b CLOUDSTACK-7917: Validating Load Balancer Rule when updating LB + unit test
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
(cherry picked from commit c919ff83d8)
2014-11-25 15:55:30 +05:30
Rohit Yadav 7ff31f1b22 Merge remote-tracking branch 'origin/inetaddress'
- Tested locally against unit tests
- TravisCI build passed: https://travis-ci.org/apache/cloudstack/builds/41990351
- Manual QA passed for basic auth and saml auth using default IDP settings

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	server/src/com/cloud/api/ApiServlet.java
2014-11-25 14:32:09 +05:30
Harikrishna Patnala eae733817b CLOUDSTACK-6465: vmware.reserve.mem is missing from cluster level settings
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2014-11-25 12:22:31 +05:30
Daniel Vega c919ff83d8 CLOUDSTACK-7917: Validating Load Balancer Rule when updating LB + unit test
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2014-11-25 11:55:43 +05:30
Edison Su 7175247c5e CLOUDSTACK-7966:
remove snapshot_store_ref entry, in which role is Primary, during
storage GC
2014-11-24 14:30:32 -08:00
Edison Su 4e5b3d028d CLOUDSTACK-7966:
remove snapshot_store_ref entry, in which role is Primary, during
storage GC
2014-11-24 14:27:56 -08:00
Wido den Hollander 72ba98b1b8 Validate IPv4 address using Apache Commons Validator 2014-11-24 14:43:48 +01:00
Wido den Hollander 87a7810ade Fix UnitTest ApiServlet 2014-11-24 11:48:13 +01:00
Sanjay Tripathi d475b62838 CLOUDSTACK-7964: listAccounts API is not listing correct value of resource limits. 2014-11-24 13:44:42 +05:30
Saksham Srivastava c615aafd77 CLOUDSTACK-7962: Change state to Volume State 2014-11-24 12:08:58 +05:30
Saksham Srivastava 690a5ded35 CLOUDSTACK-7962: VM Snaptshot should add check for root volume status also 2014-11-24 11:20:19 +05:30
Laszlo Hornyak 31db58f720 some unused fields deleted
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:49:04 +01:00
Laszlo Hornyak 712a729bd7 unused logger removed
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:49:03 +01:00
Laszlo Hornyak 3577423da9 removed executable flags from java classes
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:49:01 +01:00
Laszlo Hornyak 2a6d6891eb Some simplification on getClientAddress in ApiServlet
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:48:58 +01:00
Laszlo Hornyak fa52ffad65 unit test for getClientAddress
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:48:57 +01:00
Min Chen b85183ede7 CLOUDSTACK-7678:volumes are getting uploaded successfully with wrong
url.
2014-11-21 15:18:47 -08:00
Min Chen 9ac93d3e43 CLOUDSTACK-7678:volumes are getting uploaded successfully with wrong url. 2014-11-21 14:36:36 -08:00
Wido den Hollander 4bd49df3f5 Use InetAddress for passing Remote Address instead of String 2014-11-21 12:10:35 +01:00
Syed 9f8d0051ed CLOUDSTACK-7952: Remove private key from SslCertResponse (listSslCerts)
Signed-off-by: Will Stevens <wstevens@cloudops.com>
2014-11-21 03:39:57 -05:00
Will Stevens 1be6fb143e CLOUDSTACK-7822: Fixed SSL Cert Tests and relaxed chain validation
Signed-off-by: Will Stevens <wstevens@cloudops.com>
2014-11-21 03:38:52 -05:00
Min Chen 66e0f049db CLOUDSTACK-7954:ListTags API is ignoring the resourceID and displaying
all the tags of all resources.
2014-11-20 09:48:07 -08:00
Min Chen 5fa7801b20 CLOUDSTACK-7954:ListTags API is ignoring the resourceID and displaying
all the tags of all resources.
2014-11-20 09:46:00 -08:00
Min Chen 7de9d2f002 Revert "BUG-ID: CS-27662: ListTags API is ignoring the resourceID and displaying"
This reverts commit 3014fd0089.
2014-11-20 09:44:55 -08:00
Min Chen 3014fd0089 BUG-ID: CS-27662: ListTags API is ignoring the resourceID and displaying
all the tags of all resources.
Reviewed-by: Frank
2014-11-20 09:31:29 -08:00
Syed 8ea7902075 CLOUDSTACK-7952: Remove private key from SslCertResponse (listSslCerts)
Signed-off-by: Will Stevens <wstevens@cloudops.com>
2014-11-20 03:46:03 -05:00
Edison Su 4140811549 CLOUDSTACK-7947:
double check if parent snapshot is removed or not, when creating new
snapshot

Reviewed-by: Min
2014-11-19 16:13:05 -08:00
Edison Su bd79965329 CLOUDSTACK-7947:
double check if parent snapshot is removed or not, when creating new
snapshot

Reviewed-by: Min
2014-11-19 16:12:28 -08:00
Edison Su 2ccecce515 CLOUDSTACK-7946:
fix compile
2014-11-19 16:09:30 -08:00
Edison Su 15c0efb774 CLOUDSTACK-7946:
fix compile
2014-11-19 16:08:54 -08:00
Edison Su d856a2acad CLOUDSTACK-7946:
remove leftover state in volume and snapshot table in case of mgt server
shutdown during storage operation.
Reviewed-by: Min
2014-11-19 16:08:27 -08:00
Edison Su 67113ff0b2 CLOUDSTACK-7946:
remove leftover state in volume and snapshot table in case of mgt server
shutdown during storage operation.
Reviewed-by: Min
2014-11-19 16:06:37 -08:00
Rajani Karuturi 3da3d7418e volume upload: PSK exchange between managemnet server and SSVM
generated a key during management server start and saved it in
configurationt table
2014-11-19 17:53:14 +05:30
Saksham Srivastava f0a4a639de CLOUDSTACK-7941: CloudStack should log IP address of actual client even if a ReverseProxy is there 2014-11-19 16:07:10 +05:30
Kishan Kavala 4e896938ee BUG-ID: CLOUDSTACK-5324 when router requires upgrade throw ResourceUnavailableException with scope VirtualRouter. API willl return generic Network Unavailable error.
Reviewed-By: Damoder
2014-11-19 09:46:56 +05:30
Prachi Damle 968ca060ee CLOUDSTACK-5853 cannot deploy vm with differing service storage tag and data disk storage tag
Changes:
- Reverting Marcus's fix since this issue has already fixed by https://issues.apache.org/jira/browse/CLOUDSTACK-5426
2014-11-18 14:07:51 -08:00
Prachi Damle 7f54894045 CLOUDSTACK-7559 After migrating root volume to other cluster wide storage, start VM is not running the VM with root disk from new storage.
Changes:
- During VM start, do not use the last host Id, if the host's cluster does not match the cluster provided in the deployment plan.
2014-11-18 14:07:49 -08:00
Prachi Damle 48553d7434 CLOUDSTACK-7559 After migrating root volume to other cluster wide storage, start VM is not running the VM with root disk from new storage.
Changes:
- During VM start, do not use the last host Id, if the host's cluster does not match the cluster provided in the deployment plan.
2014-11-18 09:47:20 -08:00
Daan Hoogland f2ccee7a03 name convention adherence 2014-11-18 16:52:46 +01:00
Hugo Trippaers 302d5195d4 Merge branch 'bugfix/CID-1254835' 2014-11-18 14:31:33 +01:00
Hugo Trippaers e1d4a329c4 Package name should reflect the location on the filesystem or viseversa 2014-11-18 14:12:44 +01:00
Anshul Gangwar 9c328cb9dd CLOUDSTACK-7929: While creating network offering if one specifies negative value for network rate then we will convert that value to 0 i.e. unlimited
This closes #40
2014-11-18 14:25:30 +05:30
Anshul Gangwar 8307dd9105 CLOUDSTACK-7930, CLOUDSTACK-7931: Do not allow to set invalid values for global settings which are of type integer and float
This closes #41
2014-11-18 14:25:12 +05:30
Anshul Gangwar 4721e66d0e CLOUDSTACK-7541: Added restriction to not allow custom disk offering with disksize UI doesn't allow but with API we were able to create custom disk offering with disk size which was causing this issue
This closes #28
2014-11-18 14:24:58 +05:30
Anshul Gangwar 44d12330b9 CLOUDSTACK-7758: Fixed although api calls are failing, event tab shows them as successful
This closes #29
2014-11-18 14:24:47 +05:30
Anshul Gangwar ae199b6ce7 CLOUDSTACK-7703, CLOUDSTACK-7752: Fixed deployment planner stuck in infinite loop.
If we create VM with shared service offering and attach disk with local disk offering,
and one of storage pool is full(cannot be allocated) and other is not full then
we are not putting the cluster in avoid list which is causing this infinite loop.

Fixed by putting the cluster in avoid list even if one of the storage pool is full(cannot be allocated)
2014-11-18 14:12:45 +05:30
Anshul Gangwar c04cdae60b CLOUDSTACK-7767: fixed events are not generated for snapshot creation 2014-11-18 14:12:33 +05:30
Anshul Gangwar f43ffb9a0f CLOUDSTACK-7688, CLOUDSTACK-7747: restricted various operations for VM with VM snapshots which breaks VM snapshots.
Now they are informed that they cannot perform the operation.
 To perform operation they have to remove VM snapshots of VM.
2014-11-18 14:12:02 +05:30
Hugo Trippaers ef30300281 CID-1254834 secStorageVm can only be null in a special case 2014-11-18 09:37:35 +01:00
Hugo Trippaers 8560cc3b01 CID-1254835 proxy can only be null in a special case 2014-11-18 09:30:37 +01:00
Anshul Gangwar 31876fb588 CLOUDSTACK-7929: While creating network offering if one specifies negative value for network rate then we will convert that value to 0 i.e. unlimited
This closes #40
2014-11-18 13:39:08 +05:30
Anshul Gangwar b008d78b57 CLOUDSTACK-7930, CLOUDSTACK-7931: Do not allow to set invalid values for global settings which are of type integer and float
This closes #41
2014-11-18 13:36:21 +05:30
Daan Hoogland 7b9e4a820b CID-1254842 use boxed constant instead of true 2014-11-17 14:59:47 +01:00
Daan Hoogland bb1ab33bb4 CID-1254841 removed unused var 2014-11-17 14:55:13 +01:00
Daan Hoogland 3dc12f7b48 CID-1254843: var name changed to saolve c&p issue 2014-11-17 14:45:48 +01:00
Anshul Gangwar efe47b0704 CLOUDSTACK-7541: Added restriction to not allow custom disk offering with disksize UI doesn't allow but with API we were able to create custom disk offering with disk size which was causing this issue
This closes #28
2014-11-17 16:34:26 +05:30
Anshul Gangwar e8a47594da CLOUDSTACK-7758: Fixed although api calls are failing, event tab shows them as successful
This closes #29
2014-11-17 16:31:35 +05:30
Anshul Gangwar 2898f7d8d6 CLOUDSTACK-7703, CLOUDSTACK-7752: Fixed deployment planner stuck in infinite loop. If we create VM with shared service offering and attach disk with local disk offering, and one of storage pool is full(cannot be allocated) and other is not full then we are not putting the cluster in avoid list which is causing this infinite loop.
Fixed by putting the cluster in avoid list even if one of the storage pool is full(cannot be allocated)
This closes #30
2014-11-17 16:17:15 +05:30
Rajesh Battala 3a4d70e696 Revert "Merge branch 'CLOUDSTACK-7703' of https://github.com/anshul1886/cloudstack-1"
This reverts commit d5b6fc4f04, reversing
changes made to 91ffaaa5a2.
2014-11-17 16:05:32 +05:30
Rajesh Battala d5b6fc4f04 Merge branch 'CLOUDSTACK-7703' of https://github.com/anshul1886/cloudstack-1
This closes #30
2014-11-17 15:55:17 +05:30
Nitin Mehta 5213401ace CLOUDSTACK-7920: NPE in the payload was causing the ssvm agent to not connect, fix it and also make sure that template/volume sync are robust that exceptions do not cause ssvm agent disconnect issues. 2014-11-14 16:19:10 -08:00
Nitin Mehta 39a671dfd8 CLOUDSTACK-7919: If there is an out of band movement for the VR, irrespective of the fact that came as out of band live migrate or HA, reboot the router to make sure the router has all the rules configured. 2014-11-14 14:30:46 -08:00
Nitin Mehta e87bb20d0c CLOUDSTACK-7916: Generate Alerts if System VMs cannot be started. 2014-11-14 13:35:40 -08:00
Nitin Mehta 3907bc6f9d CLOUDSTACK-7916: Generate Alerts if System VMs cannot be started. 2014-11-14 13:18:27 -08:00
Jayapal 7fd1e8e239 Merge branch '4.5' 2014-11-14 12:12:07 +05:30
Devdeep Singh cffae8eef0 CLOUDSTACK-6924. To attach a volume if a volume needs to be moved to another storage
pool, the source and destination pools cannot be local and cluster/zone and vice versa.
Cloudstack detects it and throws a exception. However, the end user only sees an
unexpected exception and not the reason for failure. Fixed it by making sure the
reason for the failure is correctly captured and shown to the end user.
2014-11-14 11:19:19 +05:30
Damodar 7e6ec2ce82 CLOUDSTACK-7877: The NET.IPRELEASE events are not added to usage_event on IP range deletion from Physical Networks.
Signed-off-by: Jayapal <jayapal@apache.org>
2014-11-14 10:31:46 +05:30
Nitin Mehta ade305be20 CLOUDSTACK-7909: Change the capacity_state in op_host_Capacity table only on explicit enabling/disabling of the host and remove the logic for changing it when cluster/pod/zone is enabled/disabled. Also add the logic in capacity checker thread so that previous changes finally get consistent with this new model and also its good to have it for sanity reasons. 2014-11-13 13:54:45 -08:00
Will Stevens 92d4a41a69 CLOUDSTACK-7822: Fixed SSL Cert Tests and relaxed chain validation 2014-11-13 09:55:49 -05:00
Santhosh Edukulla ef6ec7b276 Fixed few coverity issues like invalid boxing unboxing issues, resource leaks, null dereferences 2014-11-13 17:26:24 +05:30
Saksham Srivastava fc4dceaa99 CLOUDSTACK-7582: Update Storage Pool API does not update tags correctly 2014-11-13 17:01:06 +05:30
Koushik Das f585dd2661 CLOUDSTACK-7902: Account creation results in exception in logs
Event publish code was wrapped in transaction, moved it out
2014-11-13 16:11:53 +05:30
Koushik Das 03e63a67e0 CLOUDSTACK-7902: Account creation results in exception in logs
Event publish code was wrapped in transaction, moved it out
2014-11-13 14:41:33 +05:30
Mike Tutkowski 2042660a68 Added a "long getUsedIops(StoragePool)" method to the PrimaryDataStoreDriver interface 2014-11-12 13:38:58 -07:00
Wido den Hollander 95daa14e2a CLOUDSTACK-7583: Fix NPE caused by previous commit 2014-11-12 16:54:20 +01:00
Damodar f1361796bf CLOUDSTACK-7886: cloudstackoperations like deployvm,deleteNW are failing if CS fail to contact rabbit mq server. This is happening in case of Async API calls.
Signed-off-by: Koushik Das <koushik@apache.org>
2014-11-12 10:24:56 +05:30
Damodar 50a3c0b2e3 CLOUDSTACK-7886: cloudstackoperations like deployvm,deleteNW are failing if CS fail to contact rabbit mq server. This is happening in case of Async API calls.
Signed-off-by: Koushik Das <koushik@apache.org>
2014-11-12 10:12:15 +05:30
Harikrishna Patnala edf1047a20 CLOUDSTACK-7706: Coverity defects
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-11-11 20:58:45 +05:30
Wido den Hollander 840c2fda85 CLOUDSTACK-7583: Send VmStats to Graphite host when configured
This allows external processing of VmStats information without using
the usage server of CloudStack

Statistics are being send to Graphite using UDP and not TCP.

UDP is used to prevent the management server waiting for TCP timeouts
when the Graphite server is unavailable
2014-11-11 13:04:43 +01:00
Koushik Das 2685ed36cc CLOUDSTACK-7880: Creating shared network results in exception
This is due to event publish being wrapped in a transaction, moved it outside of transaction scope.
2014-11-11 16:35:20 +05:30
Koushik Das 6d268db217 CLOUDSTACK-7880: Creating shared network results in exception
This is due to event publish being wrapped in a transaction, moved it outside of transaction scope.
2014-11-11 16:32:20 +05:30
Daan Hoogland d2f28ea3ae CID-1251369: not null check changed to null check 2014-11-11 09:32:09 +01:00
Santhosh Edukulla c916f30574 CLOUDSTACK-7828.Avoid marking IPs already in Allocated as Allocated again. Use row lock to ensure that prev state is either Allocating or Free. This will inturn avoid logging duplicate events 2014-11-10 21:22:47 +05:30
Rohit Yadav c401dbc8f9 CLOUDSTACK-7871: allow VM and template details update using update APIs
Allows updating details (key/value) pair which updatse entries
invm_template_details and user_vm_details tables using updateVM and updateTemplate
APIs. This allows sys admins to update nics, controllers etc without DB hacking.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 97fa4a023e)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-11-10 17:53:26 +05:30
Rohit Yadav 97fa4a023e CLOUDSTACK-7871: allow VM and template details update using update APIs
Allows updating details (key/value) pair which updatse entries
invm_template_details and user_vm_details tables using updateVM and updateTemplate
APIs. This allows sys admins to update nics, controllers etc without DB hacking.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-11-10 17:51:57 +05:30
Jayapal 709bf074de CLOUDSTACK-7872: network getting shutdown inspite of running VM's in the network 2014-11-10 16:06:58 +05:30
Jayapal 0bd34d389f CLOUDSTACK-7872: network getting shutdown inspite of running VM's in the network 2014-11-10 15:26:48 +05:30
Damodar 781648fb10 CLOUDSTACK-7792: Usage Events to be captured based on Volume State Machine 2014-11-10 15:19:02 +05:30
Bharat Kumar 310bb255ac CLOUDSTACK-7760 Data disk size is not considering for primary storage resource limit check 2014-11-10 15:07:13 +05:30
Bharat Kumar 991d783e03 CLOUDSTACK-7760 Data disk size is not considering for primary storage resource limit check 2014-11-10 14:30:42 +05:30
Nitin Mehta a8b89bea4f CLOUDSTACK-7870: When Vm deployments fail and end in error state volume count should be decremented 2014-11-09 23:01:28 -08:00
Koushik Das 54ec268b7e CLOUDSTACK-7869: Add simulator support for findHostsForMigration API 2014-11-08 13:50:43 +05:30
Koushik Das e25de54b4c CLOUDSTACK-7421
Unnecessary exception in MS logs while removing default NIC from VM. Following changes are made:
1. Changed the exception from CloudRuntimeException to InvalidParameterValueExecption.
2. Moved out validation logic to UserVMManagerImpl from VirtualMachineManagerImpl.
3. Handling InvalidParameterValueException from async API calls so that they are not logged as ERROR in MS logs.
2014-11-08 13:50:15 +05:30
Koushik Das 8378485e56 CLOUDSTACK-7869: Add simulator support for findHostsForMigration API 2014-11-08 13:46:54 +05:30
Sanjay Tripathi 1c9775b0df CLOUDSTACK-7859: Host tags are not getting removed in cloud.host_tags table when a Host is deleted from CS. 2014-11-07 17:34:16 +05:30
Sanjay Tripathi 330bd2748e CLOUDSTACK-7859: Host tags are not getting removed in cloud.host_tags table when a Host is deleted from CS. 2014-11-07 17:32:25 +05:30
Mike Tutkowski 9338abb6f3 Check to see if the Map<String, String> of capabilities passed back from the storage driver is null. 2014-11-06 19:49:44 -07:00
Mike Tutkowski ebb96f5e2f Handle the case where the volume a snapshot was created from is removed from the database 2014-11-06 19:44:46 -07:00
Edison Su 812b0122e2 CLOUDSTACK-7683: hold a db lock during vm expunge 2014-11-06 15:37:15 -08:00
Edison Su ffdb38c496 there is no transaction context during the mgt server start, thus causing transaction.close will delete op_lock table if aquireinlocktable is called Reviewed-by: Anthony and Min 2014-11-06 15:30:19 -08:00
Edison Su 1fb28c2959 CS-21296: hidden snapshot.backup.rightafter, as it's not needed 2014-11-06 15:29:56 -08:00
Edison Su 103a4dd54d CLOUDSTACK-7683: hold a db lock during vm expunge 2014-11-06 15:22:34 -08:00
Mike Tutkowski 92d9ef9c17 Handle the case where a snapshot is associated with a deleted volume 2014-11-06 15:34:39 -07:00
Sanjay Tripathi 5a67fe7369 CLOUDSTACK-7842: wrong size column is getting updated with snapshot physical size in snapshot_store_ref table.
Also fixed the issue that snapshot size with hypervisor XS >= 6.2.5 is not getting updated in snapshot_store_ref table.
2014-11-05 16:44:54 +05:30
Sanjay Tripathi b844155240 CLOUDSTACK-7842: Wrong size column is getting updated with snapshot physical size in snapshot_store_ref table.
Also fixed the issue that snapshot size with hypervisor XS >= 6.2.5 is not getting updated in snapshot_store_ref table.
2014-11-05 16:42:28 +05:30
Rajani Karuturi 4c5f792ca9 Merge branch '4.5' 2014-11-05 15:20:34 +05:30
Rajani Karuturi c3e5964dcb Fixed CLOUDSTACK-7242: Adding a securing config using configDepo doesnt work
In ConfigurationVo, changed the setter to do the encryption if required
like the getter. Called the setter in constructor as well.

Removed references of encryption check in different places.

Reviewed-by: Santhosh Edukulla

This closes #35
2014-11-05 11:49:38 +05:30
Koushik Das 0327c2b13e CLOUDSTACK-7421
Unnecessary exception in MS logs while removing default NIC from VM. Following changes are made:
1. Changed the exception from CloudRuntimeException to InvalidParameterValueExecption.
2. Moved out validation logic to UserVMManagerImpl from VirtualMachineManagerImpl.
3. Handling InvalidParameterValueException from async API calls so that they are not logged as ERROR in MS logs.
2014-11-04 17:34:07 +05:30
Sanjay Tripathi 9168d826da CLOUDSTACK-7372: [vGPU] When a host is put in maintenance mode, vGPU enabled VMs
failed to migrate to the other host in the cluster.

Migration for vGPU VMs is not supported in XS, so instead of migrating them to
new server, stopping them.
2014-11-04 17:28:22 +05:30
Sanjay Tripathi 7a8f511014 CLOUDSTACK-7372: [vGPU] When a host is put in maintenance mode, vGPU enabled VMs
failed to migrate to the other host in the cluster.

Migration for vGPU VMs is not supported in XS, so instead of migrating them to
new server, stopping them.
2014-11-04 16:46:28 +05:30
Min Chen 07ba078ee6 CLOUDSTACK-7833: VM Async work jobs log "Was unable to find lock for the key vm_instance" errors as warning 2014-11-03 11:19:06 -08:00
Min Chen 684889f0b5 CLOUDSTACK-7833: VM Async work jobs log "Was unable to find lock for the key vm_instance" errors as warning 2014-11-03 10:52:47 -08:00
Kishan Kavala e427d0004c CLOUDSTACK-7267: For LXC volumes, show unsupported operation error for template creation from ROOT volume 2014-11-03 17:20:21 +05:30
Kishan Kavala 99010f463b CLOUDSTACK-7265: For LXC volumes, show unsupported operation error for volume snapshot 2014-11-03 17:20:00 +05:30
Kishan Kavala d6fdb7c6bc CLOUDSTACK-7253: For LXC Vms, show unsupported error for console access 2014-11-03 17:19:15 +05:30
Santhosh Edukulla 1aef5cba66 Fixed Coverity Issues 2014-11-03 16:45:30 +05:30
Santhosh Edukulla 1c01da3e08 CLOUDSTACK-7828.Avoid marking IPs already in Allocated as Allocated again. Use row lock to ensure that prev state is either Allocating or Free. This will inturn avoid logging duplicate events 2014-11-03 12:40:13 +05:30
amoghvk efc9632c1b CLOUDSTACK:6915 search including removed 2014-10-31 15:47:18 -07:00
amoghvk 6df396c9c0 Merge branch '4.5' of https://git-wip-us.apache.org/repos/asf/cloudstack into 4.5 2014-10-31 15:29:40 -07:00
amoghvk 0c153966e6 CLOUDSTACK:6915 search including removed 2014-10-31 15:29:07 -07:00
Nitin Mehta 138366804d CLOUDSTACK-7825: Report both virtual size and physical size for the snaphost usage event. 2014-10-31 15:25:06 -07:00
Nitin Mehta 2652195010 CLOUDSTACK-7825: Report both virtual size and physical size for the snaphost usage event. 2014-10-31 15:24:32 -07:00
Rohit Yadav f543d86eff saml: Use camelCase api names for SAML login/logout apis
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-10-31 01:24:39 +05:30
Rohit Yadav cd52bed477 saml: Use camelCase api names for SAML login/logout apis
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 85c0bd68ae8a76c231ab402dd0311e3672155f71)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-10-31 00:32:29 +05:30
Rohit Yadav 62f9bf0fff PR #26 CLOUDSTACK-7688, CLOUDSTACK-7747
Restricted various operations for VM with VM Snapshots #26

This closes #26
2014-10-30 15:11:57 +05:30
Anshul Gangwar 4705933a64 CLOUDSTACK-7703, CLOUDSTACK-7752: Fixed deployment planner stuck in infinite loop.
If we create VM with shared service offering and attach disk with local disk offering,
and one of storage pool is full(cannot be allocated) and other is not full then
we are not putting the cluster in avoid list which is causing this infinite loop.

Fixed by putting the cluster in avoid list even if one of the storage pool is full(cannot be allocated)
2014-10-30 13:36:01 +05:30
Anshul Gangwar d8b46b81b9 CLOUDSTACK-7767: fixed events are not generated for snapshot creation 2014-10-30 13:25:06 +05:30
Anshul Gangwar a4d8215ebb CLOUDSTACK-7688, CLOUDSTACK-7747: restricted various operations for VM with VM snapshots which breaks VM snapshots.
Now they are informed that they cannot perform the operation.
 To perform operation they have to remove VM snapshots of VM.
2014-10-30 12:37:50 +05:30
Anthony Xu c78f14cbc2 fixed NPE 2014-10-29 17:05:42 -07:00
Edison Su b6d8ceda3d there is no transaction context during the mgt server start, thus causing transaction.close will delete op_lock table if aquireinlocktable is called Reviewed-by: Anthony and Min 2014-10-30 02:21:29 -07:00
Min Chen 055901acda CLOUDSTACK-7797: listSupportedNetworkServices API takes more than 1 second to
complete, slow compared to previous 4.3 release.
2014-10-27 17:00:42 -07:00
Sheng Yang dd7026b20e CLOUDSTACK-1771: Fix VR IP change when restartnetwork with cleanup=true in basic zone
In basic network, the correct network id associate with IP is source network id
rather than network id.
2014-10-27 16:49:30 -07:00
Sheng Yang 307a35a618 CLOUDSTACK-1771: Fix VR IP change when restartnetwork with cleanup=true in basic zone
In basic network, the correct network id associate with IP is source network id
rather than network id.
2014-10-27 16:46:01 -07:00
Min Chen 4f43839dae CLOUDSTACK-7797: listSupportedNetworkServices API takes more than 1 second to
complete, slow compared to previous 4.3 release.
2014-10-27 16:27:17 -07:00
Sanjay Tripathi db6a0d65aa No need to log discrepancy resource count message for Primary and secondary storage. 2014-10-27 15:26:06 +05:30
Sanjay Tripathi 4f4595cef8 No need to log discrepancy resource count message for Primary and secondary storage. 2014-10-27 15:23:36 +05:30
Sanjay Tripathi c5fa7cc494 Correct the error message when tried created VM Snapshot with memory on a vGPU Instance.
"VM snapshot with MEMORY is not supported for VGU enabled VMs."
Change VGU to vGPU.
2014-10-27 13:59:59 +05:30
Sanjay Tripathi 9bcf0e1bf6 Correct the error message when tried created VM Snapshot with memory on a vGPU Instance.
"VM snapshot with MEMORY is not supported for VGU enabled VMs."
Change VGU to vGPU.
2014-10-27 13:52:28 +05:30
Anthony Xu 32dc09f2c3 even xenserverinvestigator returns true, that means host is up, but XAPI may not work 2014-10-23 16:10:18 -07:00
Edison Su 10cc7f86af CS-21296: hidden snapshot.backup.rightafter, as it's not needed 2014-10-22 15:36:35 -07:00
Anthony Xu 4a13f81485 when host is pingtimeout and CCP can not determine the host status, put the host to Alert status , no VM HA. 2014-10-22 15:14:46 -07:00
Anthony Xu c52e14730e when host is pingtimeout and CCP can not determine the host status, put the host to Alert status , no VM HA. 2014-10-22 15:07:40 -07:00
Nitin Mehta ee0f0a1cff CLOUDSTACK-7771: Throw exception while restoring vm if the template is already deleted. Also fix the usage event being generated from the right template id and fix the log message which sometime showed incorrect template id.
CLOUDSTACK-4201: listServiceOfferings API needs to be able to take virtualmachineid of SystemVM and return service offerings available for the vm to change service offering
2014-10-22 15:03:25 -07:00
Mike Tutkowski 97aa02ceb0 Commits related to taking snapshots that live on primary storage 2014-10-22 12:44:33 -06:00
Anthony Xu 0141b37784 CLOUDSTACK-7761:
Revert "when system VM ping times out, stop system VM"

This reverts commit ee23be1942.
2014-10-21 17:21:17 -07:00
Anthony Xu 70112bd145 CLOUDSTACK-7761:
Revert "when system VM ping times out, stop system VM"

This reverts commit ee23be1942.
2014-10-21 17:19:57 -07:00
Mike Tutkowski 57dacf99a2 Changed "boolean connectVolumeToHost(VolumeInfo, Host, DataStore)" to "boolean grantAccess(DataObject, Host, DataStore)"
Changed "void disconnectVolumeFromHost(VolumeInfo, Host, DataStore)" to "void revokeAccess(DataObject, Host, DataStore)"
2014-10-21 16:01:14 -06:00
Mike Tutkowski 06f6b00cd1 Snapshot support 2014-10-21 16:01:13 -06:00
Nitin Mehta e1a993d37b CLOUDSTACK-7754: Templates source_template_id is null when it is created from Snapshot with its corresponding volume removed. Fix it by searching for volumes including removed. Also bring the logic of setting source template id to create() method than execute which was wrongly put in. 2014-10-21 09:57:02 -07:00
Nitin Mehta a72580def0 CLOUDSTACK-7754: Templates source_template_id is null when it is created from Snapshot with its corresponding volume removed. Fix it by searching for volumes including removed.
(cherry picked from commit 287ff83552)
2014-10-20 16:50:22 -07:00
Nitin Mehta 287ff83552 CLOUDSTACK-7754: Templates source_template_id is null when it is created from Snapshot with its corresponding volume removed. Fix it by searching for volumes including removed. 2014-10-20 16:49:48 -07:00
Daan Hoogland 1de0cb7094 restore barematel work after merge 2014-10-17 10:24:01 +02:00
Daan Hoogland 148efbb73f Merge remote-tracking branch 'origin/4.5' into merge-master
Conflicts:
	engine/schema/src/com/cloud/upgrade/dao/Upgrade441to450.java
	plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalManagerImpl.java
	plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManager.java
	plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
	plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalKickStartServiceImpl.java
	plugins/hypervisors/vmware/src/com/cloud/storage/resource/VmwareStorageProcessor.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
	setup/db/db/schema-441to450.sql
	test/integration/component/test_deploy_vgpu_vm.py
	tools/marvin/marvin/config/test_data.py
2014-10-16 12:29:37 +02:00
Sanjay Tripathi 1f8cf0bee4 CLOUDSTACK-7739: Add new vGPU types K160Q, K180Q, K280Q to the CloudStack UI. 2014-10-16 14:38:33 +05:30
Sanjay Tripathi ec6a666855 Config value having different category in SQL and Config.java. 2014-10-16 14:38:23 +05:30
Sanjay Tripathi 420d4e0da0 CLOUDSTACK-7739: Add new vGPU types K160Q, K180Q, K280Q to the CloudStack UI. 2014-10-16 14:25:30 +05:30
Sanjay Tripathi 5025071954 Config value having different category in SQL and Config.java. 2014-10-16 14:01:23 +05:30
Sanjay Tripathi 80e0c99189 Removed duplicate code and unused imports which was causing build failure. 2014-10-16 13:53:32 +05:30
Santhosh Edukulla efe1e0a544 Fixed coverity and other resource leak issues
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-10-16 12:19:51 +05:30
Jayapal 53ee4cd794 CLOUDSTACK-7728: Removed duplicate import 2014-10-16 10:05:06 +05:30
Damodar 7fe3c45142 CLOUDSTACK-7729: listVMSnapshot API not returning parent id in response 2014-10-16 09:43:04 +05:30
Jayapal e257c13f16 CLOUDSTACK-7728: Fixed adding iptables rules for egress allow on VR reboot 2014-10-16 09:38:21 +05:30
Jayapal f488a8f72c CLOUDSTACK-7728: Fixed adding icmp rules with different types and codes 2014-10-16 09:38:21 +05:30
Bharat Kumar 080bc2e2e9 CLOUDSTACK-7536 user vm can get a gateway ip when gateway ip is a part of the guest ip range.
Signed-off-by: Jayapal <jayapal@apache.org>
2014-10-16 09:38:21 +05:30
Jayapal 55e11cddca CLOUDSTACK-7728: Fixed adding iptables rules for egress allow on VR reboot 2014-10-16 09:37:43 +05:30
Jayapal 7cd3438580 CLOUDSTACK-7728: Fixed adding icmp rules with different types and codes 2014-10-16 09:37:42 +05:30
Bharat Kumar 6967c6c229 CLOUDSTACK-7536 user vm can get a gateway ip when gateway ip is a part of the guest ip range.
Signed-off-by: Jayapal <jayapal@apache.org>
2014-10-16 09:37:42 +05:30
Nitin Mehta 3b442acdd7 CLOUDSTACK-7532: Template status is not shown in UI/API response for non-default account users. Show it if the owner of the template is the caller
(cherry picked from commit 42f628c61c)
2014-10-15 13:58:22 -07:00
Nitin Mehta 42f628c61c CLOUDSTACK-7532: Template status is not shown in UI/API response for non-default account users. Show it if the owner of the template is the caller 2014-10-15 13:53:39 -07:00
Mike Tutkowski e70dde09c9 Implementing snapshot-strategy support for reverting a volume to a snapshot 2014-10-14 22:04:18 -06:00
Mike Tutkowski 35a8b70799 Adding a snapshot strategy for systems that want to take snapshots that reside on their own system (as opposed to the default approach of taking a hypervisor snapshot and then copying it to secondary storage) 2014-10-14 12:26:40 -06:00
Daan Hoogland 771d052381 Merge branch 'vpc-refactor-clean-for-PR' of https://github.com/schubergphilis/cloudstack 2014-10-14 20:14:50 +02:00
wilderrodrigues 1e87d7b266 Fixing checkstyle.
Making local variable compatible with our checkstyle settings.
2014-10-14 15:25:50 +02:00
wilderrodrigues 2ed64b2356 Applying fix from commit id 6b8e0baa21
Changes by Edilson Su: if vpc public network with snat enabled, then will triger this issue.
2014-10-14 15:10:14 +02:00
Wilder Rodrigues db86bdfb2c Applygin fix from commit ID aaeadc5c44
Sheng Yang changed 2 classes, ut only one was related to the bug CLOUDSTACK-7605.
I applied the changed on the routerslist, used during the deployment of the virtual routers.

Tested Advanced Zone against the simulator. 69 happy tests in place
2014-10-14 15:08:13 +02:00
Wilder Rodrigues c81b3380df Applying the latest chances from the VPC Refactor branch onto the new one.
We will keep this branch as clean as possible to avoid problems with merge.
2014-10-14 15:08:13 +02:00
wrodrigues 3ac2e222e8 CLOUDSTACK-6278 Baremetal Advanced Networking support from commit id e06fa18ed2 by Frank Zhang
Conflicts:
	server/src/com/cloud/network/router/NetworkHelperImpl.java
2014-10-14 15:08:13 +02:00
wrodrigues 4e21948f5c Fixing the NetworkHelperImpl class. It was throwing a NPE due to a hypervisor type SIMULATOR not being in the hashmap.
When the refactor took place, we should have changed first structure, then behaviour. By refactoring the deployRouter method
we changed how the templateName was retrieved.
Fixed and tested using the simulator and the following Marvin tests

test_privategateway_acl
test_routers
test_vpc_vpn
test_service_offerings
test_volumes
test_reset_vm_on_reboot
test_multipleips_per_nic

Conflicts:
	server/src/com/cloud/network/router/NetworkHelperImpl.java
2014-10-14 15:08:12 +02:00
wrodrigues 025ff72410 fixing checkstyle in the virtual network manager. problem appeared after a rebase. probably due to my saving action in the eclipse workspace
Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2014-10-14 15:08:12 +02:00
Wilder Rodrigues 9f801d1f3a Changing the way the DAOs were being injected in the RuleApplier;
Making code clearer and simple.

Conflicts:
	server/src/com/cloud/network/rules/PrivateGatewayRules.java
	server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/NetworkTopologyVisitor.java
2014-10-14 15:08:12 +02:00
Wilder Rodrigues 60eea3bb1a Adding fixes for the add user data and vpn rules 2014-10-14 15:08:11 +02:00
Wilder Rodrigues f2f4732854 Removing the VirtualNetworkStatus, it was not being used properly;
fixing the injection of the network DAO in the PrivateGatewayRules;
all tests that were failing in Travis have been tested before the commit.

Conflicts:
	server/src/com/cloud/network/router/NetworkHelperImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2014-10-14 15:08:11 +02:00
Wilder Rodrigues dc5fefc018 making sure the instance variable _router in the Rules is being used instead of the parameter
Conflicts:
	server/src/com/cloud/network/router/NetworkHelperImpl.java
2014-10-14 15:08:11 +02:00
Antonio Fornie 64eed6c6ab Fix: VpcRouter has always PublicIp setup as it did before refactoring 2014-10-14 15:08:10 +02:00
Wilder Rodrigues ee9068b5b2 merging cmd-visitor into cmd-visitor-rebase, with the upstream from ACS repo
Conflicts:
	server/src/com/cloud/network/rules/DhcpRules.java
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
2014-10-14 15:08:10 +02:00
wrodrigues b7c193a88d fixing nic plug unplug rule
Conflicts:
	server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java
2014-10-14 15:08:10 +02:00
wrodrigues 5f51a06e3c fix dhcp subnet rules. we can create VMs again. 2014-10-14 15:08:10 +02:00
Antonio Fornie 02c75251b3 Fixing NPE due to use of dependencies before Spring injection 2014-10-14 15:08:09 +02:00
Antonio Fornie cd8cadaf9c Refactor hypervisor retrieval from VpcNwHelper and NwHelper
Conflicts:
	server/src/com/cloud/network/router/NetworkHelperImpl.java
	server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
	server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
	server/test/org/cloud/network/router/deployment/VpcRouterDeploymentDefinitionTest.java
2014-10-14 15:08:09 +02:00
Wilder Rodrigues 65fb21647a auto wire the network helper
Conflicts:
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
2014-10-14 15:08:09 +02:00
Wilder Rodrigues 546e563c27 refactor all private methods in the virtual router appliance and VPC appliance
Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/rules/DhcpEntryRules.java
	server/src/com/cloud/network/rules/LoadBalancingRules.java
	server/src/com/cloud/network/rules/RuleApplier.java
	server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkVisitor.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java
	server/src/org/apache/cloudstack/network/topology/NetworkTopology.java
2014-10-14 15:08:09 +02:00
Antonio Fornie b5e96af4e2 Missing license headers 2014-10-14 15:02:14 +02:00
Antonio Fornie 2802d3b75b Refactor and test NetworkHelper#sendCommandsToRouterWithNoAnswers 2014-10-14 15:02:14 +02:00
Wilder Rodrigues e08cb11fc0 fixing check style issues
Conflicts:
	server/src/com/cloud/network/element/VpcVirtualRouterElement.java
	server/src/com/cloud/network/rules/AdvancedVpnRules.java
	server/src/com/cloud/network/rules/RuleApplier.java
	server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkVisitor.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java
	server/src/org/apache/cloudstack/network/topology/NetworkTopology.java
2014-10-14 15:02:14 +02:00
wrodrigues 01edc8e394 adding setupPrivateGateway to new style;
removing methods from Vpc appliance;
changing the way VpcElement calls the command;

there is still work tob e done with the destroyPrivateGateway rule.

Conflicts:
	server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/NetworkTopology.java
2014-10-14 15:02:13 +02:00
Antonio Fornie b9bff843c6 Whole router.deployment package got 97% coverage
Conflicts:
	server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java
	server/test/org/cloud/network/router/deployment/VpcRouterDeploymentDefinitionTest.java
2014-10-14 15:02:13 +02:00
Antonio Fornie 3d4ddb7251 DeployRouter includes nw creation following TellDontAsk principle
Also factor out NicProfile specific methods and fix some DI config.

Conflicts:
	server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
	server/test/org/cloud/network/router/deployment/VpcRouterDeploymentDefinitionTest.java
2014-10-14 15:02:13 +02:00
wrodrigues adebaf2bd0 adding applyStaticRoutes to the new visitor pattern. 2014-10-14 15:02:13 +02:00
Wilder Rodrigues b96035f356 adding applyStaticRoutes method to the network topology/visitor. it will be used by the VPC virtual net manager appliance.
Conflicts:
	server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
2014-10-14 15:02:12 +02:00
Antonio Fornie 2da3ceda31 Refactor to include network creation as actual deployment
Conflicts:
	server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
	server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java
	server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
	server/test/org/cloud/network/router/deployment/VpcRouterDeploymentDefinitionTest.java
2014-10-14 15:02:12 +02:00
Wilder Rodrigues 00dc8a7b24 fixing check styles
Conflicts:
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
2014-10-14 15:02:12 +02:00
wrodrigues 16ad4122b4 moving sendCommand to the NetworkGeneralHelper;
adding handle single network method to the NetworkGeneralHelper;
moving getRealPriority to the NetworkGeneralHelper;
making priority constants part of the VirtualNetworkApplianceManager;
changing the network topology implementation in order to use the NetworkGeneralManager instead of the appliance

Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
2014-10-14 15:02:11 +02:00
Antonio Fornie 0d81cf09f6 Increasing test coverage for Vpc Deployment 2014-10-14 15:01:16 +02:00
Antonio Fornie 240a539d43 Factor out prepareDeployment and update tests 2014-10-14 15:01:16 +02:00
Antonio Fornie d2d9157ab0 Complete tests for normal deployment and start vpc one
Conflicts:
	server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java
2014-10-14 15:01:16 +02:00
Wilder Rodrigues 12b0d188cb Replacing the old [Vpc}VirtualNetworkApplianceManager by the new ones;
Implement the missing commands related to DHCP PV Lan and DHCP SubNet

Conflicts:
	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/rules/DhcpRules.java
	server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java
	server/src/org/apache/cloudstack/network/topology/NetworkTopologyVisitor.java
2014-10-14 15:01:16 +02:00
Antonio Fornie a83f5790eb License headers 2014-10-14 15:01:15 +02:00
Antonio Fornie 6fac12675d More refactoring and testing in the same classes
Conflicts:
	server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java
2014-10-14 15:01:15 +02:00
Antonio Fornie f3c04172a4 RouterDeployment and VPC. Improving code and Unit Testing 2014-10-14 15:01:14 +02:00
Antonio Fornie 8852153d0c Splitting Vpc and NonVpc deployment into phases & testing it 2014-10-14 15:01:14 +02:00
Wilder Rodrigues 325026de3f fixing VPC IP Association and ACL rules. Have to rewrite in a better why the apply rules method in the Advanced Topology 2014-10-14 15:01:14 +02:00
Wilder Rodrigues b97f2b05c7 apply network acls; acls items to pvt gw; vpc ip association
Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
2014-10-14 15:01:14 +02:00
Antonio Fornie f23ba91ed1 Fixing null pointers during vpc router deployment 2014-10-14 15:01:13 +02:00
Wilder Rodrigues bfd4316b58 adding new bean to spring context file; renaming package from "com" to "org" 2014-10-14 15:01:13 +02:00
Wilder Rodrigues 0b78731bc7 fixing import in virtual router element and checkstyle in dhcp entry related changes
Conflicts:
	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/rules/DhcpEntryRules.java
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java
2014-10-14 15:01:12 +02:00
Antonio Fornie 95395f9574 Deployment more OO - Objects with data and behavior
Conflicts:
	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2014-10-14 15:01:12 +02:00
wrodrigues e99b5b0760 fixing the injection of the networkDao
Conflicts:
	server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
2014-10-14 15:00:33 +02:00
Daan Hoogland c76952b5ff whitespace
Conflicts:
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkVisitor.java
2014-10-14 15:00:33 +02:00
wrodrigues d15329679b fixing injection of beans with a relationship
Conflicts:
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
2014-10-14 15:00:33 +02:00
Wilder Rodrigues 8f313ca5d3 adding user data pwd rules
Conflicts:
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkVisitor.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
2014-10-14 15:00:32 +02:00
Wilder Rodrigues b9ffe2329e making instance variables compliant with ACS convention
Conflicts:
	server/src/com/cloud/network/rules/LoadBalancingRules.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
2014-10-14 15:00:32 +02:00
Wilder Rodrigues f0189ac3c3 adding userdata to router and ssh pub key to router rules.
Conflicts:
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java
2014-10-14 15:00:32 +02:00
Antonio Fornie 631b561d9c Unify and encapsulate deployment flow methods and params
Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2014-10-14 15:00:31 +02:00
Wilder Rodrigues 299c42c336 adding password to router rules; moving the advance code to the advance net topology.
Conflicts:
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
2014-10-14 14:55:26 +02:00
Wilder Rodrigues 87f0e68983 fixing the classes relationship; adding beans properly in the spring context; using the right basic/advance stuff; testing ip and port forwarding rules
Conflicts:
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkVisitor.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java
2014-10-14 14:55:25 +02:00
Antonio Fornie a98253296a Temporary put state info in a state object 2014-10-14 14:55:25 +02:00
Daan Hoogland e1866bf90d package rename
Conflicts:
	server/src/com/cloud/network/rules/DhcpEntryRules.java
	server/src/com/cloud/network/rules/DhcpSubNetRules.java
2014-10-14 14:55:25 +02:00
Antonio Fornie 563f853d59 Fix offering setup 2014-10-14 14:55:24 +02:00
Wilder Rodrigues 6b2d35c8c2 adding Ip Association and VPN Rules
Conflicts:
	server/src/com/cloud/network/topology/AdvancedNetworkVisitor.java
	server/src/com/cloud/network/topology/BasicNetworkTopology.java
	server/src/com/cloud/network/topology/NetworkTopologyVisitor.java
2014-10-14 14:55:24 +02:00
Wilder Rodrigues f965fb9672 adding apache license headers 2014-10-14 14:55:24 +02:00
Wilder Rodrigues 7e98e3e132 we have to check if VPC is null bfore calling it. VPC is not used in gest networks, so deploying a new VM was broken. 2014-10-14 14:55:23 +02:00
Wilder Rodrigues fb8973f1e2 adding static nat rules. Deploying new VMs is not working due to the appliance refactory, will check the changes with Antonio tomorrow.
Conflicts:
	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/topology/AdvancedNetworkVisitor.java
2014-10-14 14:55:23 +02:00
Daan Hoogland f17a0b835c TODO 2014-10-14 14:55:23 +02:00
Wilder Rodrigues 4b1112af28 finished firewall rules and load balancing rules; fixed all the injection problems; added VirtualMachineManager to the appliance factory to be injected.
Conflicts:
	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/router/NEWVirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/topology/BasicNetworkTopology.java
2014-10-14 14:55:23 +02:00
Wilder Rodrigues bbce7d944b fixing checkstyles
Conflicts:
	server/src/com/cloud/network/topology/AdvancedNetworkVisitor.java
	server/src/com/cloud/network/topology/BasicNetworkTopology.java
2014-10-14 14:55:22 +02:00
Wilder Rodrigues 3457d0fbaf changing accessor modifier in instance variables 2014-10-14 14:55:22 +02:00
Wilder Rodrigues 65d7e0756d Adding Firewall Rules to comply with the Visitor pattern implementation; refactoring the applyRules so we can reuse it.
Conflicts:
	server/src/com/cloud/network/rules/LoadBalancingRules.java
	server/src/com/cloud/network/topology/AdvancedNetworkVisitor.java
	server/src/com/cloud/network/topology/BasicNetworkTopology.java
	server/src/com/cloud/network/topology/NetworkTopology.java
2014-10-14 14:55:22 +02:00
Antonio Fornie 24b230d11b Fix dependency problem. Extract and unify router deployment stuff
Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2014-10-14 14:55:22 +02:00
Antonio Fornie f28426e1a2 Extract general behavior to Router and Vpc delegates
Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
2014-10-14 14:51:02 +02:00
Antonio Fornie 1a85213bbf Rules and visitors for Load Balance Rules
Conflicts:
	server/src/com/cloud/network/element/VirtualRouterElement.java
2014-10-14 14:46:38 +02:00
Sanjay Tripathi 176e0d47bb CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect
GPU enabled hosts from non-GPU VM deployment.
Cluster reordering is based on the number of unique host tags in a cluster,
cluster with most number of unique host tags will put at the end of list.
Hosts with GPU capability will get tagged with implicit tags defined by
global config param 'implicit.host.tags' at the time os host discovery.

Also added FirstFitPlannerTest unit test file.
2014-10-14 17:55:37 +05:30
Sanjay Tripathi e4a8bbcdf4 CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect
GPU enabled hosts from non-GPU VM deployment.
Cluster reordering is based on the number of unique host tags in a cluster,
cluster with most number of unique host tags will put at the end of list.
Hosts with GPU capability will get tagged with implicit tags defined by
global config param 'implicit.host.tags' at the time os host discovery.

Also added FirstFitPlannerTest unit test file.
2014-10-14 17:53:50 +05:30
Santhosh Edukulla 0a9742f914 Fixed few coverity issues
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-10-14 17:16:50 +05:30
Nitin Mehta a6d575b127 CLOUDSTACK-7699: Disable ROOT volume attach/detach ability. 2014-10-13 13:57:45 -07:00
Santhosh Edukulla 350ac4c4b0 Fixed Resource Leaks
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-10-13 17:51:02 +05:30
Rajesh Battala 0f528df228 CLOUDSTACK-7313 Fixed issues in provisioning vpx in SDX from CS 2014-10-13 15:57:13 +05:30
Damodar 50185b7c3a CLOUDSTACK-7648: There are new VM State Machine changes introduced which were missed to capture the usage events 2014-10-13 14:42:00 +05:30
Kishan Kavala b6cacb3d67 change dos line ending to unix format 2014-10-13 12:34:32 +05:30
Edison Su c10189f79a if vpc public network with snat enabled, then will triger this issue;
(cherry picked from commit 6b8e0baa21)
2014-10-13 00:39:10 -04:00
amoghvk da73d735b2 Revert "CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect"
This reverts commit d910b4ff14 since it is causing encryption/decryption issues with RPM builds

(cherry picked from commit fbcab01ff0)
2014-10-13 00:37:34 -04:00
Kishan Kavala db79dd1ef5 CLOUDSTACK-2625, CLOUDSTACK-3401: Usage records are ordered by start_date which is not unique. While listing large datasets or when page size is small this will result in duplicates. Order records by id instead
(cherry picked from commit 63109a97b1)
2014-10-13 00:36:30 -04:00
Sanjay Tripathi eb447f14e2 CLOUDSTACK:7323: [vGPU] Creation of VM snapshot with "memory" is failing.
VM snapshot with memory is not supported for VGPU VMs, so putting checks
for same.

(cherry picked from commit 123ec8b3d3)
2014-10-13 00:35:13 -04:00
Sanjay Tripathi d058fa6880 CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect
GPU enabled hosts from non-GPU VM deployment.
Cluster reordering is based on the number of unique host tags in a cluster,
cluster with most number of unique host tags will put at the end of list.
Hosts with GPU capability will get tagged with implicit tags defined by
global config param 'implicit.host.tags' at the time os host discovery.

Also added FirstFitPlannerTest unit test file.

(cherry picked from commit d910b4ff14)
2014-10-13 00:32:03 -04:00
Santhosh Edukulla 0df43197d9 Fixed few coverity issues
(cherry picked from commit 45597766a5)
2014-10-13 00:30:01 -04:00
Anthony Xu ba1862836e ccp should not check public ip resource when deploy a vm on shared network
(cherry picked from commit 3201251256)
2014-10-13 00:27:01 -04:00
Sanjay Tripathi 47d2a578ee CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect
GPU enabled hosts from non-GPU VM deployment.
Cluster reordering is based on the number of unique host tags in a cluster,
cluster with most number of unique host tags will put at the end of list.
Hosts with GPU capability will get tagged with implicit tags defined by
global config param 'implicit.host.tags' at the time os host discovery.

Also added FirstFitPlannerTest unit test file.

(cherry picked from commit 39fe766c2b)
2014-10-13 00:15:03 -04:00
Likitha Shetty 54110edda1 CLOUDSTACK-6969. Data Volume Shrink operation failing with "Unexpected Exception".
(cherry picked from commit bca71ec169)
2014-10-13 00:14:09 -04:00
Kishan Kavala 759b5fa048 For network stats aggregation job, get the most recent mgmt server id to do the aggregation. Set dao filter to descending.
(cherry picked from commit ce5c35b193)
2014-10-13 00:13:45 -04:00
Anthony Xu ee23be1942 when system VM ping times out, stop system VM
(cherry picked from commit 847e1e47ae)
2014-10-13 00:11:21 -04:00
Jayapal 26ac4dd395 CLOUDSTACK-7615: Update log msg to print error msg rather than exception
(cherry picked from commit 1d01ee3a60)
2014-10-13 00:06:40 -04:00
Devdeep Singh 549840dd0d CLOUDSTACK-7495. Volume resize is only supported on kvm, vmware and xenserver. If
the operation is tried on other hypervisors it fails but logs a stack trace. We
should just log a message that the operation isn't supported.

(cherry picked from commit ec1123aca1)
2014-10-13 00:01:55 -04:00
Rohit Yadav 6e04f93785 CID-1192822: ids is a List<Long>, the cast to List<?> is removed
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 92858afd55)
2014-10-12 23:58:17 -04:00
Rohit Yadav 4d8dfc9b7c CID-1192810: Remove useless control flow
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit f74446a195)
2014-10-12 23:58:06 -04:00
Rohit Yadav ff42d5ad54 CID-1211005: Fix comparison, Class<?> is always instance of Class
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 59482b3eba)
2014-10-12 23:57:53 -04:00
Rohit Yadav a35521315e CID-1223274: Remove dead local storage code from VolumeApiServiceImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 60e492aeb9)
2014-10-12 23:57:13 -04:00
Koushik Das 1b0618d39c CLOUDSTACK-7595: Config parameters "job.expire.minutes" and "job.cancel.threshold.minutes" incorrectly getting multiplied by a factor of 60
Removed the unnecessary multiply factor for both the config parameters. Also removed the duplicate entries from Config.java as these are not required

(cherry picked from commit a6ee4112a5)
2014-10-12 23:43:01 -04:00
Nitin Mehta 988b9efc97 CLOUDSTACK-7588: [Vmware] Creating templates (with same names) from volumes get deleted from CS. Fix it by changing the unique name generation to the standard one used by registertemplate. Also cleaned up vmtemplatevo which had too many constructors.
(cherry picked from commit 082aed3d33)
2014-10-12 23:39:21 -04:00
David Nalley ffe846673c more revert cleanup 2014-10-12 23:31:17 -04:00
David Nalley 3cac7f01bb Revert "CLOUDSTACK-6278"
This reverts commit bc2ec23d09.
2014-10-12 23:19:30 -04:00
Edison Su 6b8e0baa21 if vpc public network with snat enabled, then will triger this issue; 2014-10-09 16:48:09 -07:00
amoghvk fbcab01ff0 Revert "CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect"
This reverts commit d910b4ff14 since it is causing encryption/decryption issues with RPM builds
2014-10-09 15:39:19 -07:00
Kishan Kavala 63109a97b1 CLOUDSTACK-2625, CLOUDSTACK-3401: Usage records are ordered by start_date which is not unique. While listing large datasets or when page size is small this will result in duplicates. Order records by id instead 2014-10-09 10:27:49 +05:30
Sanjay Tripathi 123ec8b3d3 CLOUDSTACK:7323: [vGPU] Creation of VM snapshot with "memory" is failing.
VM snapshot with memory is not supported for VGPU VMs, so putting checks
for same.
2014-10-08 19:21:12 +05:30
Sanjay Tripathi d910b4ff14 CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect
GPU enabled hosts from non-GPU VM deployment.
Cluster reordering is based on the number of unique host tags in a cluster,
cluster with most number of unique host tags will put at the end of list.
Hosts with GPU capability will get tagged with implicit tags defined by
global config param 'implicit.host.tags' at the time os host discovery.

Also added FirstFitPlannerTest unit test file.
2014-10-07 16:49:38 +05:30
Santhosh Edukulla 45597766a5 Fixed few coverity issues 2014-10-07 12:19:39 +05:30
Anthony Xu 3201251256 ccp should not check public ip resource when deploy a vm on shared network 2014-10-02 16:03:34 -07:00
amoghvk 0ef6cd36c4 Revert "CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect"
This reverts commit 39fe766c2b.
2014-10-02 13:28:52 -07:00
Sanjay Tripathi 39fe766c2b CLOUDSTACK-6650: Reorder Cluster list in deployment planner to protect
GPU enabled hosts from non-GPU VM deployment.
Cluster reordering is based on the number of unique host tags in a cluster,
cluster with most number of unique host tags will put at the end of list.
Hosts with GPU capability will get tagged with implicit tags defined by
global config param 'implicit.host.tags' at the time os host discovery.

Also added FirstFitPlannerTest unit test file.
2014-10-01 17:25:41 +05:30
Likitha Shetty bca71ec169 CLOUDSTACK-6969. Data Volume Shrink operation failing with "Unexpected Exception". 2014-10-01 15:41:50 +05:30
Kishan Kavala ce5c35b193 For network stats aggregation job, get the most recent mgmt server id to do the aggregation. Set dao filter to descending. 2014-10-01 14:24:50 +05:30
Anthony Xu 847e1e47ae when system VM ping times out, stop system VM 2014-09-30 12:35:44 -07:00
Jayapal 1d01ee3a60 CLOUDSTACK-7615: Update log msg to print error msg rather than exception 2014-09-29 17:15:42 +05:30
Devdeep Singh ec1123aca1 CLOUDSTACK-7495. Volume resize is only supported on kvm, vmware and xenserver. If
the operation is tried on other hypervisors it fails but logs a stack trace. We
should just log a message that the operation isn't supported.
2014-09-26 13:15:31 +05:30
Rohit Yadav f74446a195 CID-1192810: Remove useless control flow
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-25 17:02:13 +02:00
Rohit Yadav 92858afd55 CID-1192822: ids is a List<Long>, the cast to List<?> is removed
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-25 16:59:47 +02:00
Rohit Yadav 59482b3eba CID-1211005: Fix comparison, Class<?> is always instance of Class
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-25 16:52:09 +02:00
Rohit Yadav 60e492aeb9 CID-1223274: Remove dead local storage code from VolumeApiServiceImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-25 16:43:48 +02:00
Harikrishna Patnala c55bc0b2d1 CLOUDSTACK-7534: ResetVM for VM with attached datadisk fails when enable.ha.storage.migration is false
Separate global config to enable/disable Storage Migration during normal deployment
Introduced a configuration parameter named enable.storage.migration
2014-09-24 16:35:23 +05:30
Hugo Trippaers 3a5401f8f9 Merge branch 'bugfix/CID-1240106' 2014-09-24 09:07:20 +02:00
Sheng Yang aaeadc5c44 CLOUDSTACK-7605: Fix basic zone multiple pod network restart with cleanup=true
1. getRouters() doesn't handle RestartNetwork with cleanup=true for basic zone,
because pod wouldn't be specific at the time.

2. The regression caused by the following fix. The variable "routers" was
overrided with some local values, result in only one of the routers in multiple
pods would return, thus only one router would be started.

commit 6dd5c3fd42
Author: Rohit Yadav <bhaisaab@apache.org>
Date: Thu Oct 11 18:30:00 2012 +0530
CLOUDSTACK-70: Improve restart network behaviour for basic network
2014-09-23 14:17:42 -07:00
Hugo Trippaers 9ead2046d4 CID-1240106 Remove unused variable 2014-09-23 11:02:40 +02:00
Koushik Das a6ee4112a5 CLOUDSTACK-7595: Config parameters "job.expire.minutes" and "job.cancel.threshold.minutes" incorrectly getting multiplied by a factor of 60
Removed the unnecessary multiply factor for both the config parameters. Also removed the duplicate entries from Config.java as these are not required
2014-09-22 16:45:37 +05:30
Nitin Mehta 082aed3d33 CLOUDSTACK-7588: [Vmware] Creating templates (with same names) from volumes get deleted from CS. Fix it by changing the unique name generation to the standard one used by registertemplate. Also cleaned up vmtemplatevo which had too many constructors. 2014-09-19 13:40:17 -07:00
Hugo Trippaers 2df41e857e CID-1114592 Replaced duplicate code with a call to super 2014-09-19 14:47:13 +02:00
Hugo Trippaers 9cfab9b815 CID-1114591 Replace duplicated functionality with a call to super like the other state classes 2014-09-19 14:42:20 +02:00
Hugo Trippaers cf4ff03c90 CID-1191682 Fix missing break statement 2014-09-19 08:28:42 +02:00
Frank Zhang b11e3bc60a CLOUDSTACK-6278
Baremetal Advanced Networking support
2014-09-18 16:54:37 -07:00
Frank Zhang bc2ec23d09 CLOUDSTACK-6278
Baremetal Advanced Networking support
2014-09-18 16:54:37 -07:00
Koushik Das 4e07dd1dc4 CLOUDSTACK-7581: Empty 'ID' parameters allowed in API calls
Fix is to fail API calls with empty 'id' parameter value upfront rather than going ahead and failing with NPE later on
2014-09-18 17:10:25 +05:30
Daan Hoogland dec9133dcd CLOUDSTACK-7184: xenheartbeat gets passed timeout and interval
(cherry picked from commit 4d065b9a3a)

Conflicts:
	plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/discoverer/XcpServerDiscoverer.java
	plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
	server/src/com/cloud/configuration/Config.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/resource/DiscovererBase.java
2014-09-18 12:51:10 +02:00
Rohit Yadav bfa36c0280 CID-1233090, CID-1233089: Synchronize on session object in ApiServer
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-18 11:26:20 +02:00
Rohit Yadav 190bd38026 server: remove unused imports that failed build in last run
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-17 16:53:32 +02:00
Rohit Yadav 369b5b439b CID-1192812: Remove dead code from DataCenterJoinDaoImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-17 16:29:03 +02:00
Rohit Yadav bfd8af0751 CID-1192811: Remove dead local store from VolumeJoinDaoImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-17 16:27:41 +02:00
Rohit Yadav c27dd6293e CID-1233085: Fix potential NPE in AccountManagerImpl from VpcManagerImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-17 15:56:03 +02:00
Rohit Yadav a5004e37ad CID-1233084: Fix NPE in persisting volume in VolumeApiServiceImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-17 10:39:53 +02:00
Rohit Yadav bdee5e3734 CID-1233086: Fix potential NPE blowup in UserVmManagerImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-17 10:32:23 +02:00
Anthony Xu cb45133799 for windows guest OS, configure gateway for each nic 2014-09-16 14:33:22 -07:00
Rohit Yadav a1e8d5eefb CID-1233087: In case of no virtual routers, fail early
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-16 17:27:32 +02:00
Rohit Yadav fbbd2f8932 CID-1233088: In case there is no GSLB SP, throw cloud exception
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-16 17:17:11 +02:00
Anthony Xu 15a3bb318f When deploying a VM with startvm=false, the root volume is in Allocated state, the root volume is not created in primary storage yet.
need to handle restoreVM for VM which is above status.
2014-09-15 18:49:15 -07:00
Nitin Mehta 0a4ab3251a CLOUDSTACK-7513: listServiceOfferings API when called with VM's id also returns offerings to which it cant be upgraded. Adding the logic that when vmid is passed it looks for compatible offerngs using the storage type (local/shares), storage tags and also compute (cpu,speed, memory) in case the vm is running.
Also changed the scaleVm API to upgrade only when the destination offering has storage tags as a subset of current offering tags.
2014-09-15 11:02:34 -07:00
Saksham Srivastava 8c671c49b3 CLOUDSTACK-7548:removeNICFromVM should check for networkId while checking for PF rules on the nic 2014-09-15 19:15:09 +05:30
Devdeep Singh 283666b038 Password is logged in api server logs while creating a storage pool and while
adding an image store of type SMB. Cleaning the message before logging.
2014-09-12 14:31:17 +05:30
Frank Zhang 7a555b398f CLOUDSTACK-7523
java.lang.NullPointerException when listing accounts
2014-09-10 14:43:41 -07:00
Frank Zhang e06fa18ed2 CLOUDSTACK-6278
Baremetal Advanced Networking support
2014-09-10 14:43:41 -07:00
Ilia Shakitko 70142c4acb Added "usageid" parameter to the "listUsageRecords" API call. Can be used only together with "type" parameter specified
Signed-off-by: Ilia Shakitko <i.shakitko@tech.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-10 12:19:34 +02:00
Rohit Yadav 91fd8d7cd5 CLOUDSTACK-7528: More verbose logging when sending alert fails
When sendAlert is called on an AlertManager impl, if it fails it logs that
something was wrong but does not log the body of the issue/error. This means
we tell the user/admin that there was an issue but don't share the "issue"
with them at all as the email alert fail (or that they were not initialized).

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 885c02dbd8)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	server/src/com/cloud/alert/AlertManagerImpl.java
	usage/src/com/cloud/usage/UsageAlertManagerImpl.java
2014-09-10 11:38:47 +02:00
Kishan Kavala c773754fda CLOUDSTACK-7504,CLOUDSTACK-7507: For LXC host maintenance, migrate system Vms and schedule restart of users Vms 2014-09-08 18:13:11 +05:30
Frank.Zhang 10544e287b CLOUDSTACK-6278
Baremetal Advanced Networking support
2014-09-05 16:28:34 -07:00
Frank Zhang 197332464f CLOUDSTACK-6278
Baremetal Advanced Networking support
2014-09-05 16:28:33 -07:00
Nitin Mehta f9d7a12a57 CLOUDSTACK-7481: Assertion/exception in listVolumes call from UI with assert enabled
searchForVolumesInternal() indicated some inconsistency in the use of entity().isDisplayVolume() property – used twice as “display” and “displayVolume” in search criteria. And then exception/assert happens while setting the property.
Correcting the issue.
2014-09-05 11:35:11 -07:00
Will Stevens b145a7d140 null deref when no project found 2014-09-05 10:06:25 -04:00
Harikrishna Patnala 5d389b1a71 CLOUDSTACK-5992: default values of configuraiton parameters in configuration table are set NULL on fresh setup Some configuration parameters have Component names different from fresh and upgrade setup
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
2014-09-05 14:59:33 +05:30
Edison Su ce82ab605d listhost api needs to return host_details table 2014-09-04 17:57:24 -07:00
Will Stevens 0fa0320860 CLOUDSTACK-7418 and CLOUDSTACK-7488 - Fixed LB removal if cert is associated 2014-09-04 14:11:21 -04:00
Will Stevens cacbc80ab1 Merge branch 'origin/CLOUDSTACK-7468' 2014-09-04 14:08:07 -04:00
Will Stevens 18653f6cd6 CLOUDSTACK-7418 and CLOUDSTACK-7488 - Fixed LB removal if cert is applied 2014-09-04 13:02:12 -04:00
Kishan Kavala 6f7c4863a2 CLOUDSTACK-7473: Vm migration is not supported for LXC. When host is put in maintenance mode, stop the Vms instead of migrating 2014-09-04 20:59:19 +05:30
Fred Clift 355eb72c7d make virtual router /latest/.htaccess file be static - no longer dynamically generate it, remove code that managed the file previously
Signed-off-by: Sebastien Goasguen <runseb@gmail.com>
2014-09-04 04:22:27 -04:00
Mike Tutkowski 1d2f3300ad Adding support for SolidFire snapshots 2014-09-03 20:09:00 -06:00
Will Stevens 5d11385c31 CLOUDSTACK-7468: Fixed the NetScaler SSL Termination behavior with Projects
Signed-off-by: Will Stevens <wstevens@cloudops.com>
2014-09-03 10:07:19 -04:00
Min Chen 5f7b4dbbb2 CLOUDSTACK-7471:Regular user is allowed to deleteNetwork/RestartNetwork
that does not belong to him.He is also able to deploy Vm for other
users.
2014-09-02 17:24:08 -07:00
Mike Tutkowski ba41f230e1 CLOUDSTACK-7467 (this part of the ticket is related to augmenting an error message) 2014-09-02 12:51:01 -06:00
Kishan Kavala f44be742f8 CLOUDSTACK-7447: Send modify storage pool command on host connect to LXC hosts 2014-09-01 12:39:05 +05:30
Rohit Yadav 33a249e77a CLOUDSTACK-7455: Fix possible case for NPE
NPE can happen if Spring fails to inject api authenticator, so better check
and set list of commands if the authenticator is not null or returning null cmds

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-31 14:42:18 +02:00
Mike Tutkowski de6a3112b6 Update to volume-resize logic 2014-08-28 23:19:04 -06:00
Rohit Yadav 6eae9b8596 saml: disable plugin by default and don't initiate if not enabled
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:49:48 +02:00
Rohit Yadav 249446dc52 server: add config to enable/disable SAML SSO/SLO plugin
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:27 +02:00
Rohit Yadav b0f3d66f9d Config: add config for saml user account, domain and redirected URL to ACS UI
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:25 +02:00
Rohit Yadav 47ccce85a1 api: add method to pass on api authenticators to cmd classes
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:24 +02:00
Rohit Yadav 0444bfb653 server: Add IDP entity ID config param
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:24 +02:00
Rohit Yadav 5d94fd5be5 server: Add SAML related config params in Config
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:23 +02:00
Rohit Yadav 37d696db80 ApiServer: Fix imports order, use org.apache.cloudstack.api.ApiServerService
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:23 +02:00
Rohit Yadav 591a686d77 server: fix server package after auth plugin refactor
- Have opensaml dependency to get version from root pom
- add com.cloud.api.auth.APIAuthenticationManagerImpl to spring ctx manager
- Fix getCommands() in APIAuthenticationManagerImpl
- Fix imports in resources, test and src classes

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:23 +02:00
Rohit Yadav 68e094ebaf saml: move refactor files from server to api module
- Move interfaces and classes from server to api module
- This can be then used for pluggable api authenticators

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:22 +02:00
Rohit Yadav a364054db6 Minor fixes
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:21 +02:00
Rohit Yadav 2464e02bf4 SAML2LoginAPIAuthenticatorCmd: Set all necessary cookies and redirect to UI
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:21 +02:00
Rohit Yadav 2694ad7bd9 ApiServlet: Fix NPE while inserting to auditTrail
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:21 +02:00
Rohit Yadav a1dc9e8189 SAML2LoginAPIAuthenticatorCmd: Implement SAML SSO using HTTP Redirect binding
- Creates SAMLRequest and uses HTTP redirect binding (uses GET/302)
- Redirects to IdP for auth
- On successful auth, check for assertion
- Tries to get attributes based on standard LDAP attribute names
- Next, gets user using EntityManager, if not found creates one with NameID as UUID
- Finally tries to log in and redirect

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:21 +02:00
Rohit Yadav 9c7204d386 DefaultLoginAPIAuthenticatorCmd: move createLoginResponse to ApiServer
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:21 +02:00
Rohit Yadav 1a3813a342 ApiServer: change loginUser method signature to return ResponseObject
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:20 +02:00
Rohit Yadav b82207e081 SAML: WIP redirections work now
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:20 +02:00
Rohit Yadav df95a762f4 SAML2: add saml sso and slo apicmds skeleton, add classes to AuthManager
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-28 19:45:20 +02:00
Saksham Srivastava d9531fb0de CLOUDSTACK-7453: Network rate field specified with negative value in service offering results in db Exception 2014-08-28 16:01:11 +05:30
Saksham Srivastava 490d499b7f CLOUDSTACK-7453: Network rate field specified with negative value in service offering results in db Exception 2014-08-28 15:28:00 +05:30
Kishan Kavala 55983d47c0 CLOUDSTACK-7400: Allow migration of systemVms in LXC. USer Vms cannot be migrated 2014-08-27 13:05:04 +05:30
Kishan Kavala 08dc5c6f91 CLOUDSTACK-7428: Allow LXC cluster in SG enabled zones. Use lxc driver in security_group.py script for lxc host 2014-08-27 11:52:59 +05:30
Saksham Srivastava 9fb2a760c6 CLOUDSTACK-300: Creation of compute offering allow combination of local storage + HA 2014-08-26 14:48:51 +05:30
Jayapal 384025f258 CLOUDSTACK-7218: Remvoing all static nat associated with vm in case of secondary ips
In vm secondary ips case static nat configured to vm primary/secondary ips
IP1-->vm1Ip1, IP2-->vm1Ip2
While destroying vm deleting all static nats associated with the vm
2014-08-26 14:29:23 +05:30
Rohit Yadav d71c19f91c ApiXmlDocWriter: add more search name spaces to find APIs
Whenever a new API command is added to CloudStack, if developers are not using
the recommended namespace of org.apache.cloudstack.api.* they should add their
custom namespace/package here. ApiXmlDocWriter uses ReflectUtils to find APIs
within these packages (which must be also available in cloud-client).

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-25 18:16:28 +02:00
Likitha Shetty 433ec7c856 Fixed few issues reproted by coverity. 2014-08-25 16:11:58 +05:30
Mike Tutkowski 3773ff060e Update to volume-resize logic 2014-08-21 20:18:20 -06:00
Min Chen 1436ce62b6 CLOUDSTACK-7394:Caller should be owner after creating template from
snapshot/volume.
2014-08-21 17:16:13 -07:00
Santhosh Edukulla 19ffc93e2e Fixed few coverity reported issues:Aug22 2014 2014-08-21 17:09:27 +05:30
Rohit Yadav e3b3a18aef ConfigurationManagerImpl: Fix NPE when trying to access method on null object
Before checking obj.length, the fix is to check that the obj is not null

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-21 11:34:44 +02:00
Bharat Kumar cab2b12d7d CLOUDSTACK-7155 Re-copying templates to other zones doesn't work 2014-08-21 09:50:54 +05:30
Mike Tutkowski ffa4d73290 Update to volume-resize logic 2014-08-20 13:18:33 -06:00
Harikrishna Patnala 8d0817860f CLOUDSTACK-7337: Volume state remains in allocated after volume creation faliure from snapshot Volume should be marked to Destroy state after creation faliure.
Signed-off-by: Koushik Das <koushik@apache.org>
2014-08-20 17:39:53 +05:30
Wei Zhou 880bff28e0 CLOUDSTACK-7362: fix wrong uuid issue for resource tags
(cherry picked from commit 838a1a8476)
2014-08-18 16:17:36 +02:00
Wei Zhou b035a444c6 CLOUDSTACK-7308: add tags to all security group rules
(cherry picked from commit ae1b87ca23)
2014-08-18 16:17:28 +02:00
seif 59ea2e2960 Added the listHostTags API command 2014-08-17 20:38:46 -06:00
Stephen Hoogendijk 6978c18c3a CLOUDSTACK-7308 - Adds tagging support for security group rules 2014-08-15 09:39:53 +02:00
Girish Chaudhari adf7de9a95 CLOUDSTACK-5663 : Added the NULL CIDR check to avoid NPE for createNetwork and listNetwork
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-08-14 10:34:45 +02:00
Min Chen fee2bfce49 CLOUDSTACK-7344:VOLUME.DELETE usage event missing for VM's in ERROR
state.
2014-08-13 22:15:47 -07:00
Rohit Yadav 31fbb20648 ApiXmlDocWriter: Don't hardcode around login api or skip it based on key name
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-13 14:05:18 +02:00
Luis Henrique Okama cb9319d3d8 bugfix CLOUDSTACK-7309 using findProjectByProjectAccountIdIncludingRemoved
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-13 00:07:25 +02:00
Min Chen e3564658be CLOUDSTACK-6940, CLOUDSTACK-7312, CLOUDSTACK-5512: Template/ISO/Volume
upload rejects some valid URL formats. Also consolidate URL format check
into one util routine.
2014-08-12 11:43:08 -07:00
Min Chen 83bd4d60f1 Revert "CLOUDSTACK-7312:ISOs cannot be downloaded from URLs without matching"
This reverts commit 737f76df8c.
2014-08-12 11:43:08 -07:00
Min Chen a8316de725 Revert "CLOUDSTACK-6940:Templates cannot be downloaded from URLs without"
This reverts commit 569e94908b.
2014-08-12 11:43:08 -07:00
Harikrishna Patnala 6568e0bb31 CLOUDSTACK-7305: hypervisor type parameter is mandatory when deploying VM using ISO
Signed-off-by: Koushik Das <koushik@apache.org>
2014-08-12 16:27:48 +05:30
Rohit Yadav ae207bea98 DefaultLoginAPIAuthenticatorCmd: return userId as UUID
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:32 +02:00
Rohit Yadav 384acffff4 ApiServer: take UTF_8 and other static vars from HttpUtils
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:32 +02:00
Rohit Yadav 3cc6efce04 ApiServlet: use HttpUtils instead of class specific implementation
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:32 +02:00
Rohit Yadav 983252cffd ApiResponseSerializer: Use HttpUtils instead of BaseCmd
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:32 +02:00
Rohit Yadav 224dc9f8e5 APIAuthenticator: refactor signature of APIAuthenticator interface's authenticate
Pass HttpServletResponse as it can be useful for authenticators which need to
have their own writer interface/method

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:31 +02:00
Rohit Yadav 6ec1a1b604 ApiServlet: move setting of response type up in the layer
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:31 +02:00
Rohit Yadav 7434f1bd33 ApiXmlDocWriter: get rid of hardcoded login/logout docs
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:31 +02:00
Rohit Yadav ee57f47e29 ApiServlet: use the new and refactored authentication mechanism
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:31 +02:00
Rohit Yadav 2e5bbc9a0d ApiXmlDocWriter: remove hardcoded login and logout apis
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:31 +02:00
Rohit Yadav b587291d55 ApiResponseSerializer: Skip extra boxing for Auth responses
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:30 +02:00
Rohit Yadav bd2898e491 APIAuthenticationManagerImpl: add the auth manager and bean entry in spring xmls
- This implements ManageBase, is a pluggable service
- Has a mechanism to return commands, useful for apidocs etc.
- Has a method to return APIAuthenticator based on API command name

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:30 +02:00
Rohit Yadav f7821ecf09 DefaultLoginAPIAuthenticatorCmd: Refactor and implement the default login mechanism
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:30 +02:00
Rohit Yadav 1330559b8d DefaultLogoutAPIAuthenticatorCmd: Refactor and implement the logout mechanism
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:30 +02:00
Rohit Yadav ac3adfeca7 APIAuthenticationManager: Add Auth manager definition
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:30 +02:00
Rohit Yadav 4d3fbc54ad APIAuthenticationType: Add auth enum type, login or logout
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:30 +02:00
Rohit Yadav 31722c2674 APIAuthenticator: Add interface definition for the auth mechanisms
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-12 12:01:29 +02:00
Min Chen 737f76df8c CLOUDSTACK-7312:ISOs cannot be downloaded from URLs without matching
file extensions.
2014-08-11 15:00:32 -07:00
amoghvk d1d722f9bd CLOUDSTACK-7295: VMs is Stopped state have no host ID, resulting in NPE 2014-08-11 14:56:58 -07:00
Alena Prokharchyk 97efbc56e4 CLOUDSTACK-7283: listUsers - for regular user, only return the caller info. If there are more users under the same account, their information should never be returned 2014-08-11 13:51:11 -07:00
Rajani Karuturi 736ff5f8e5 Fixed CLOUDSTACK-7303 [LDAP] while importing ldap users, update the user info if it already exists in cloudstack 2014-08-11 17:54:31 +05:30
Santhosh Edukulla fd96ad02d7 Fixed few coverity reported issues around concurrency, null checks 2014-08-11 16:55:23 +05:30
Santhosh Edukulla f9e11540c7 Fixed few coverity issues 2014-08-11 16:02:19 +05:30
Alena Prokharchyk 354756219c CLOUDSTACK-6486: Guest network guru - when add network, validate isolation method in case insensitive manner 2014-08-08 17:08:13 -07:00
Min Chen d33278250d CLOUDSTACK-7264:NPE while creating scheduled/recurring snapshots for the
removed account with cleanup_needed=1.
2014-08-08 09:42:55 -07:00
seif 67ca2557f9 Changes for a new API command to list the storage tags 2014-08-07 17:46:06 -06:00
Alena Prokharchyk 6d1482b97b CLOUDSTACK-7283: listUsers API is available for regular users now 2014-08-07 14:01:58 -07:00
Nitin Mehta f424a04b0c CLOUDSTACK-7272: Router stop fails with NPE. Fixing it by making the hostId as Long object than native type long. The issue was the response was checking for getHostId() != null to populate attribute hypervisor. But since the hostId is declared as long it will never be null, resulting in the NPE when populating hypervisor. Fixed that 2014-08-06 18:06:33 -07:00
Santhosh Edukulla dda2820552 Fixed Coverity reported type issues 2014-08-06 15:27:00 +05:30
Nitin Mehta b9d834e838 CLOUDSTACK-4200: listSystemVMs API and listRouters API should return hypervisor property since dynamic scaling is not enabled for all the hypervisors and that action can be showed only for the hypervisors that support it. 2014-08-05 17:29:34 -07:00
Anthony Xu 129437c636 added more log 2014-08-05 16:41:38 -07:00
Ilia Shakitko 07f916dfc6 CLOUDSTACK-7159 Added "state" parameter to the "listPublicIpAddresses" API call
Signed-off-by: Ilia Shakitko <i.shakitko@tech.leaseweb.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-05 18:13:38 +02:00
namita.chaudhari fce2880b9f CLOUDSTACK-2694: Able to configure duplicate firewall rule with protocol and no ports
Signed-off-by: Jayapal <jayapal@apache.org>
2014-08-05 17:57:54 +05:30
Damodar 221c118b4f CLOUDSTACK-7245: listIsos call does not return isdynamicallyscalable in the response attributes as mentioned in API docs. 2014-08-05 16:06:01 +05:30
Nitin Mehta 835ca8eea8 CLOUDSTACK-7018: Restore VM - missing destroyed usage event for the destroyed root volume. Also removed the resource count logic since we destroy the old root volume and create a new one. 2014-08-04 16:40:28 -07:00
Min Chen 8a21633050 CLOUDSTACK-7239:Wrong message thrown on Primary Storage addition failure
in some cases.
2014-08-04 16:04:38 -07:00
Frank.Zhang 1ee7e0c77e CLOUDSTACK-6278
Baremetal Advanced Networking support
2014-08-04 15:00:44 -07:00
Frank.Zhang 44dff6c426 CLOUDSTACK-6278
Baremetal Advanced Networking support
2014-08-04 15:00:44 -07:00
Alena Prokharchyk 05d056bb90 CLOUDSTACK-7194: deployVm Api, "hypervisor" parameter:
* is respected only when vm is deployed from ISO, or hypervisorType is not set on the template record
* if parameter passed when vm is deployed from template having hypervisor info set, validate that these 2 parameters are the same instead of silently defaulting the final value to the one set on the template
2014-08-04 14:21:52 -07:00
Santhosh Edukulla b7d3f1bd30 Fixed few coverity issues for resource synchronization 2014-08-04 16:09:26 +05:30
Edison Su 29f711e0a9 remove unused servlet 2014-08-01 16:55:35 -07:00
Alena Prokharchyk ffeca8bbd2 CLOUDSTACK-7209: handle the case when network fails to implement NoTransitionException, and null is returned to the caller stack. All caller methods should verify if the return value is null before processing it further. 2014-08-01 09:47:28 -07:00
Likitha Shetty f803100813 CLOUDSTACK-6969. Data Volume Shrink operation failing with "Unexpected Exception".
For ResizeVolume API command -
1. If hypervisor resource throws an exception, handle the NPE thrown by the job framework.
2. Improve user error message in case of RuntimeException by throwing the exception instead of 'Unexpected Exception'.
2014-08-01 16:23:47 +05:30
Santhosh Edukulla 92c70f03e0 Fixed Coverity Issues 2014-08-01 16:16:12 +05:30
Jayapal d28da9d986 CLOUDSTACK-7212: Failed creating LB rule on public port 8081 for VR as LB provider 2014-08-01 15:54:17 +05:30
Anthony Xu 5fb03aec9b check if admin user exists 2014-07-31 13:44:58 -07:00
Rohit Yadav 89fabe82b9 CLOUDSTACK-7211: Add Guest OS mapping before returning VirtualMachineTO object
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-07-31 19:03:51 +02:00
Santhosh Edukulla b371356abc Fixed coverity issues reported 2014-07-31 21:19:57 +05:30
Mike Tutkowski b919da8a5c CLOUDSTACK-7173 2014-07-30 19:27:45 -06:00
Alena Prokharchyk 89017a7d7b CS-19072: got rid of unneeded type casting when apply pagination to different resources 2014-07-30 10:33:45 -07:00
Santhosh Edukulla dc2346147b Fixed few coverity issues reported 2014-07-30 17:06:35 +05:30
Devdeep Singh 96b5c08250 CLOUDSTACK-7136. While listing hosts for migration, the offering details were
not correctly initialized in the vmprofile. With a custom offering the cpu,
cpu-speed and memory were getting initialized to null which caused a NPE in
the allocator. Fixed it by explicitly initializing the offering details in the
vm profile before calling into the allocator for listing suitable hosts.
2014-07-30 16:32:10 +05:30
Devdeep Singh fc14fe1132 CLOUDSTACK-7201. Before initating out live volume migration to a pool check that if the
destination pool is a cluster wide pool, it should be in the same cluster as the vm to
which the volume is attached.
2014-07-30 13:01:29 +05:30
Rajani Karuturi 5fa2d1c7ca Fixed Bug: CLOUDSTACK-7200 [LDAP] importUsersCmd for a group fails incase any member of a group is not an user 2014-07-30 12:02:24 +05:30
Anthony Xu fefb0028fe HA VM with local storage works 2014-07-29 16:31:33 -07:00
Alena Prokharchyk 3d34a136a6 CLOUDSTACK-6168: fixed the description for global config "vm.instancename.flag" - the flag is applicable for VMware hypervisor only 2014-07-29 11:15:37 -07:00
Alena Prokharchyk 477f91327c CS-19072: fixed broken pagination and count in listVpcs 2014-07-28 15:26:02 -07:00
Alena Prokharchyk fa74b3a300 CS-19072: fixed broken pagination and count in listVpcOfferings 2014-07-28 14:44:12 -07:00
Alena Prokharchyk 8b98cc2202 CS-19072: fixed broken pagination and count in listNetworkOfferings 2014-07-28 14:44:04 -07:00
Alena Prokharchyk ca8d3672e8 listNetworks: moved pagination post processing to StringUtils class 2014-07-28 14:43:55 -07:00
Anthony Xu 330c4ba578 completed the new vmsync TODOs in the code.
removed old vmsync logic
2014-07-28 12:51:37 -07:00
Min Chen a216046191 CLOUDSTACK-7165:[Automation] NPE observed during restart and expunge VM. 2014-07-25 15:51:47 -07:00
Santhosh Edukulla 343943fd4e Fixed Coverity Issues Reported 2014-07-25 16:45:16 +05:30
Santhosh Edukulla 5ee9a3cc8a Fixed Coverity Issues Reported 2014-07-25 16:44:18 +05:30
Santhosh Edukulla deeb754bfa Fixed Coverity Issues Reported 2014-07-25 16:42:14 +05:30
Santhosh Edukulla 16b1746111 Fixed Coverity Issues Reported 2014-07-25 16:40:43 +05:30
Rajesh Battala ea740aa0e1 fixed CLOUDSTACK-7090 Console proxy key store password should be securely generated 2014-07-25 14:20:52 +05:30
Kishan Kavala c61c636ce8 CLOUDSTACK-5946: Commit 2774b62d64 changed keystore file along with coverity fixes. Use varible name for keystore filename to keep it in sync 2014-07-25 14:07:46 +05:30
Nitin Mehta 2ed22b3ba7 CLOUDSTACK-5641: Local disk usage on host don't show up in the admin's webui. Correcting the view to include capacity type 9 which is local storage. Also changing the response to just pick the used bytes coming in through the view which now stands corrected.
Verified that the dashboard and storage pool view works fine.
2014-07-24 17:16:30 -07:00
Edison Su 2f832fddff CLOUDSTACK-7164: fix NPE 2014-07-24 17:01:23 -07:00
Edison Su 165618ac9a CLOUDSTACK-7166: fix NPE 2014-07-24 16:58:30 -07:00
Hugo Trippaers 1440a1c6a0 Fix CID 1114609 Log the correct number 2014-07-24 12:21:37 +02:00
Bharat Kumar da55aff64f CLOUDSTACK-7158 listCapacity API missing types for certain zones 2014-07-24 14:33:51 +05:30
Saksham Srivastava 0f85e649b6 CLOUDSTACK-5999: Virtual Router does not start if Guest VM is rebooted from CloudStack 2014-07-24 10:45:51 +05:30
Min Chen e6ead3176c CLOUDSTACK-7175:Domain Id is exposed in error message when cross domain
access is attempted when listing Vms.
2014-07-23 17:36:15 -07:00
Daan Hoogland 44be176486 rename networkMgr to networkMdl to prevent name clashes in mocks of
VirtualRouterElement and VirtualNetworkApplianceManagerImpl
2014-07-23 21:19:31 +02:00
amoghvk c804660c74 CLOUDSTACK-7168: Revert "Fixed Coverity Issues reported" that broke CI
This reverts commit 4523490d44.
2014-07-23 11:37:36 -07:00
Damodar c43b56998a CLOUDSTACK-7153: addNicToVirtualMachine not BaseAsyncCreate but creates an entity 2014-07-23 09:28:32 +05:30
Santhosh Edukulla 4523490d44 Fixed Coverity Issues reported
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-07-22 18:03:36 +05:30
Hugo Trippaers 4bf321bd03 Fix equality check using != on objects
Cleanup in the code, removing dead code
2014-07-22 13:14:26 +02:00
Hugo Trippaers 2833366415 Remove dead code 2014-07-22 13:12:47 +02:00
Likitha Shetty 493fd17054 CLOUDSTACK-7152. Attaching datadisk to VMs that have VM snapshot throws 'Unexpected exception'.
Like with other API commands, ensure input parameter validation for AttachVolume happens outside the job queue.
2014-07-22 15:13:37 +05:30
Nitin Mehta 77dadd75c4 CLOUDSTACK-6787: Publishing uuids missing in some cases, adding/correcting events in some cases.
Also fixed a bug in the global config framework.
2014-07-21 14:08:18 -07:00
Murali Reddy 9dc322d46f CLOUDSTACK-7144: No GSLB provider is available during assigning load
balancing rule

this fix ensures any bean implementing GslbProvider interface are injected
into GlobalLoadBalancingRulesServiceImpl.
2014-07-21 16:50:21 +05:30
Suresh Ramamurthy 03de9cc335 CLOUDSTACK-6845 : NuageVsp Network plugin
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
2014-07-21 10:49:49 +02:00
Rajani Karuturi 8b2efee61c Fixed coverity reported issues in UserVmManagerImpl 2014-07-21 08:24:23 +05:30
Ian Duffy 8716376b4a remove unused import 2014-07-20 18:15:52 +01:00
Ian Duffy d4428a93a8 Allow for length of password on VMs to be set via global settings
Conflicts:
        server/src/com/cloud/vm/UserVmManagerImpl.java
        setup/db/db/schema-430to440.sql
2014-07-20 18:14:55 +01:00
Mike Tutkowski 08d7b46be7 Update to volume-resize logic 2014-07-19 00:42:04 -06:00
Edison Su 1bb3ea8b7a CLOUDSTACK-6918: iterate through pending works in cancel maitenance 2014-07-18 15:39:30 -07:00
amoghvk cfcc4a076d CLOUDSTACK-6358: KVM mappings for CentOS 6.x and RHEL 6.x 2014-07-18 15:10:10 -07:00
Murali Reddy 2f293f42d5 CLOUDSTACK-7129: Non-admin user can use deleteNetwork with shared
networks

fix ensures only admin users can delete shared network
2014-07-18 17:52:09 +05:30
Harikrishna Patnala 0069037573 CLOUDSTACK-7113: Ability to reset password when Router VM is stopped
With this improvement password reset also happens when router is in stopped state on resetPasswordCmd and restoreVM
2014-07-18 14:37:44 +05:30
Mike Tutkowski b080eaf327 Updates to the way resizing a volume works 2014-07-17 21:09:19 -06:00
Saksham Srivastava d382be9578 CLOUDSTACK-6508: impossible to list projects from API with domainid set 2014-07-17 14:26:25 +05:30
Likitha Shetty d3e7b43ee9 CLOUDSTACK-7119. [VMware] Don't allow VM reset when VM has snapshots. 2014-07-17 13:32:16 +05:30
Edison Su 771b53b342 CLOUDSTACK-4725: if storage pool has different path, but the uuid is the same, then treat them as the same storage pool 2014-07-16 16:38:17 -07:00
Hugo Trippaers b0d7e10aef Prevent a NPE when shutting down a network that did not have a vlan
assigned yet.
2014-07-16 16:57:12 +02:00
Hugo Trippaers dbc7d80329 Aggregate command cleanup is not required for the virtual router as we
already cleanup in the finish.

And consequently dies if somebody tries to test with assertions enabled.
2014-07-16 16:24:54 +02:00
amoghvk 3d8dd1c921 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/cloudstack 2014-07-14 17:30:12 -07:00
Amogh Vasekar c30821f703 CLOUDSTACK-6671: Missing patch in master 2014-07-14 17:00:08 -07:00
Amogh Vasekar 09069fcc87 CLOUDSTACK-6358: Add missing patches in master for KVM 2014-07-14 16:51:55 -07:00
Alena Prokharchyk 4f0640dac4 CLOUDSTACK-6595: allow to expunge the vm when its in Error state, in addition to Expunging/Destroyed states 2014-07-14 14:40:11 -07:00
Jayapal 778e04cb77 CLOUDSTACK-7104: perform ipassoc for ip when network is implemented after the gc 2014-07-14 19:50:36 +05:30
Alena Prokharchyk 63b81995f6 CLOUDSTACK-7100: update global config - trim leading and trailing whitespaces before global config value update 2014-07-11 16:02:51 -07:00
Alena Prokharchyk 7098367dc6 Fixed code causing warnings in ActionEventUtils 2014-07-11 14:59:39 -07:00
Likitha Shetty 00778de96e CLOUDSTACK-7099. Volume snapshot is not getting backed up.
Correctly inject ConfigDao into SnapshotStateListener.
2014-07-11 17:06:15 +05:30
Jayapal 73b622c823 CLOUDSTACK-7068: addIpToNicCmd changed to BaseAsyncCreate 2014-07-09 14:57:25 +05:30
Min Chen cc8fc746df CLOUDSTACK-6468:IAM - Templates - Admin user is not allowed to edit
template and set isExtractable() paramater.
(cherry picked from commit b6617843d2)

Signed-off-by: Nitin Mehta <nitin.mehta@citrix.com>
2014-07-08 14:20:45 -07:00
Alena Prokharchyk b517156fe3 CLOUDSTACK-7039: don't log exception stackTrace when catch sql exception on system/admin user/account insert 2014-07-07 16:45:23 -07:00
Frank.Zhang 65497b69c7 CLOUDSTACK-6278
Baremetal Advanced Networking support
2014-07-07 14:52:45 -07:00
Frank.Zhang 3ddc9e7674 CLOUDSTACK-6278
Baremetal Advanced Networking support
2014-07-07 11:40:21 -07:00
Santhosh Edukulla a600d8408e Fixed Resource Leaks, null dereferences, few other issues reported by coverity 2014-07-04 16:17:58 +05:30
Daan Hoogland b2d613f536 CLOUDSTACK-6242: catching all to allow continuation on configuration
error (CLOUDSTACK-7039 through CLOUDSTACK-7042)
2014-07-03 08:41:47 +02:00
Prachi Damle 48574f2d60 CLOUDSTACK-7047: DeploymentPlanner should include disabled resources only when the VM owner is Admin account
Changes:
- removing unused imports
2014-07-02 17:49:53 -07:00
Prachi Damle 9f68870a77 CLOUDSTACK-7047: DeploymentPlanner should include disabled resources only when the VM owner is Admin account
Changes:
-DeploymentPlanner should include disabled resources only when the VM owner is Admin account.
The disabled resources should be ignored when VM is owned by any other user.
2014-07-02 17:49:51 -07:00
Alena Prokharchyk 324b5d5a57 CLOUDSTACK-7045: save started/completed events for createPrivateGateway and createStaticRoute apis 2014-07-02 17:23:35 -07:00
Nitin Mehta 1f7a818440 CLOUDSTACK-7000: Fix bugs in ListSnapshotPolicy and updateSnapshotPolicy command
(cherry picked from commit 63c4f02897)
2014-07-02 13:13:51 -07:00
Kishan Kavala 421d6029db Remove cloud-server dependency for cloud-usage project 2014-07-02 15:28:42 +05:30
Santhosh Edukulla 97d296bfbd Fixed Coverity reported performance issues like inefficient string concatenations, wrong boxing or unboxing types, inefficent map element retrievals
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-07-01 22:06:25 +02:00
Jayapal f45c9f9d2f CLOUDSTACK-7027: Removing left over static nat rule 2014-07-01 15:16:35 +05:30
Nitin Mehta 0c9c5a71b4 CLOUDSTACK-4364: Restore VM - log a usage event for newly created volume 2014-06-30 14:41:37 -07:00
Mike Tutkowski afd48819a6 Fixing an issue introduced with Review Request 22717 2014-06-27 14:03:08 -06:00
Hugo Trippaers 190116c94c Fix CID 1223793 Use equals to test equality of values contained in
objects.
2014-06-27 15:15:29 +02:00
Sanjay Tripathi 28505c2729 CLOUDSTACK-6884: List Capacity API always returns GPU capacity also even if type is different. 2014-06-27 15:58:42 +05:30
Nitin Mehta 80ef915fd5 CLOUDSTACK-7000: ListSnapshotPolicy should list by policyid. Introduce updateSnapshotPolicy command
(cherry picked from commit fce21439fa)
2014-06-26 11:38:41 -07:00
Hugo Trippaers cd0ef09344 Fix typo and add the right exception to the error map. 2014-06-25 15:51:28 +02:00
Hugo Trippaers 49b0936a72 Fix several potential issues reported by coverity. 2014-06-25 15:51:28 +02:00
Daan Hoogland 17850c7aff CLOUDSTACK-6747: call a more forgiving test on the supplied peer
cidr-list
2014-06-25 15:45:28 +02:00
Mike Tutkowski 3d9eaf0753 Fixed some spacing issues from 4d6c682f18 2014-06-24 15:27:06 -06:00
punith-cloudbyte 4d6c682f18 supporting nfs protocol and resize feature for managed storage for xenserver
resize feature refactored

Signed-off-by: Mike Tutkowski <mike.tutkowski@solidfire.com>
2014-06-24 15:16:45 -06:00
Nitin Mehta cb5e8c591f CLOUDSTACK-6987: Add support for storing metadata for snapshot policy and controlling policy using display flag
(cherry picked from commit 5cf8edd7ec)
2014-06-24 14:07:39 -07:00
Mike Tutkowski c344693e48 Inform the applicable storage plug-in's life cycle that capacity (bytes and/or IOPS) can be updated 2014-06-24 14:39:57 -06:00
Daan Hoogland c79ab570b0 Revert "CLOUDSTACK-6967: Initial OVM3 drop"
This reverts commit 8a485b9b59.
2014-06-24 10:24:01 +02:00
Funs 8a485b9b59 CLOUDSTACK-6967: Initial OVM3 drop
Signed-off-by: Sebastien Goasguen <runseb@gmail.com>
(cherry picked from commit ed47763e25)

Conflicts:
	api/src/com/cloud/network/NetworkService.java
	api/src/org/apache/cloudstack/api/ApiConstants.java
	api/src/org/apache/cloudstack/api/command/admin/usage/AddTrafficTypeCmd.java
	engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotObject.java
	plugins/pom.xml
	server/src/com/cloud/network/NetworkServiceImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	ui/scripts/docs.js
2014-06-23 12:39:10 +02:00
Anshul Gangwar 6416de5770 CLOUDSTACK-6968: allowing cluster scope volumes to attach to any VM. If migration is
needed then first they will be migrated to appropriate cluster before attaching.
2014-06-23 12:15:10 +05:30
Santhosh Edukulla 1c80185170 Fixed Resource Leaks, null dereferences, invalid value comparisons, invalid result set loop
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-06-21 12:38:46 +02:00
Min Chen a97455b602 CLOUDSTACK-6971: createAutoScaleVmProfile failed with NPE due to lack of bean
injection.
2014-06-20 14:28:26 -07:00
Kelven Yang 60f4203cbc Protect event interpretion from causing NPE exception 2014-06-20 10:16:04 -07:00
Anshul Gangwar 450d890942 CLOUDSTACK-6830: Fixed during VM migration, volumes on zone wide primary store
requires storage migration resulting in failure of VM migration. This also improves
the hostsformigration api. Firstly we were trying to list all hosts and then
finding suitable storage pools for all volumes and then we were checking whether
vm migration requires storage migration to that host. Now the process is updated.
We are checking for only those volumes which are not in zone wide primary store.
We are verifying by comparing volumes->poolid->clusterid to host clusterid. If it
uses local or clusterids are different then verifying whether host has suitable
storage pools for the volume of the vm to be migrated too.
2014-06-20 16:32:19 +05:30
Murali Reddy 7e355de365 CLOUDSTACK-6750: [OVS] With stretched network deploying vm in a ovs
disabled zone does not fail

Fix ensures that connectivity service provider is enabled in the zone on
to which nework is being streched.
2014-06-19 16:06:56 +05:30
Jayapal cc98d44542 CLOUDSTACK-6922: Updated events for firewall ingress and egress 2014-06-19 15:06:56 +05:30
Jayapal 2be26e03af CLOUDSTACK-6923: updated listLBStickinessPolicies API to list using stickinesspolicy id 2014-06-19 15:05:22 +05:30
Kishan Kavala 89854de18d CLOUDSTACK-6931: Set hypervisor.type in agent.properties using cloudstack-setup -t option. Default is kvm. 2014-06-19 11:31:23 +05:30
Prachi Damle 05c01a7dc9 CLOUDSTACK-6941: Can't choose storage for the volume, when attaching uploaded data volume to VM
Changes:
- Only way to choose a certain storage pool is by using disk_offering_tags
- Added a parameter to take in a disk offering Id.
- Admin will have to create a custom sized disk offering and tag it as necessary for the user
- This custom offering Id should be passed during uploadVolume to associate the volume with this disk offering
2014-06-18 16:37:43 -07:00
Min Chen 569e94908b CLOUDSTACK-6940:Templates cannot be downloaded from URLs without
matching file extensions.
2014-06-18 16:13:49 -07:00
Kelven Yang f529823566 Add ReflectionUse annotation for marking up *un-used* methods 2014-06-17 17:31:29 -07:00
ynojima 5be7fa23b4 refactor unused code in storagePoolHasEnoughIops method 2014-06-17 14:48:57 -06:00
Alena Prokharchyk 09a97e1968 CLOUDSTACK-6919: don't attempt to restart user vms having no Root volume attached 2014-06-16 14:59:52 -07:00
Santhosh Edukulla f89100ed72 CLOUDSTACK-6793 : Added fix
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-06-16 17:11:14 +05:30
Hugo Trippaers 0c28f36ff1 Fix a number of resource leaks reported by Coverity 2014-06-13 14:42:35 +02:00
Alena Prokharchyk 887f027a9a CLOUDSTACK-6907: lisVolumes - make a decision whether to set service or disk offering in the response, based on the DiskOfferingVO type entry, not the volume Type 2014-06-12 16:25:04 -07:00
Saksham Srivastava 505a7127b8 CLOUDSTACK-6812: Do not allow edit of storage.overprovision.factor for non supported types 2014-06-12 17:26:06 +05:30
Jayapal 923c0cd89f CLOUDSTACK-6899: Added vmId in listnics response 2014-06-12 17:18:08 +05:30
Santhosh Edukulla 93c75c73a4 CLOUDSTACK-6791 Fixed the issue 2014-06-12 16:48:44 +05:30
Rajani Karuturi 2482da8cbf Fixed few coverity issues unused assignments, boxing and unboxing of values etc.
Signed-off-by: Koushik Das <koushik@apache.org>
2014-06-12 13:44:58 +05:30
Saksham Srivastava 41030e4e3e CLOUDSTACK-6654: Configkey parameters are not validated 2014-06-12 11:20:44 +05:30
Saksham Srivastava f2464e4182 CLOUDSTACK-6864: UploadSSlCert API requires double encoding of URL params 2014-06-12 10:35:47 +05:30
Nitin Mehta c2a0fb4e52 CLOUDSTACK-6895: 1. Populate firstclass entities as uuids in the context instead of dbids for performance.
2. Add ctxDetails in the ParamGenericValidationWorker to avoid warning for api validation
3. Add some missing events.
4. Correcting mapping for ResourceObjectType.NetworkACL and ResourceObjectType.NetworkACLItem
(cherry picked from commit 8a9092c3cd)
2014-06-11 15:24:56 -07:00
Harikrishna Patnala 522208dec2 CLOUDSTACK-6869: SSH Public key content is overridden by template's meta data when you create a instance 2014-06-11 17:00:32 +05:30
Olivier Lemasle a5902f1db4 CLOUDSTACK-6850: Return cpu cores, cpu speed and memory in listUsageRecords
Signed-off-by: Sebastien Goasguen <runseb@gmail.com>
2014-06-10 03:11:35 -04:00
Tim Mackey a8212d9ef4 Cleanup of Xen and XenServer terms. Cloned xen plugin creating a xenserver plugin, then removed xen plugin
Signed-off-by: Tim Mackey <tmackey@gmail.com>
Signed-off-by: Sebastien Goasguen <runseb@gmail.com>
2014-06-07 04:50:23 -04:00
Koushik Das d34419579e CLOUDSTACK-6843: [Automation] List listServiceOfferings api fails with NPE
Incorrect parameter name used in query building resulted in a bad sql query.
2014-06-05 13:57:38 +05:30
Hugo Trippaers a59db987f9 Fix CID-1219920 Dereference before null check 2014-06-03 16:39:32 +02:00
Rohit Yadav eb8e630f24 AlertGenerator: Fix NPE from CLOUDSTACK-3272
There was a commit 4b89a45e57 on master which was
added by "root@devcloud.apache.org" with no committer signature so I cannot tell
whom to reach. In the code it looks like they forgot to initialize the static
config dao variable which is causing NPE on master. The fix simply initializes
the s_configDao with injected configDao object.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2014-06-02 22:43:27 +05:30
Nitin Mehta 5393387bbd CLOUDSTACK-6599:
1. Adding the missing Template/Volume URLs expiration functionality
2. Improvement - While deleting the volume during expiration use rm -rf as vmware now contains directoy
3. Improvement - Use standard Answer so that the error gets logged in case deletion of expiration link didnt work fine.
4. Improvement - In case of domain change, expire the old urls
2014-05-30 10:48:42 -07:00
Hiroki Ohashi 3256e88623 Allow usaage reporting on removed service offering 2014-05-29 19:12:11 +02:00
Upendra Moturi e9af5f44ae CLOUDSTACK-6223. removeNicFromVirtualMachine fails if another instance in another domain has a nic with the same ip and a forwarding rule configured on it
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-05-29 10:18:41 +02:00
Marcus Sorensen 7ce3034299 CLOUDSTACK-6790: Disable PXE ROM for system vm nics 2014-05-27 16:52:26 -06:00
Nitin Mehta a8140ff58c CLOUDSTACK-6787: Event Bus - uuids missing in some cases due to various reasons 2014-05-27 15:07:38 -07:00
Marcus Sorensen 20a31b43d6 CLOUDSTACK-6784: Expose data types via API so consumers of API can validate data 2014-05-27 15:23:23 -06:00
Marcus Sorensen 96055058b0 CLOUDSTACK-6785: changed async job param injectedjobid to customjobid and check for unique/uuid 2014-05-27 15:23:12 -06:00
Marcus Sorensen 2a5bf65c78 CLOUDSTACK-6785: Allow async jobs to supply an injectedjobid 2014-05-27 15:23:02 -06:00
Rajani Karuturi ce6a53e37b Fixed CLOUDSTACK-6756: usage id is not being returned for an ip in deleted ip range
(cherry picked from commit a6ed48fc9c5f68b46f0d2e05adefc7263c4cd0d0)

Conflicts:
	setup/db/db/schema-430to440.sql
2014-05-27 10:41:40 +05:30
Daan Hoogland 16bf065a0d CLOUDSTACK-6485 prevent ipaddress asignment of gateway to gateway-interface on vpc router 2014-05-24 19:44:00 +02:00
Min Chen faa379b6c2 CLOUDSTACK-6752: IAM command class separation caused ApiDoc warning of
duplicated cmd class for the same api name.
2014-05-22 18:28:25 -07:00
Min Chen b259bccee7 CLOUDSTACK-6742: listVolumes - As regularuser , able to list Vms and
volumes of other users.
2014-05-22 18:28:00 -07:00
Min Chen ba848087f8 Disable IAM feature from 4.4 release. 2014-05-22 18:27:08 -07:00
Anthony Xu c0936fecbc fixed a typo 2014-05-22 15:47:28 -07:00
Anthony Xu df6ce24f43 if networkID is not specified, get one network with free ips. 2014-05-21 14:33:52 -07:00
Murali Reddy 17fe6cdda4 CLOUDSTACK-6721: VolumeApiServiceImpl is sending wrong type for
updateAsyncJobAttachment

fix sends 'Volume' instead of 'volume'

Conflicts:
	server/src/com/cloud/storage/VolumeApiServiceImpl.java
2014-05-20 17:13:20 +05:30
Murali Reddy 965346cad1 CLOUDSTACK-6712: NPE in findJobInstanceUuid() in ApiDBUtils 2014-05-20 10:26:12 +05:30
Nitin Mehta 667c8e7905 CLOUDSTACK-6699: listResouceDetails - enhance it to list by (key,value) pair - allowed to Admin only. 2014-05-18 23:21:37 -07:00
Sanjay Tripathi f789a03769 CLOUDSTACK-6678: API:MS: listCapacity returns; errorcode":530,"cserrorcode":9999,"errortext":"Index: 0, Size: 0"}. 2014-05-15 14:22:40 +05:30
Nitin Mehta afb31fa09f CLOUDSTACK-6660: Dont assume every vm will have a root volume now.
(cherry picked from commit 076bbdcfe8)
2014-05-14 15:00:34 -07:00
Sanjay Tripathi 35cd61c463 CLOUDSTACK-6649: CS is not giving the system-wide capacity for GPU reosurce. 2014-05-14 15:05:28 +05:30
Amogh Vasekar 9b6d430171 This patch disallows deleting / modifying system defined guest OS mappings
Local env
1. Create user defined mapping
2. Delete / modify user defined mapping. Should pass
3. Delete / modify system defined mapping. Should fail

Signed off by :- Nitin Mehta<nitin.mehta@citrix.com>
2014-05-12 22:45:24 -07:00
Sheng Yang 0a62eb8380 CLOUDSTACK-5501: Allow one vpn customer gateway with multiple connections
This restriction was purposely avoid confusion of VPN setup, but later found too
strictly and cause troubles for deployment. Removed after testing one customer
gateway with multiple connections.
2014-05-12 18:50:48 -07:00
Nitin Mehta 7ae784ba3c CLOUDSTACK-6633: listVolumes should return template/iso info for root volumes 2014-05-11 20:36:53 -07:00
Min Chen daadc45122 CLOUDSTACK-6628:[Automation] Create PF rulw API failing with error
"database id can only provided by VO objects".
2014-05-09 18:48:08 -07:00
santhosh 00fcd9fb20 Added fix for CLOUDSTACK-6548
Signed-off-by: santhosh <santhosh.edukulla@gmail.com>
Signed-off-by: Daan Hoogland <daan@onecht.net>

Conflicts:
	server/src/com/cloud/network/NetworkServiceImpl.java
2014-05-09 17:14:06 +02:00
Min Chen 0f79223f28 CLOUDSTACK-6613:IAM: authorizeSecurityGroupIngress fails when SG Name is
passed.
2014-05-08 23:19:28 -07:00
Min Chen 51cb0f9a4a CLOUDSTACK-6598:IAM - listAccount() retrurns "Caller cannot be passed as
NULL to IAM!" when domain deletion is in progress.
2014-05-08 17:56:20 -07:00
Murali Reddy 2a175a2b02 CLOUDSTACK-6608:OVS distributed firewall: default ACL rule is not
getting applied when a tier in VPC is created.

fix ensures, VpcRoutingPolicyUpdate is send when network rules are
programmed when network tier in VPC is created
2014-05-08 15:58:02 +05:30
Daan Hoogland 3515c39cac Revert "CLOUDSTACK-6485: private gateway network should not be associated with vpc"
This reverts commit 3bd594c584.

Conflicts:
	server/src/com/cloud/network/NetworkServiceImpl.java
2014-05-08 11:45:35 +02:00
Devdeep Singh 245b7f4c39 CLOUDSTACK-6510: Fix gson serialization exception in storage migration. Gson couldn't serialize
a map with volume and storagepool objects for logging. Fixed by using volume and storage pool
ids instead of objects in the map.
2014-05-08 12:23:46 +05:30
Alena Prokharchyk b7b89b1297 CLOUDSTACK-6601: added "forDisplay" parameter to listLoadBalancerRules API 2014-05-07 17:06:55 -07:00
Alena Prokharchyk 66d5ebc657 CLOUDSTACK-6596: UUID and display flag update support for LBStickinessPolicy and LBHealthCheckPolicy 2014-05-07 15:46:18 -07:00
Alena Prokharchyk 25ab05a189 CLOUDSTACK-6595: call expunge method marked with @ActionEvent from expunge thread context. So the action even EXPUNGE.VM is generated when vm is expunged by the thread. 2014-05-07 15:46:10 -07:00
Nitin Mehta 5388d349a4 CLOUDSTACK-6597: Updatevm - root admin should be allowed to change instance name 2014-05-07 14:34:01 -07:00
Murali Reddy e18ff2821d CLOUDSTACK-6593: Connectivity service capabilites should be matched with
the provider only if at least one capability is specified

Fix avoids the check, and only if the createNetworkOffering
'StrechedL2'Subnet' capability is specified then it should match against
'Connectivity' service provider
2014-05-07 20:05:47 +05:30
Jayapal d4f167032b Fixed vpc private gateway backend issues 2014-05-07 16:33:46 +05:30
root 4b89a45e57 CLOUDSTACK-3272 Latest changes to add global configuration parameters to control the publishing of events on the message bus 2014-05-07 10:09:03 +05:30
Alena Prokharchyk ee5f5591c7 CLOUDSTACK-6585: added missing metadata support for LBStickiness/LBHealthcheck policies 2014-05-06 17:13:50 -07:00
Kelven Yang 521ac796dd Move EventBus hookup on job framework to ApiServer to decouple job framework away from business logic related hookups. The decoupling is done through internal messaging facility provided inside management server. 2014-05-06 15:48:22 -07:00
Rajani Karuturi 59bf355919 CLOUDSTACK-6531: stopping the router in case of command failures. Also added alerts for failures.
Signed-off-by: Jayapal <jayapal@apache.org>
2014-05-06 20:08:30 +05:30
Jayapal 40836344de CLOUDSTACK-6578: Fixed issue in delete remote access vpn command 2014-05-06 20:08:30 +05:30
Jayapal b9b623bccc CLOUDSTACK-6577: Disable service monitoring in RVR 2014-05-06 20:08:30 +05:30
Jayapal 11591582d5 CLOUDSTACK-6364 Added ip address validation
Also updated to assign vm primary ip to lb rule when vmid is passed virtualmachineid
and vm id ip details in vmidipmap
2014-05-06 20:08:30 +05:30
Girish Chaudhari 0babb92d62 CLOUDSTACK-2697 Removed the clusterId as null from the alert message logs
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-05-05 19:10:17 +02:00
Tanner Danzey 601827e6b3 CLOUDSTACK-5907, CLOUDSTACK-6396: KVM/RBD & KVM/CLVM volumes mistakenly shown as OVM, disables snapshotting
modified:   server/src/com/cloud/api/ApiDBUtils.java

Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-05-05 15:15:25 +02:00
Min Chen 4e674ffad1 CLOUDSTACK-6568:API:createVolume: Volume gets created with wrong domain
ID.
2014-05-02 17:47:06 -07:00
Mike Tutkowski 8ac7784db2 CLOUDSTACK-6170 Corrected an issue related to the "Reinstall VM" command and managed storage with VMware 2014-05-02 18:41:59 -06:00
Min Chen 7f595778ad Fix compilation error due to cherry-pick CLOUDSTACK-6569. 2014-05-02 16:01:13 -07:00
Min Chen 3314e11b70 CLOUDSTACK-6569: IAM - Regular user is able to listNetworks of another
user in the same domain , by passing account and domainId.
2014-05-02 14:58:11 -07:00
Alena Prokharchyk 15c4851fc9 LOUDSTACK-6475: cleanupVPC task - removed the transaction wrapping up multiple VPC destroy as the destroy operation has external calls, to prevent long-locked transaction.
Reviewed-by: Prachi Damle
2014-05-02 14:20:38 -07:00
Sam Schmit 81b4731e3b CLOUDSTACK-6472 listUsageRecords: Pull information from removed items as well, fixing NPEs/Null UUIDs with usage API calls.
Signed-off-by: Sebastien Goasguen <runseb@gmail.com>
2014-05-02 16:27:21 -04:00
Laszlo Hornyak 726d8fc3fc test for escapeHTML
- test added
- StringBuffer replaced with StringBuilder

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-05-02 21:19:49 +02:00
Laszlo Hornyak 78507c07c8 log exceptions in ConsoleProxyServlet
- Added exception to the logger method parameters to make stack trace available
- removed checking of debug level, it does not save temporary object creation here

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-05-02 21:19:48 +02:00
Min Chen 134a7998ce CLOUDSTACK-6556: Deploy VM failing with error "does
not have permission to access resource Ntwk".
2014-05-01 15:57:29 -07:00
Min Chen d7c5382c58 CLOUDSTACK-6535: IAM:MS:API createVMSnapshot doesn't preserve access
rights.
2014-05-01 15:57:28 -07:00
Min Chen 95e9db2f91 CLOUDSTACK-6556: [Automation] Deploy VM failing with error "does not
have permission to access resource Ntwk".
2014-05-01 15:57:28 -07:00
Min Chen 2521fd482b CLOUDSTACK-6513: remove commented code. 2014-05-01 15:57:28 -07:00
Min Chen db9aee4517 CLOUDSTACK-6513: templateFilter=shared should not show self-owned
template.
2014-05-01 15:57:28 -07:00
Min Chen a9072a6612 CLOUDSTACK-6513: Optimize code by removing deprecated utility to
QueryManagerImpl as private method just used for listTemplates and
listAffinityGroups to avoid misuse by new list APIs.
2014-05-01 15:57:28 -07:00
Min Chen 5521581b6e CLOUDSTACK-6532:Affinity Groups - As admin user, not able to list all
affinity groups available for regular users by passing account and
domainId paramater. This is to revert IAM way of implementing
listAffinityGroupsCmd, will bring it back when we have implemented real
impersonation.
2014-05-01 15:57:27 -07:00
Laszlo Hornyak 94ab870d42 null pointer dereference fix
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-04-29 21:46:16 +02:00
Rajani Karuturi f4779b4d0c Fixed CLOUDSTACK-6509 Cannot import multiple LDAP/AD users into a cloudstack account
Conflicts:
	api/src/com/cloud/user/AccountService.java
	plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LdapCreateAccountCmd.java
	plugins/user-authenticators/ldap/src/org/apache/cloudstack/api/command/LdapImportUsersCmd.java

Signed-off-by: Koushik Das <koushik@apache.org>
2014-04-29 14:49:06 +05:30
Nitin Mehta dd55095fd5 CLOUDSTACK-6530: Populate the first class entities in the context to be available for publishing more information for the event bus, checking the displayable property etc.
(cherry picked from commit 3e7ea4e8d9)
2014-04-28 18:21:48 -07:00
Laszlo Hornyak fc68922286 Static resource compression
- added compile time maven plugin to compress css and js files
- Added new StaticResourceServlet to serve the requests to static files, this replaces the tomcat DefaultServlet
- Tests
- mapping of the static resource servlet to css and js files

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-04-28 21:10:18 +02:00
Laszlo Hornyak ecec8d368d autounboxing fix in ConfigurationManager
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-04-28 20:56:45 +02:00
Min Chen 44ff7fea5f CLOUDSTACK-6513: IAM - Templates - When templates are listed with
templatefilter="shared" is used , we see public templates also being
included in the list. This commit reverts listTemplates behavior to 4.3
old logic without using consistent interpretation of list parameters
adopted in new IAM model.
2014-04-28 11:11:53 -07:00
Min Chen 3e4151e13e CLOUDSTACK-6512:IAM - Not able to list shared networks in the Vm
deployment flow. This commit is to revert
ec5ee761d9 to still use old logic for
listNetworks to keep old behavior instead of new IAM model.
2014-04-28 11:11:42 -07:00
Min Chen 6af1a2919b CLOUDSTACK-6501:IAM - DomainAdmin - When listVirtualMachines is used
with listall=true and account and domainId , Vms owned by the account
account is not listed.
2014-04-28 11:11:27 -07:00
Prachi Damle 9514c9e045 CLOUDSTACK-6349: IAM - No error message presented to the user , when
invalid password is provided.

- AccountManager now works using accountId instead of accountType in
following methods too:
- isResourceDomainAdmin()
- isAdmin()
2014-04-28 11:10:50 -07:00
Prachi Damle 797169457b CLOUDSTACK-6349: IAM - No error message presented to the user , when invalid password is provided.
- AccountManager now works using accountId instead of accountType
2014-04-28 11:09:12 -07:00
Daan Hoogland ca907d8d02 formatting 2014-04-28 15:50:05 +02:00
Daan Hoogland 3bd594c584 CLOUDSTACK-6485: private gateway network should not be associated with vpc
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-04-28 14:40:52 +02:00
Sanjay Tripathi 795a6e5fa0 CLOUDSTACK-6480: Creating Service Offering with Implict Dedication planner
fails with message:  "Please specify the pciDevice and vgpuType correctly".
2014-04-28 11:27:47 +05:30
Amogh Vasekar 05802004e2 In 4.3, SSL was turned off by default.
However, for SSVM, the value from configuration server overrides the default in Config.java. Work around is to change in global properties.

Local testing, checking a fresh install has the above property false by default.

Signed-off-by: Nitin Mehta<nitin.mehta@citrix.com>
2014-04-25 14:48:36 -07:00
Sebastien Goasguen 744e2a54e8 Review from pyr https://reviews.apache.org/r/20557/ 2014-04-25 16:59:47 -04:00
Amogh Vasekar 78c683f568 CLOUDSTACK-6437:
Add ability to distinguish between user defined and system defined guest OS and mappings
Add default mappings for XenServer

Local testing with
1. Add new guest OS by API
2. Add new guest OS mapping by API
2014-04-25 13:10:10 -07:00
Mike Tutkowski 2960ba733a CLOUDSTACK-6170 Updated logic to more accurately calculate how much space is currently allocated for a managed storage pool 2014-04-25 12:31:13 -06:00
Nitin Mehta 1d45b75298 CLOUDSTACK-6499:
Made changes so that uploading custom certificate works for ssvm.
    1. Reboot ssvm only when private key is passed meaning the server cert is passed. This is because while uploading the server cert is the last to be uploaded. And we want to propagate the entire chain once uploading is done.
    2. Change the SecStorageSetupCommand sent to ssvm so that it also carries the root cert apart from having the chain and the server cert and key.
    3. Change ssvm agent code to be able to configure root cert to the java key store.
    4. Change ssvm configure ssl script to insert the chain certs correctly.
    5. Fix order of chain certificates for apache webserver in SSVM
    6. Remove double encoding and decoding for uploadCustomCertificate API from UI and server code respectively, so that API call without UI works fine
    7. Java 1.7 - disable using SNI since copyTemplate doesnt work for SSL.
2014-04-24 17:27:02 -07:00
Alena Prokharchyk 1e0d6716ca CLOUDSTACK-6436: listResourceDetails - don't return entries set with display=false, by default
Conflicts:
	api/src/org/apache/cloudstack/api/command/user/volume/ListResourceDetailsCmd.java
2014-04-24 14:35:46 -07:00
jeff 9c4de764f7 Add pre/post-state transition status to messages published on event bus by UserVmStateListener. Allow system VM resource state post-transitions to be published. 2014-04-24 20:05:26 +05:30
Alena Prokharchyk 9c4d20cb68 Revert "Return isolation methods as a part of listPhysicalNetworks call"
This reverts commit 316f23ed5f.
2014-04-22 18:06:46 -07:00
Alena Prokharchyk 316f23ed5f Return isolation methods as a part of listPhysicalNetworks call 2014-04-22 14:57:04 -07:00
Laszlo Hornyak 9411e4517e Potential NPE dereference fix
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-04-22 22:47:05 +02:00
Laszlo Hornyak be8c6fe626 test for AccountManagerImpl
- new test for disableUser
- unused code removed
- A redundant if branch removed - all branches are doing the same

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-04-21 10:25:16 +02:00
Sheng Yang 4620c27ebf CLOUDSTACK-6047: Make aggregation command timeout configurable
In case some environments has different performance or we found some commands
would took too long to execute, one global configuration item is introduced to
specify "time out in seconds per one command in aggregation commands".

By default it's 3 seconds. If admin feel it's too long, it can be adjust to as
low as 1 seconds, which runs still well in my machine.

Conflicts:
	setup/db/db/schema-430to440.sql
2014-04-18 23:36:19 -07:00
Min Chen c4892c2692 Fix FindBugs bug. 2014-04-18 17:31:29 -07:00
Min Chen 82821daffc Fix listAccountsCmd logic to be consistent with new interpretation of
listAll, isRecursive and domainId parameters.
2014-04-18 17:24:00 -07:00
Alena Prokharchyk 6cfe248e2b Fixed NPE in listResourceDetalis logic 2014-04-18 16:32:05 -07:00
Min Chen 29f39149b1 Fix IAM list api implementation based on agreed interpretation for
listAll, isRecursive, domainId and account.
2014-04-17 18:33:22 -07:00
Min Chen c25332fc46 CLOUDSTACK-6429:distinguish the case where caller can see everything and
the case where caller cannot see anything. Also change behavior to
default isRecursive to false if not specified.
2014-04-17 18:33:08 -07:00
Min Chen cdd39a88ba CLOUDSTACK-5960: Remove another check preventing Domain admin and
normal user from registering template in S3.
2014-04-17 18:32:43 -07:00
Min Chen c4b0a1e2d9 CLOUDSTACK-6350: IAM - Listing of VM using uuid when owner account of
this Vm is deleted results is VM not being returned.But list VM with
listAll=true is able to return this VM.
2014-04-17 18:06:29 -07:00
Min Chen 5d59fc7f5a Fix RoleBasedQuerySelector to handle new listAll semantics. If
listAll=true, show all resources that caller (or impersonater) has
ListEntry access type; otherwise, show all resources that caller (or
impersonater) has UseEntry access type.
2014-04-17 18:06:07 -07:00
Min Chen 7796128372 Handle listAll flag in IAM buildAclSearchParameters. 2014-04-17 18:05:44 -07:00
Prachi Damle a0cd0c4d9d Changes while processing the @ACL annotation, to include only 1 object per parameter even if the parameter is tied to multiple interfaces in the @EntityReference 2014-04-17 17:54:19 -07:00
Min Chen da13165743 Change AccountManagerImpl.checkAccess to invoke SecurityChecker
interface that takes multiple controlled entities.
2014-04-17 17:53:01 -07:00
wrodrigues b3f18e7d74 implementation of the featured requests in the issue CLOUDSTACK-6139.
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-04-17 20:51:46 +02:00
Daan Hoogland a05718cb23 [DB-CHANGE] windows line endings 2014-04-17 20:51:04 +02:00
Sheng Yang 74fe010db3 CLOUDSTACK-6434: Make RvR advert_int configurable
In some network environment, 1*3 seconds by default make RvR setup too
sensitive. A configurable parameter would be better for fitting different
network environments.
2014-04-16 20:13:16 -07:00
Sheng Yang a554ebdf75 CLOUDSTACK-6432: Blocking DHCP server to service DNS outside network
This would cover only DHCP only network since in basic and shared network, the
private IP used by VR and network may expose to outside.
2014-04-16 19:13:23 -07:00
Sheng Yang 59a9db39b1 CLOUDSTACK-6433: Don't return success if only one of RvR successfully created
Conflicts:
	server/src/com/cloud/network/element/VirtualRouterElement.java
2014-04-16 18:10:39 -07:00
Ding Yuan c031eb7d38 CLOUDSTACK-6242: exception handling improvements
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-04-15 08:07:15 +02:00
Antonio Fornie f5ba020633 Fix: ParamGenericValidationWorker shouldn't be case sensitive
Signed-off-by: Alena Prokharchyk <alena.prokharchyk@citrix.com>
2014-04-14 10:05:19 -07:00
Marcus Sorensen 11f5bdd78d CLOUDSTACK-6191 Add support for specifying volume provisioning
type (thin, sparse, fat) in disk/compute offerings.

Submitted-by: Yoshikazu Nojima <mail@ynojima.net>
Reviewed-by: Marcus Sorensen, Mike Tutowski
2014-04-10 09:23:04 -06:00
Kishan Kavala 26746feb39 CLOUDSTACK-6376: Return empty list when network tier has no ACL list associated. 2014-04-10 14:45:15 +05:30
Kishan Kavala 16ab5ce76c CLOUDSTACK-6374: Remove entries from lb vm map when lb rule apply fails 2014-04-10 14:45:15 +05:30
Sanjay Tripathi 6a725c6795 CLOUDSTACK-6373: listHost API response is not listing all the details of vgpuType. 2014-04-10 14:08:32 +05:30
Sanjay Tripathi a195205d11 CLOUDSTACK-6366: add vgpuTypes details in vgpu_types table. 2014-04-09 18:23:50 +05:30
Harikrishna Patnala ecc71518a9 CLOUDSTACK-6253: Optimizing VR alerts getting algorithm In addition to this a new configuration parameter is added router.alerts.check.interval defaulted to 30minutes to check for alerts in Virtual Router 2014-04-09 18:12:20 +05:30
Sanjay Tripathi 2ae9da8d47 CLOUDSTACK-6357: Not able to select GPU card in case of GPU-passthrough. 2014-04-08 22:10:09 +05:30
Jayapal e6e4fe4d26 CLOUDSTACK-6353 Fixed listing vm ip details for lb rule 2014-04-08 12:56:02 +05:30
Jayapal 78a29c0d41 CLOUDSTACK-6327 updated uuid to id mapping 2014-04-07 18:03:57 +05:30
Sanjay Tripathi 2530bf9658 CLOUDSTACK-6345: Non gpu enabled VMs are getting deployed in gpu enabled Hosts. 2014-04-07 15:43:46 +05:30
Daan Hoogland e97e65bff0 findbugs: toArray of the right type, not Object[] 2014-04-05 10:14:54 +02:00
Min Chen 94ebc90877 Remove usage of sameOwner checkAccess invocation, and convert to
OperateEntry IAM check.
2014-04-04 16:38:29 -07:00
Prachi Damle a509f94544 Adding SecurityChecker list for the ParamProcessWorker 2014-04-04 16:38:29 -07:00
Prachi Damle 897e0d3abe SecurityChecker can accept multiple ControlledEntity 2014-04-04 16:38:29 -07:00
sbalineni 0560254c04 internal lb support for contrail vpc
Signed-off-by: Alena Prokharchyk <alena.prokharchyk@citrix.com>
2014-04-04 15:36:09 -07:00
Jayapal b94a982618 CLOUDSTACK-6327: Updated the removeFromLoadBalancerRule and listLoadBalancerRuleInstances API
Updated these APIs to use VM primary/secondary details on LB rule.

listLoadBalancerRuleInstances API lists the vm ips which are assigned to lb rule when passed
listlbvmips
removeFromLoadBalancerRule is updated to remove the spcific vm ip entry assinged to LB rule.
Added new param vmidipmap to this API
2014-04-04 18:42:03 +05:30
Alena Prokharchyk 3a889aa217 CLOUDSTACK-3886: Volume attach/detach implementation for ROOT disk
Implemented for Xen hypervisor only by now
Unittests are included
2014-04-03 11:39:56 -07:00
Kelven Yang 66bece5906 Don't let VMsync touch the VM if VM has been scheduled for HA but HA is not yet running. 2014-04-02 14:58:35 -07:00
Gabor Apati-Nagy 883d7f17f7 Value of Global parameter "custom.diskoffering.size.min" is not reflected in UI during new instance creation.
Added fields to /api and /server classes for CustomDiskOfferingMinSize
to be available in CapabilitiesResponse. Fixed UI code in Instance
Wizard to have this config value as the minimum selectable option when
we are in custom disk size mode.
2014-04-01 10:57:36 -07:00
Edison Su 25a6234a5b fix build 2014-03-28 16:24:45 -07:00
Edison Su 504a6cdee2 CLOUDSTACK-5432:sync vm and storage commands on mgt server for kvm
Conflicts:

	engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
	server/src/com/cloud/hypervisor/KVMGuru.java
2014-03-28 16:24:07 -07:00
edison d4c7574f12 CLOUDSTACK-5831: Fix NPE, in case the volume isn't attached to any pool 2014-03-28 16:23:27 -07:00
Edison Su 7c04aa6115 CLOUDSTACK-5831: return quiescevm field in volumeresponse
Conflicts:

	api/src/org/apache/cloudstack/api/response/VolumeResponse.java
	server/src/com/cloud/api/query/QueryManagerImpl.java
2014-03-28 16:23:19 -07:00
edison 550834e4b9 CLOUDSTACK-5763: if vm is stopped, then don't check hypervisor support live storage migration capabilities. 2014-03-28 16:23:09 -07:00
edison 5bfef62ab0 CLOUDSTACK-5607: Don't delete the template if its stored in other zones. 2014-03-28 16:22:57 -07:00
edison 8583b70f2a CLOUDSTACK-5828: if snapshot deletion failed, such as can't find it on secondary storage, should return succeed. 2014-03-28 16:22:49 -07:00
Edison Su 6b7994512d CLOUDSTACK-5329: fix NPE, in case of zone wide primary storage
Conflicts:

	api/src/com/cloud/storage/StoragePool.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
2014-03-28 16:22:16 -07:00
Edison Su b38dbc64db CLOUDSTACK-6245: the security group rule is lagging behind the rules in DB, due to there is a worker thread launched inside a transaction Reviewed-by: Alex
(cherry picked from commit d4fdc184fe)

Signed-off-by: Animesh Chaturvedi <animesh@apache.org>

Conflicts:

	server/src/com/cloud/network/security/SecurityGroupManagerImpl.java
2014-03-28 16:21:50 -07:00
Edison Su 7416988c58 CLOUDSTACK-4506: fix NPE in case hostid is null
Conflicts:

	server/src/com/cloud/capacity/CapacityManagerImpl.java
2014-03-28 16:14:46 -07:00
Prachi Damle 4e61e49143 CLOUDSTACK-6303 [Automation] [UI] Account creation hang in UI
Changes:
- Caused due to a MySql error during 'Project' account cleanup. The MySql error hits a deadlock bug in the MessageBus code that does not release the lock/decrement the counter Eventually all callers on the MessageBus end up waiting to enter
- This fixes the account cleanup MySql error.
2014-03-28 14:35:00 -07:00
Laszlo Hornyak 05c9d54c4f removed Integer and Long instantiations
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-03-28 18:40:25 +01:00
Anshul Gangwar e3e452625e CLOUDSTACK-6267: unblocking smb as zone wide primary storage for hyperv
Signed-off-by: Devdeep Singh <devdeep@gmail.com>
2014-03-27 16:24:40 +05:30
Anthony Xu d14f66f58d when start vm times out, check VM status, if it is running , return succeed.
change XAPI timeout to 60 second.
2014-03-24 17:15:08 -07:00
Anthony Xu 726dd16daa use vm instance name in log 2014-03-24 16:24:55 -07:00
Anthony Xu bf48309e14 addHostCmd will try to load all hosts in a pool 2014-03-24 16:06:26 -07:00
Laszlo Hornyak c6d2549939 StringBuffer replaced with StringBuilder in ApiServerService
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-03-24 21:04:06 +01:00
Laszlo Hornyak aef76f71ec StringBuffer replaced with StringBuilder in ApiServlet
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-03-24 21:03:48 +01:00
Laszlo Hornyak 843464efc8 removed commented-out code
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-03-24 19:05:47 +01:00
Laszlo Hornyak 96d56b7525 Tests for ApiServlet
- tests for login
- loginSuccessResponse test for xml and json

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-03-24 19:05:47 +01:00
Damodar Reddy 93c46c9be8 CLOUDSTACK-6105: Initial version Windowsfication of the management server
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2014-03-24 10:54:46 +05:30
Laszlo Hornyak 265208a261 Basic tests for ApiServlet
new tests for ApiServlet covering
 - utf8Fixup
 - some of processRequestInContext

minor cleanup done in StringBuffer handling and utf8Fixup got a bit shorter

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-03-22 18:34:46 +01:00
Laszlo Hornyak 3dc4d2ec21 Removed commented-out code
A big block of code commented out for about a year.

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-03-22 18:34:46 +01:00
Laszlo Hornyak dd225684f4 new unit test for ApiResponseHelper
- unit test for getDateStringInternal
- StringBuffer replaced with StringBuilder, string concatenation replaced with append

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-03-22 18:34:46 +01:00
Laszlo Hornyak 2c4ac5e4d3 removed some redundant Boolean isntantiations
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-03-22 18:34:45 +01:00
Mike Tutkowski 7629d6f129 CLOUDSTACK-6170 2014-03-20 23:54:53 -06:00
Min Chen ea2ee15214 Add newly separated admin cmd class in ManagementServerImpl.getCommands. 2014-03-20 16:42:31 -07:00
Min Chen a1831bc864 Revert "CLOUDSTACK-6170" due to unit test failure.
This reverts commit 50b5e2e247.
2014-03-20 16:40:45 -07:00
Mike Tutkowski 50b5e2e247 CLOUDSTACK-6170 2014-03-20 16:52:52 -06:00
Jayapal d38cab879b CLOUDSTACK-6250 Review comments fixes for CLOUDSTACK-2692 2014-03-20 17:22:28 +05:30
Murali Reddy 2b51207510 persist fact that network can span multiple zones, if network offering
has strechedL2Subnet capability and return the zones in which
network spans in the networkreponse object
2014-03-20 17:01:33 +05:30
Murali Reddy d2d54a9463 region level VPC support
introduce 'RegionLevelVpc' as capability of 'Connectivity' service. Add
support for CreateVPCOffering to take the 'regionlevelvpc' as capability
of service 'connectivity'.

introduces new capability 'StretchedL2Subnet' for 'Connectivity'
service. Also add support to createNetworkOffering api to allow
StretchedL2Subnet capablity for the connectivity service.

adds check to ensure 'Connectivity' service provider supports
'StretchedL2Subnet' and 'RegionLevelVpc' capabilities when specified in
createNetworkOffering and createVpcOffering respectivley

enable ovs plug-in to support both StretchedL2Subnet and RegionLevelVpc
capabilities

make zone id optional parameter in createVpc, zone id can be null only
if vpc offfering supports region level VPC

in region level vpc, let the network/tier to be created in any zone of
the region

keep zoneid as required param for createVpc

skip external guest network guru if 'Connectivy' service is present in
network offering

fix build break in contrail manager

permit VM's to be created in different zone that in which network is
created if the network support streched L2 subnet

add integration tests for region level VPC

rebase to master

Conflicts:
	setup/db/db/schema-430to440.sql

Conflicts:
	api/src/org/apache/cloudstack/api/ApiConstants.java
	engine/schema/src/com/cloud/network/vpc/VpcVO.java
	setup/db/db/schema-430to440.sql
2014-03-20 16:32:22 +05:30
Murali Reddy c838f3abb8 fix scripts that handle setting up bridge for tunnel network and for
distributed routing. Fix ensures there is approproate flag in other
config of the network to indicate the bridge type.

Conflicts:
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
2014-03-20 16:30:07 +05:30
Prachi Damle c3ee01cca1 More changes to support 'readOnly' access 2014-03-19 11:00:23 -07:00
Jayapal 289ac0465c CLOUDSTACK-6240 Fixed updating advanced SG rules for vm nic secondary ip 2014-03-19 15:46:15 +05:30
Min Chen 6e034cad03 Refactor listNetworks logic to use new IAM model. 2014-03-18 17:02:22 -07:00
Kelven Yang ce1e53f451 Fix style-check issue after cherry-picks 2014-03-18 17:00:08 -07:00
Kelven Yang d9506d2a05 Let VMSync be aware of HA take-over on VM state management. 2014-03-18 16:45:45 -07:00
Nitin Mehta 5d19a936a2 CLOUDSTACK-6247: Usage Events - hide them when display flag is off in the context of "Ability to have better control over first class objects in CS" feature
Work done for network offering.
2014-03-18 14:00:55 -07:00
Nitin Mehta 7442b56fa8 CLOUDSTACK-6247: Usage Events - hide them when display flag is off in the context of "Ability to have better control over first class objects in CS" feature
And when the flag is updated on the resource accordingly generate usage events again.
Also when display flag is false in deployvm cmd it should be false for the volumes associated with the vm as well
2014-03-18 14:00:25 -07:00
Min Chen 22eb5eb2d6 Fix a regression caused by IAM search criteria refactor on VPC. 2014-03-18 10:41:55 -07:00
Marcus Sorensen d638d04cbf CLOUDSTACK-6181: Merge of resize root feature (resize-root branch) 2014-03-14 07:17:33 -06:00
Min Chen ae1d6a771b Remove IAMEntityType to use existing VO interface class to annotate
entityType.
2014-03-17 17:19:55 -07:00
Alena Prokharchyk 78a04c5315 CLOUDSTACK-6235: listSystemVms - retrieve vlan info of EIP address only when ip address can be found in the DB 2014-03-16 16:29:56 -07:00
Alena Prokharchyk d9e1c9c502 CLOUDSTACK-6205: VPC VR start - skip private gateway when create Guest nics as the nic for the private gateway is being created separately
Conflicts:
	server/src/com/cloud/network/NetworkModelImpl.java
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
2014-03-14 11:57:58 -07:00
Daan Hoogland 3aee404a49 findbugs: removed unused variable 2014-03-14 18:50:43 +01:00
Jayapal 384eeaf792 CLOUDSTACK-2692 Assigning LB rule for vm nic secondary ips 2014-03-14 22:47:17 +05:30
Saksham Srivastava 48f8a95b06 CLOUDSTACK-6092: Storage OverProvisioning as a Per Primary Basis Allow storage.overprovisioning.factor to be specified at storape pool level.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2014-03-14 12:16:46 +05:30
Rajesh Battala 1b4325d2c8 CLOUDSTACK-6106 supporting VPC VR on Hyper-V 2014-03-14 17:36:43 +05:30
Murali Reddy 423a748807 adds hypervisor script to convert JSON routing polcies (ACL) config in
to flow rules and applies them on the bridge

add event subscriber in OvsTunnelManager, that listens to
replaceNetworkAcl events. On event sends the updated policy info to all
the hosts in the VPC
2014-03-14 16:56:37 +05:30
Murali Reddy 2c7786992f some bug fixes 2014-03-14 16:56:37 +05:30
Murali Reddy e045883c52 introduce OvsNetworkTopologyGuru that has convinenace functions to
- get the hosts on which VPC spans given vpc id
   - get the VM's in the VPC
   - get the hosts on which a network spans
   - get the VPC's to which a hosts is part of
   - get VM's of a VPC on a hosts

introduces capability to build a physical toplogy representation of a
VPC. This json file is encapsulated in
OvsVpcPhysicalTopologyConfigCommand, and is used to send full topology
to hypervisor hosts. On hypervisor this json config can be used to setup
tunnels, configure bridge, add flow rules etc

Ovs GURU, to use different broasdcast scheme VS://vpcid.gerkey for the
networks in VPC that use distributed routing

each VIF and tunnel interface to carry the network UUID in other/options
config
2014-03-14 16:56:37 +05:30
Murali Reddy 32ac021043 make Ovs as VPC provider 2014-03-14 16:56:36 +05:30
Murali Reddy 3139b35518 mark VPC to be using distributed router if VPC offerign supports
distributedrouter capability.
2014-03-14 16:56:35 +05:30
Murali Reddy e3ec12e5d0 -add check to ensure 'Connectivity' service provider specified in
createVpcOffering actually supports 'DistributedRouter' capability

- enable OVS to support 'DistributedRouter' capability
2014-03-14 16:56:35 +05:30
Murali Reddy 7c4443e233 -introduces 'DistributedRouter' as capability to 'Connectivity' service.
-create VPC offering to permit 'DistributedRouter' as capability to
connectivity service
2014-03-14 16:56:35 +05:30
Devdeep Singh 2aff39f8c7 CLOUDSTACK-6143: Storage motion support for hyper-v. With these changes a volume on a shared
storage pool (SMB) and attached to a running vm can be live migrated to another shared storage
pool. Also a vm and its volumes can be live migrated to another host and storage pool respectively.
2014-03-14 16:27:58 +05:30
Harikrishna Patnala f7337527cf CLOUDSTACK-6090: Virtual Router Service Failure Alerting
Signed-off-by: Koushik Das <koushik@apache.org>
2014-03-14 15:14:15 +05:30
Sanjay Tripathi 6a5d3e96c9 CLOUDSTACK-6238: NPE in HostStatsCollector. 2014-03-14 13:37:19 +05:30
Kelven Yang 42d637376b Handle a race-condition in VirtualNetworkManagerImpl.java in the process of starting it parallelly. 2014-03-13 16:59:56 -07:00
Kelven Yang 3123c30f23 BUG-ID: CS-19196: Relax HA work termination rule on exceptions. It could cause premature HA termination due to unhandled exceptions. Reviewed-By:Anthony 2014-03-13 16:59:56 -07:00
Kelven Yang 7fa4715b99 perform VM HA based on agent state report. 2014-03-13 16:59:56 -07:00
Kelven Yang 6ad245e675 Restore to old HA logic, but suppress VM state change on resource state report to avoid interferring HA. 2014-03-13 16:59:56 -07:00
Kelven Yang 4312d88462 HA manager to check target state of the VM to make decisions on whether or not to carry on a cheduled step. Fix NPE in capacity manager when releasing capacity of a stopped VM. 2014-03-13 16:59:56 -07:00
Kelven Yang 3d5fbe7073 move HA rescheduling operation to HA worker context. 2014-03-13 16:59:56 -07:00
Min Chen 8ff94601f1 Merge branch 'rbac' to master 2014-03-13 16:42:22 -07:00
Alena Prokharchyk 6c23e201ad 1) More fixes for the problems found by findBugs
2) Corrected some logging in  MidoNetPublicNetworkGuru - removed .toString method call on the objects in the log body as toString is called on the object by default when use log4j
2014-03-13 16:05:45 -07:00
Prachi Damle 36c0a4e2c3 Removed the AccessType.UseNetwork - replaced all referrences by AccessType.UseEntry 2014-03-13 15:32:38 -07:00
Min Chen 84a528fad6 Merge branch 'master' into rbac 2014-03-13 14:52:37 -07:00
Alena Prokharchyk 90c485e5d6 Fixed some problems reported by FindBugs 2014-03-13 13:45:30 -07:00
Prachi Damle d9696b26e1 After merge, fix isRootAdmin() calls to use accountId instead of type 2014-03-13 13:28:40 -07:00
Alena Prokharchyk df85211945 Removed unused imports and instance vars from FirstFitAllocator 2014-03-13 11:05:37 -07:00
Min Chen 99bdc8d875 Merge branch 'master' into rbac. 2014-03-13 11:05:03 -07:00
Antonio Fornie 39e5b768e8 More generic parameters that are not unknown
Adding some more parameter names that should not be considered unknown since they belong to general use paramters

Signed-off-by: Alena Prokharchyk <alena.prokharchyk@citrix.com>
2014-03-13 10:40:14 -07:00
Alena Prokharchyk 1b83698dac deployVm/startVm APIs: ability to define deploymentPlanner for VmToStart in the api call (available to ROOT admin only) 2014-03-13 10:23:34 -07:00
Koushik Das 5779292e93 CLOUDSTACK-6052: List VM enhancement to support querying with multiple VM IDs
New parameter 'ids' added to listVirtualMachine API. The syntax looks like
http://localhost:8096/api?command=listVirtualMachines&listAll=true&ids=eddac053-9b12-4d2e-acb7-233de2e98112,009966fc-4d7b-4f84-8609-254979ba0134
The new parameter will be mutually exclusive with the existing 'id' parameter.
2014-03-13 17:05:35 +05:30
amogh.vasekar 3ee1fc28de CLOUDSTACK-6217:
Add APIs for ability to add new guest OS types, and their hypervisor specific mappings.
The table guest_os_hypervisor is currently maintained but not used, and the APIs reuse the same

Signed off by: Nitin Mehta <nitin.mehta@citrix.com>
2014-03-12 17:03:38 -07:00
Alena Prokharchyk 40192cd8a1 CLOUDSTACK-6235 - return gateway/netmask of publicVlan, along with the EIP information, for system vms in EIP/ELB setup 2014-03-12 15:11:01 -07:00
Daan Hoogland b5c8a56eea CLOUDSTACK-6232 allow expansion of ip on isolated networks as well 2014-03-12 19:36:11 +01:00
Daan Hoogland 6c035240ba check-style: tabs to spaces 2014-03-12 18:04:22 +01:00
Daan Hoogland 5685d14537 [CLOUDSTACK-6232] bridging allowed in isolated networks 2014-03-12 17:47:55 +01:00
Sheng Yang 467986321a CLOUDSTACK-6047: Enable VR aggregation commands for VPC 2014-03-11 16:14:33 -07:00
Sheng Yang f45de30d1b CLOUDSTACK-6047: Enable VR aggregation commands for VR start/reboot 2014-03-11 13:04:26 -07:00
Min Chen b554d4ac1f Fix issues found through FindBugs. 2014-03-11 11:49:48 -07:00
Kishan Kavala c63f43a9cc CLOUDSTACK-6122: Add LXC to supported hypervisor list for VPC 2014-03-11 23:49:28 +05:30
Sanjay Tripathi c7d31fe288 CLOUDSTACK-4760 : Enabling GPU support for XenServer.
CLOUDSTACK-4762 : Enabling VGPU support for XenServer.

This feature is to enable the GPU-passthrough and vGPU functionality,
with the help of this feature, admins/users will be able to leverage
the GPU graphics unit power by deploying a virtul machine with GPU or
vGPU support or by changing the service offering of an existing VM
at any later point of time. There GPU/vGPU enabled VMs are able to run
graphical applications.
For now, this feature is only supported with XenServer hypervisor but
can be extended to add the support of other hypervisors.
2014-03-11 15:44:51 +05:30
Nitin Mehta 33a0dec965 CLOUDSTACK-6221:
Publish first class objects involved in an operation (for now vm uuid) on the event bus . Example -  during attach/detachIso along with iso id, vm id should be available as well.
2014-03-10 16:22:34 -07:00
Alena Prokharchyk bf9375b8b9 CLOUDSTACK-6214: apply network rules when plug new guest nic to router for the network in Setup state
Conflicts:
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManager.java
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java

Conflicts:
	api/src/com/cloud/network/VpcVirtualNetworkApplianceService.java
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManager.java
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
	server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java
2014-03-10 11:42:24 -07:00
Daan Hoogland d182a51162 findbugs: another array pointer in error message 2014-03-10 13:21:13 +01:00
Daan Hoogland e0d20fb6eb findbugs: null check before use of pointer 2014-03-10 13:08:15 +01:00
Daan Hoogland 579cb9c479 findbugs: output vlanids in errormessage instead of array object pointer 2014-03-10 13:04:10 +01:00
Daan Hoogland 1075bed06c findbugs: String for Service type mismatch (plus test for dummy data) 2014-03-10 10:44:10 +01:00
Daan Hoogland 07102b400f findbugs: scope and final to mitgate possible abuse of fields 2014-03-10 09:39:35 +01:00
John Kinsella 09c375379d CLOUDSTACK-6204: removing realhostip dependency
Moving default transport for console proxy, SSVM to http.

See
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Realhost+IP+changes
for more info.

jlk ported Amogh's patch for 4.3 to master - code base is different
enough that patch has multiple issues.

Author: Amogh Vasekar <Amogh Vasekar <amogh.vasekar@citrix.com>
Signed-off-by: John Kinsella <jlk@stratosec.co> 1394398017 -0700
2014-03-09 13:46:57 -07:00
Nitin Mehta ded7e682dc CLOUDSTACK-5478: Enable publishing uuid for all the async apis in the CallContext.
The advantage would be that event publishing can pick up the uuid and publish them.
2014-03-07 16:50:21 -08:00
Alena Prokharchyk 7b0c5cfcbe Removed unused methods from BaseCmd class. Moved some helper methods to AccountManagerImpl class 2014-03-07 11:33:10 -08:00
Daan Hoogland c257fb0e3e rats 2014-03-07 19:27:58 +01:00
Antonio Fornie c211f0bbbe Dispatcher corrections, refactoring and tests
Corrects problems from previous attempt. Fixes based on help comments from
the community and conflict resolution

Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-03-07 19:12:07 +01:00
Sheng Yang 60dc25450a CLOUDSTACK-6047: Introduce Aggregated commands queue to VR 2014-03-06 16:22:01 -08:00
Min Chen 48e08fe676 Merge branch 'master' into rbac. 2014-03-06 14:02:20 -08:00
Mike Tutkowski 9b66866dc2 CLOUDSTACK-6170 2014-03-06 13:01:11 -07:00
Nitin Mehta 830328b63d CLOUDSTACK-6199: Hide action events for Vm/Volume commands when the resources have display flag=0.
Introduce generic BaseAsync(Vm/Volume)Cmd to make get the flag value for logging action events.
Rename the db field as display rather than display_event in keeping with the convention
2014-03-05 16:40:44 -08:00
Alena Prokharchyk d1c0b81dc1 CLOUDSTACK-6205: VPC VR start - when create guest nics for the VR, consider networks not only in Implemented state, but in Setup state as well 2014-03-05 15:39:34 -08:00