Commit Graph

30576 Commits

Author SHA1 Message Date
Rohit Yadav 5545bcaa9d CLOUDSTACK-9531: Try template teardown without failure
As per previous discussions and ticket, a template deletion may result in failure
(exception thrown) for templates that are not properly downloaded. The tearDown
method, a template may be tried for deletion but on failure we may ignore it
as account deletion/tearDown would retry to cleanup resource owned by the account.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-06 15:38:01 +05:30
nvazquez f4a42ab0d7 CLOUDSTACK-9535: [API] listVMSnapshots improvement 2016-10-05 17:42:14 -03:00
Boris 394f2e359f CLOUDSTACK-9527: Skip tests not supported for hypervisor
- test_01_test_vm_volume_snapshot not supported for Xen, tests keep failing
- Skip snapshot tests for centos6/kvm as snapshot is not supported by older
  qemu-img versions

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-05 15:11:00 +05:30
Rohit Yadav dc93268788 CLOUDSTACK-9524: Check router hypervisor before ssh to VR
SSH to VR for vmware, goes via the mgmt server and uses ssh keys at
/var/cloudstack path. Add suitable checks to tests failing on vmware.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-05 15:11:00 +05:30
Murali Reddy 1f27874eaf CLOUDSTACK-9522: Check for available attribute in marvin response
- Handle case where physical network instance does not have vlan attribute
- Handle case where listIso response may not have status attribute

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-05 15:11:00 +05:30
Boris d4f0bf1ca9 CLOUDSTACK-9526: Marvin test_deploy_vgpu_enabled_vm.py - Fix a hardcoded username and password
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-05 15:11:00 +05:30
Murali Reddy 052a9af023 CLOUDSTACK-9515: internal LB vm is not handled when parsing cmd_line.json,
resulting in internal LB vm not come up

parsing cmd_line to create 'ips' data bag, never handled internal lb vm, but still
worked due to another bug. support for internal lb vm is added with this fix
2016-10-05 15:11:00 +05:30
Rohit Yadav 0eb4fae8b7 CLOUDSTACK-9161: move quota test to plugins
The quota integration test requires special setup and is moved to plugins
directory as in 4.9 and master branch.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-05 15:11:00 +05:30
Paul Angus 79f0adf397 Marvin Tests: Fix VPC network offering selection
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-05 15:11:00 +05:30
Paul Angus 99da5338ff fix macchinina template specificied for vmware in Marvin tests
- Fix macchnina template url
- Fix a variable scope issue

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-05 15:11:00 +05:30
Paul Angus 47104cf2b3 fix ping tests to properly recognise successful ping test 2016-10-05 15:11:00 +05:30
Boris 7a1efd687e CLOUDSTACK-9514: Making the credentials of the host to be picked up from the
Use config file, instead of hardcoded crendentials

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-05 15:11:00 +05:30
Murali Reddy fcdc2cc529 CLOUDSTACK-9511: fix test_privategw_acl.py to handle multiple physical networks
modified script to handle case where there can be multple physical networks
in the zone

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-05 15:11:00 +05:30
Rohit Yadav de09b5afa8
Merge pull request #1699 from milamberspace/L10N_MigrateToJSONkeyValue
CLOUDSTACK-9513 Migrate transifex workflow and format to jsonMove the localization resource files from Java Properties format to JSON Key-Value format
Change the Transifex sync script to handle JSON resource files instead of Properties files
Update the README
Remove old version from the Transifex configuration file
Remove unused gen-l10n.py script and update the ui/pom.xml to remove the execution of this script

cc @rhtyd @jburwell

* pr/1699:
  CLOUDSTACK-9513 Migrate transifex workflow and format to json

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-04 16:18:55 +05:30
Wido den Hollander 0beb41b6e7 CLOUDSTACK-9395: Add Virtio RNG device to Instances when configured
By adding a Random Number Generator device to Instances we can prevent
entropy starvation inside guest.

