GitHub user PaulAngus opened a pull request: https://github.com/apache/cloudstack/pull/1691
fix ping tests to properly recognise successful ping test fix ping tests to properly recognise successful ping test (on 4.8 branch) You can merge this pull request into a Git repository by running: $ git pull https://github.com/shapeblue/cloudstack 4.8-fixpingtests Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cloudstack/pull/1691.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1691 ---- commit 95abb6efc350189cb2be0cfd655c1205ced42155 Author: Rohit Yadav <rohit.ya...@shapeblue.com> Date: 2016-04-21T10:13:04Z 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.ya...@shapeblue.com> commit 4347776ac6ef9ae86fb016862f4a6b2376f8319a Author: Rohit Yadav <rohit.ya...@shapeblue.com> Date: 2016-03-15T08:16:06Z 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.ya...@shapeblue.com> commit afcbd270b2eb9086a76dda83c0f9ba2e034b0afd Author: Rohit Yadav <rohit.ya...@shapeblue.com> Date: 2016-04-29T19:10:47Z 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.ya...@shapeblue.com> commit 003b97bcffe640e38d089c98e8215de4c8a805e6 Author: Rohit Yadav <rohit.ya...@shapeblue.com> Date: 2016-05-04T09:58:12Z maven: Fix jstl version usage This would fix regression from recent mvn version changes. Without this patch users get redirected to error.jsp as jstl-1.2 jar is not installed Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com> commit dc5b52937bf9c14634452ed47a851a689a3015c4 Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-11T05:32:02Z Merge release branch 4.8 to master * 4.8: When no zone name is available display a default commit 71c9c90e0c81ea9e0f90ab71d3430d62cd8fa02e Author: Nick Livens <nick.liv...@nuagenetworks.net> Date: 2016-05-02T11:16:14Z 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 commit 9df51faa8a2f0678e7927ac6ef23752b1eae8f71 Author: rahul singal <rahul.sin...@alcatel-lucent.com> Date: 2016-05-09T11:24:53Z Marvin script for cloudstack-9365 commit bee2bdc299844e081ef30ccc5de0c2e01b2a0581 Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-11T06:03:49Z Merge pull request #1489 from shapeblue/dynamicroles-master CLOUDSTACK-8562: Dynamic Role-Based API Checker for CloudStack### 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 * pr/1489: maven: Fix jstl version usage CLOUDSTACK-8562: Deprecate commands.properties CLOUDSTACK-8562: DB-Backed Dynamic Role Based API Access Checker CLOUDSTACK-9361: Centrally handle API validations Signed-off-by: Will Stevens <williamstev...@gmail.com> commit dad9e5d86835ccdaa39a3c62047b7fce3a32de6d Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2015-08-14T00:44:12Z 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 commit 07564469e9a2ddd0334e8bdd30deed3ed53c3f09 Author: Rohit Yadav <rohit.ya...@shapeblue.com> Date: 2015-12-28T11:07:03Z 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.ya...@shapeblue.com> commit 4d5e8df2f952c4e0594c8fc4d11181f6d3da3811 Author: Rohit Yadav <rohit.ya...@shapeblue.com> Date: 2016-05-06T00:22:07Z travis: Use patched version of ipmitool for tests - For out-of-band management feature (CLOUDSTACK-9299) use patched version of ipmitool that would work on trusty travis machines - The ipmitool used is from xenial/16.04 release with patch from RedHat https://bugzilla.redhat.com/show_bug.cgi?id=1286035 - Installs ipmitool from xenial repositories to get all the dependencies and then install patched deb version - Skip test if the known failure occurs Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com> commit e122bbfbfcf13dcec6e4848e8a8b99990047d060 Author: Rohit Yadav <rohit.ya...@shapeblue.com> Date: 2016-05-11T08:59:22Z HypervisorUtilsTest: increate timeout to 8seconds Increases timeout to a larger value to avoid failures in VM environments such as TravisCI. Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com> commit 6135f6d98fa6b363b0468c17a8e713aeb5054437 Author: Rohit Yadav <rohit.ya...@shapeblue.com> Date: 2016-05-12T05:34:37Z CLOUDSTACK-9378: Fix for #1497 Reorder cleanup items so cleanup won't fail Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com> commit 12fff7d8bda21dfea4324cfac244f96971296cdc Author: Rohit Yadav <rohit.ya...@shapeblue.com> Date: 2016-05-12T05:46:12Z maven: ignore utils/testsmallfileinactive for rat checking This fixes several Jenkins failures as previous runs don't cleanup this file created by one of the unit tests. Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com> commit 1ad0da03904fa2ddfdf5016b54ea26dea969795a Author: Mike Tutkowski <mike.tutkow...@solidfire.com> Date: 2016-05-02T21:23:56Z CLOUDSTACK-9373: Removing a few instance methods where there are class methods that are overshadowing them commit d4cb05b8f99e2b16e5d8af5656ca64b5cf472b68 Author: Rohit Yadav <rohit.ya...@shapeblue.com> Date: 2013-06-20T00:08:25Z utils: Disable NioTest Disable the NioTest, it is far to dependent on the network configuration of the machine running the test. Cherry-picked change from a historic commit where this test was disabled. (cherry picked from commit 881a6e164ece8e34154555b71e97c9f1763674f5) Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com> commit 11e3582fdf2ab94e70591f4603e84db59519f342 Author: Paul Angus <paul.an...@shapeblue.com> Date: 2016-05-10T20:24:29Z Remove extraneous log directory and add catalina.out log rotation commit 103d62ee026eab50c933a680b33091951a888627 Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-12T15:04:53Z 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 commit 143265c49fcd573999d43c5811d2c69103c49a67 Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-12T15:06:13Z 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 <williamstev...@gmail.com> commit 7e41747c339ac827e9a1d063d7cd6bca13a7795e Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-12T15:07:35Z 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 <williamstev...@gmail.com> commit c79affaefb674a38c18ea008d4e1fb384b1ec6ca Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-12T15:08:53Z Merge pull request #1528 from mike-tutkowski/marvin_methods CLOUDSTACK-9373: Class methods over-shawdowing instance methodsWe have some methods in base.py that are named the same. Per my findings below, Python methods in a class should not be named the same even if one is a class method and the other is an instance method. The solution discussed on dev@ is to remove the instance versions (reason listed in e-mail text, which is listed in JIRA ticket). https://issues.apache.org/jira/browse/CLOUDSTACK-9373 * pr/1528: CLOUDSTACK-9373: Removing a few instance methods where there are class methods that are overshadowing them Signed-off-by: Will Stevens <williamstev...@gmail.com> commit 688522ecd41d5e2bf09467aa236deb50f7826982 Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-12T15:11:27Z Merge pull request #1385 from DaanHoogland/CLOUDSTACK-9265 CLOUDSTACK-9265 cleanup around httpclient versionssome cleanup done - replaced HttpStatus from org.apache.commons.httpclient with that from org.apache.http - removed unthrown HttpException - left auto reformat in place * pr/1385: CLOUDSTACK-9265 cleanup around httpclient versions Signed-off-by: Will Stevens <williamstev...@gmail.com> commit f88cb880974fa56866492c437af291e40bd1a4f6 Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-12T20:38:36Z Merge pull request #1538 from shapeblue/nio-test-timeoutfix Disable NioTestHistorically NioTest has caused issue in CI environment and several developer machines due to network requirements which could be disabled by firewall or security enforcers such as selinux. This disables the test once again using a historic commit 881a6e1 Signed-off-by: Rohit Yadav <rohit.yada To build and just run this test: mvn clean install -pl utils -Dtest=NioTest * pr/1538: utils: Disable NioTest Signed-off-by: Will Stevens <williamstev...@gmail.com> commit 3f97908417dc3250330820df8b8a134928a3a75c Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-12T20:47:09Z Merge release branch 4.8 to master * 4.8: writeIfNotHere requires an array of strings, not a string commit 20cf8b23c015fc2a6ba8d6ac4b086258ccf5236e Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-12T20:48:02Z Merge pull request #1453 from GabrielBrascher/brascher-removeUnusedClasses2 Remove classes with no referencesI used UCDetector (http://www.ucdetector.org/) as a plugin for Eclipse. With this tool, I discovered a lot of code without any reference (variables, methods and classes). Following the work that was done at [https://github.com/apache/cloudstack/pull/1448]; this pull request had the goal of removing some of these classes. To check if I wasn't missing anything I searched for any file that could reference some of those classes. As I haven't found any way of these classes being used, they were removed. Note that some of them I found other references, but references such as commented lines or tests, nothing that could indicate their use (as XML files configuring beans or another class instantiating an object with "new"). Waiting for tests. Please tell me if I am missing something. Removed Classes: - org.apache.cloudstack.framework.jobs.JobCancellationException (**Note:** removed variable JobCancellationException in com.cloud.utils.SerialVersionUID) - org.apache.cloudstack.ldap.NoSuchLdapUserException (**Note:** removed test file /cloud-plugin-user-authenticator-ldap/test/groovy/org/apache/cloudstack/ldap/NoSuchLdapUserExceptionSpec.groovy) - com.cloud.agent.api.storage.CreateVolumeOVAAnswer - com.cloud.exception.MissingParameterValueException - org.apache.cloudstack.api.response.StatusResponse - org.apache.cloudstack.api.response.VolumeDetailResponse - org.apache.cloudstack.api.response.UpgradeVmResponse - org.apache.cloudstack.api.response.AddIpToVmNicResponse - org.apache.cloudstack.api.response.TemplateZoneResponse (**Note:** at org.apache.cloudstack.api.response.TemplateResponse, there is this comment "To avoid breaking backwards compatibility, we still treat a template at different zones as different templates, so not embedding template_zone information in this TemplateZoneResponse set. `private Set<TemplateZoneResponse> zones;`" but right now it is not used) - org.apache.cloudstack.api.response.NicDetailResponse * pr/1453: Removed classes with no reference Signed-off-by: Will Stevens <williamstev...@gmail.com> commit 8c3722d953fc54aed38824265be8bf27f4dd0abf Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-12T20:49:13Z 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 <williamstev...@gmail.com> commit 9320f858f37c5d86e9949cbfe467b9b852c98693 Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-12T20:50:39Z Merge pull request #1460 from shapeblue/jsb/jenv-pyenv CLOUDSTACK-9334: Support jenv and pyenv to manage Java and Python versions * Adds .java-version to specify Java 1.7 as the JDK version to use for CloudStack development. jenv does not support comments in this file. Therefore, no license header is present. * Adds .python-vresion to specify Python 2.7.11 as the Python to use for CloudStack development. pyenv does not support comments in this file. Therefore, no license header is present. * Adds requirements.txt to specify the default dependencies used for CloudStack development. It does not include Marvin's dependencies because it's bundle already defines the dependencies which are installed with Marvin. * Updates INSTALL.md to explain how to utilize jenv and pyenv for CloudStack development * pr/1460: CLOUDSTACK-9334: Support jenv and pyenv to manage Java and Python versions Signed-off-by: Will Stevens <williamstev...@gmail.com> commit 9b93989032b05567a57a05b0f41a990b1474436e Author: Milamber <milam...@apache.org> Date: 2016-01-27T16:46:39Z Update L10N resource files with 4.9 strings from Transifex (20160511) Force "translator" mode with the transifex client. Update Transifex client config file (regenerated by Tx client) commit 2b4b8aa40cc94d9cc98ed35001551e2fa2203511 Author: Will Stevens <williamstev...@gmail.com> Date: 2016-05-12T22:25:08Z Merge release branch 4.8 to master * 4.8: This patch addresses two issues: commit 540d9572fd491db3ce182d26636fc74ada4e171c Author: Rohit Yadav <rohit.ya...@shapeblue.com> Date: 2016-05-13T03:24:24Z CLOUDSTACK-9348: Make NioConnectio loop less aggressive - Reverts ea2286 that introduced a wakeup on each connection loop run. - In SSL handshake code removes delegated tasks to be run in separate threads. Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com> ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---