The default source is /dev/random on the host, but this can be configured
to another source when present, for example a hardware RNG.

When enabled it will add the following to the Instance's XML definition:

  <rng model='virtio'>
    <rate period='1000' bytes='2048' />
    <backend model='random'>/dev/random</backend>
  </rng>

If the Instance has the proper support, which most modern distributions have,
it will have a /dev/hwrng device which it can use for gathering entropy.

More information: https://libvirt.org/formatdomain.html#elementsRng
2016-10-04 12:44:55 +02:00
Milamber 60edc8af46 CLOUDSTACK-9513 Migrate transifex workflow and format to json
Move the localization resource files from Java Properties format to JSON Key-Value format
Change the Transifex sync script to handle JSON resource files instead of Properties files
Update the README
Remove old version from the Transifex configuration file
Remove unused gen-l10n.py script and update the ui/pom.xml to remove the execution of this script
2016-10-03 19:47:06 +01:00
Rohit Yadav 6e7fdc404c Merge branch '4.9' 2016-10-01 00:09:12 +05:30
Rohit Yadav 9a8841d0d9 Merge pull request #1696 from shapeblue/4.9-ubuntuxenial-guestos
[4.9/lts] CLOUDSTACK-9364: Add Ubuntu 16.04 as a guest OSAdds Ubuntu 16.04 as a supported guest os. This allows users to select
the OS when creating a template etc.

SQL queries tested and adapted from https://issues.apache.org/jira/browse/CLOUDSTACK-9364

* pr/1696:
  CLOUDSTACK-9364: Add Ubuntu 16.04 as a guest OS

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-10-01 00:07:47 +05:30
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
Rohit Yadav 335ad1a867 CLOUDSTACK-9364: Add Ubuntu 16.04 as a guest OS
Adds Ubuntu 16.04 as a supported guest os. This allows users to select
the OS when creating a template etc.

Note: As XenServer 6.5 does not have 16.04 in its list of known Ubuntu releases,
as a workaround 16.04 guest os refers to 14.04 for XenServer 6.5.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-09-29 22:09:30 +05:30
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
Rohit Yadav 9e7dc4a6eb Merge pull request #1690 from milamberspace/L10N-update-Master-20160925
Update L10N resource files with 4.10 strings from Transifex (20160925)
Please merge the #1619 before.

And please merge this current PR before 4.10.0.0 release.

cc @jburwell

* pr/1690:
  Update L10N resource files with 4.10 strings from Transifex (20160925)

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-09-29 18:34:28 +05:30
Rohit Yadav fbf6a9df18 Merge pull request #1619 from milamberspace/L10N-update-Master-20160730
Add the Transifex config for next version of CS (4.10)

* pr/1619:
  Add the Transifex config for next version of CS (4.10)

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-09-29 18:33:57 +05:30
Rohit Yadav 244e9e13ce Merge pull request #1669 from shapeblue/no-jsp
Make CloudStack JSP-freeCLOUDSTACK-9842: Make UI JSP Free

    We use some JSP files mainly for translation of strings in the UI. This is
    achievable purely in JavaScript. This removes those JSPs, simplifies
    translation usage and workflow (purely JS based). The l10n js (dictionary)
    files are generated from existing messages.properties files during client-ui
    code generation phase.

/cc @jburwell @karuturi @abhinandanprateek @murali-reddy @wido @NuxRo @milamberspace @koushik-das and others

@milamberspace can our translation workflow/infra be changed to translate the JS files instead of the messages.properties file?

* pr/1669:
  CLOUDSTACK-9842: Make UI JSP Free

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-09-29 16:33:49 +05:30
John Burwell a509790bfa Merge pull request #1693 from nvazquez/fix3dputest
CLOUDSTACK-9505: Fix test_deploy_vgpu_enabled tests cleanupJIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9505

## Description
Cleanup resources after running `test_deploy_vgpu_enabled.py`. Although test passes, resources are left and need to be cleaned up

* pr/1693:
  CLOUDSTACK-9505: Fix test_deploy_vgpu_enabled tests cleanup

Signed-off-by: John Burwell <meaux@cockamamy.net>
2016-09-28 15:15:25 -04:00
nvazquez 2e77496601 CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI 2016-09-28 08:51:37 -07:00
Rajani Karuturi c34531f9e0 Merge pull request #1689 from mike-tutkowski/use_sf_python_sdk
Switched to the official SolidFire SDK for PythonSolidFire has recently released an official SDK for Python.

I have converted all of the SolidFire integration tests over to making use of this new SDK.

For testing, I re-ran each test and observed success.

https://pypi.python.org/pypi/solidfire-sdk-python/1.1.0.92

* pr/1689:
  Switched to the official SolidFire SDK for Python

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-09-28 14:57:09 +05:30
Rohit Yadav 16913a9822 CLOUDSTACK-9842: Make UI JSP Free
We use some JSP file just for translation of strings in the UI. This is
achievable purely in JavaScript. This removes those JSPs, simplifies
translation usage and workflow (purely JS based). The l10n js (dictionary)
files are generated from existing messages.properties files during client-ui
code generation phase.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-09-28 12:26:43 +05:30
Mike Tutkowski d4ae1ab6b6 Switched to the official SolidFire SDK for Python 2016-09-27 22:14:39 -06:00
nvazquez 8f35e89999 CLOUDSTACK-9505: Fix test_deploy_vgpu_enabled tests cleanup 2016-09-26 09:08:31 -07:00
Milamber c12108cd18 Update L10N resource files with 4.10 strings from Transifex (20160925) 2016-09-25 12:07:41 +01:00
Abhinandan Prateek a39cc61fc6 CLOUDSTACK-9489: the new config vars that are added do not goto DB if values are set to NULL, removing this check so the entries in DB are made with NULL values 2016-09-23 10:58:11 +05:30
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 43f82c991c Merge release branch 4.9 to master
* 4.9:
  fix egress rule incorrect behavior
2016-09-21 15:00:30 +05:30
Rajani Karuturi cc043e9f8f Merge pull request #1666 from murali-reddy/egress_rules
CLOUDSTACK-9480,  CLOUDSTACK-9495 fix egress rule incorrect behaviorWhen 'default egress policy' is set to 'allow' in the network offering, any egress rule that is added will 'deny' the traffic overriding the default behaviour.

Conversely, when 'default egress policy' is set to 'deny' in the network offering, any egress rule that is added will 'allow' the traffic overriding the default behaviour.

While this works for 'tcp', 'udp' as expected, for 'icmp' protocol its always set to ALLOW. This patch keeps all protocols behaviour consistent.

Results of running test/integration/component/test_egress_fw_rules.py.  With out the patch test_02_egress_fr2 test was failing. This patch fixes the test_02_egress_fr2  scenario.
-----------------------------------------------------------------------------------------------------
Test By-default the communication from guest n/w to public n/w is NOT allowed. ... === TestName: test_01_1_egress_fr1 | Status : SUCCESS ===
ok
Test By-default the communication from guest n/w to public n/w is allowed. ... === TestName: test_01_egress_fr1 | Status : SUCCESS ===
ok
Test Allow Communication using Egress rule with CIDR + Port Range + Protocol. ... === TestName: test_02_1_egress_fr2 | Status : SUCCESS ===
ok
Test Allow Communication using Egress rule with CIDR + Port Range + Protocol. ... === TestName: test_02_egress_fr2 | Status : SUCCESS ===
ok
Test Communication blocked with network that is other than specified ... === TestName: test_03_1_egress_fr3 | Status : SUCCESS ===
ok
Test Communication blocked with network that is other than specified ... === TestName: test_03_egress_fr3 | Status : SUCCESS ===
ok
Test Create Egress rule and check the Firewall_Rules DB table ... === TestName: test_04_1_egress_fr4 | Status : SUCCESS ===
ok
Test Create Egress rule and check the Firewall_Rules DB table ... === TestName: test_04_egress_fr4 | Status : SUCCESS ===
ok
Test Create Egress rule and check the IP tables ... SKIP: Skip
Test Create Egress rule and check the IP tables ... SKIP: Skip
Test Create Egress rule without CIDR ... === TestName: test_06_1_egress_fr6 | Status : SUCCESS ===
ok
Test Create Egress rule without CIDR ... === TestName: test_06_egress_fr6 | Status : SUCCESS ===
ok
Test Create Egress rule without End Port ... === TestName: test_07_1_egress_fr7 | Status : EXCEPTION ===
ERROR
Test Create Egress rule without End Port ... === TestName: test_07_egress_fr7 | Status : SUCCESS ===
ok
Test Port Forwarding and Egress Conflict ... SKIP: Skip
Test Port Forwarding and Egress Conflict ... SKIP: Skip
Test Delete Egress rule ... === TestName: test_09_1_egress_fr9 | Status : SUCCESS ===
ok
Test Delete Egress rule ... === TestName: test_09_egress_fr9 | Status : SUCCESS ===
ok
Test Invalid CIDR and Invalid Port ranges ... === TestName: test_10_1_egress_fr10 | Status : SUCCESS ===
ok
Test Invalid CIDR and Invalid Port ranges ... === TestName: test_10_egress_fr10 | Status : SUCCESS ===
ok
Test Regression on Firewall + PF + LB + SNAT ... === TestName: test_11_1_egress_fr11 | Status : SUCCESS ===
ok
Test Regression on Firewall + PF + LB + SNAT ... === TestName: test_11_egress_fr11 | Status : SUCCESS ===
ok
Test Reboot Router ... === TestName: test_12_1_egress_fr12 | Status : SUCCESS ===
ok
Test Reboot Router ... === TestName: test_12_egress_fr12 | Status : EXCEPTION ===
ERROR
Test Redundant Router : Master failover ... === TestName: test_13_1_egress_fr13 | Status : SUCCESS ===
ok
Test Redundant Router : Master failover ... === TestName: test_13_egress_fr13 | Status : SUCCESS ===
ok
-----------------------------------------------------------------------------------------------------

* pr/1666:
  fix egress rule incorrect behavior

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-09-21 14:54:31 +05:30
Milamber a66ebbec61 Add the Transifex config for next version of CS (4.10) 2016-09-20 13:13:45 +01:00
Murali Reddy a43abbe47b fix egress rule incorrect behavior
CLOUDSTACK-9480: Egress Firewall: Incorrect use of Allow/Deny for ICMP

     fix ensures, ICMP, TCP, UDP are handled similalry w.r.t egress rule action

CLOUDSTACK-9495: Egress rules functionalty broken when protocol=all specified

     when protocol=all specified, CIDR was ignored. Fix ensures if CIDR is specified
     its always used in configuring iptable rules

 2 new test cased to test /32 CIDR
2016-09-20 16:56:06 +05:30
nvazquez 4104cea300 CLOUDSTACK-9502: DS template copies don’t get deleted in VMware ESXi with multiple clusters and zone wide storage 2016-09-19 07:49:31 -07:00
Abhinandan Prateek a813baed49 CLOUDSTACK-9460: For long running transactions, if the connection is
timed out by the mysql server then refresh it
2016-09-19 14:08:26 +05:30
Rajani Karuturi 3f6faeb4c3 Merge pull request #1645 from myENA/feature/convert_rbd_to_qcow
On snapshot backup, this converts the rbd raw format on disk to qcow2 for compression.

* pr/1645:
  CLOUDSTACK-9461

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-09-16 15:08:12 +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
Daniel Carbone b7e520e36f Updating Alert codes (CLOUDSTACK-9468)
- Updating codes per values present here: https://github.com/apache/cloudstack/blob/4.8/api/src/org/apache/cloudstack/alert/AlertService.java#L39
2016-09-13 14:12:55 -05:00
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
Koushik Das f31d2ddce9 Merge pull request #1560 from nvazquez/gcbug
CLOUDSTACK-9386: DS template copies dont get deleted in VMware ESXi with multiple clusters and zone wide storageJIRA TICKET: https://issues.apache.org/jira/browse/CLOUDSTACK-9386

### Introduction
In some production environments with multiple clusters it was noticed that unused templates were consuming too much storage. It was discovered that template cleanup was not deleting marked templates on ESXi.

### Description of the problem
Suppose we have multiple clusters `(c1, c2,...,cN)` on a data center and template `T` from which we deploy vms on `c1.`
Suppose now that we expunge those vms, and there's no other vm instance from template `T,` so this was the actual workflow:

1. CloudStack marks template for cleanup after `storage.cleanup.interval` seconds, by setting `marked_for_gc = 1` on `template_spool_ref` table, for that template.

2. After another `storage.cleanup.interval` seconds a `DestroyCommand` will be sent, to delete template from primary storage

3. On `VmwareResource`, command is processed, and it first picks up a random cluster, say `ci != c1` to look for vm template (using volume's path) and destroy it. But, as template was on `c1` it cannot be found, so it won't be deleted. Entry on `template_spool_ref` is deleted but not the actual template on hypervisor side.

### Proposed solution
We propose a way to attack problem shown in point 3, by not picking up a random cluster to look for vm but using vSphere data center. This way we make sure vm template will be deleted in every case, and not depending on random cluster selection

* pr/1560:
  CLOUDSTACK-9386: Find vm on datacenter instead of randomly choosing a cluster

Signed-off-by: Koushik Das <koushik@apache.org>
2016-09-13 14:43:34 +05:30
Will Stevens 6b9cd2832b Merge pull request #1658 from swill/api_diff_gen
Added an additional JSON diff output to the ApiXmlDocReaderThe original TXT diff format is very hard to work with if you are trying to programmatically use the output to generate documentation.  Previously, @pdion891 spent a lot of time trying to manually reformat this output in order for it to be represented in the Release Notes.

This pull request adds JSON as an output format as well as the existing TXT to simplify the ability for parsers and generators to use the output.

This new JSON format was used to generate the 4.9.0 release notes (that code will be contributed separately).

Old manually formatted output:
http://docs.cloudstack.apache.org/projects/cloudstack-release-notes/en/4.7.0/api-changes.html

New auto-formatted output using this new JSON output:
http://docs.cloudstack.apache.org/projects/cloudstack-release-notes/en/4.9.0/api-changes.html

I have included the output of the `diff.txt` as well as the `diff.json` to this PR so you can see the resulting output of both file formats (diff between 4.8 and 4.9).

[diff.txt.zip](https://github.com/apache/cloudstack/files/432983/diff.txt.zip)
[diff.json.zip](https://github.com/apache/cloudstack/files/432982/diff.json.zip)

* pr/1658:
  Added JSON diff output to the ApiXmlDocReader in additon TXT for parsability

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-09-12 14:42:16 -04:00
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
Rajani Karuturi 2acb0b7608 Merge pull request #866 from bvbharatk/CLOUDSTACK-8751
CLOUDSTACK-8751 minimise downtime of network when network update is in progress.more info in the bug link below.
https://issues.apache.org/jira/browse/CLOUDSTACK-8751

* pr/866:
  Added license headders
  Added a test to test update router in sequence
  Do not update network if one of the router's state is unknown
  CLOUDSTACK-8751 Added tests
  CLOUDSTACK-8751

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-09-12 17:15:23 +05:30
Bharat Kumar 8805f955a3 Added license headders 2016-09-12 16:13:32 +05:30