Merge pull request #737 from miguelaferreira/feature/mferreira/ncx-follow-redirects-gardened-rebase
CLOUDSTACK-8758: Handle redirects in communication with NXS controller (a.k.a. Nicira NVP)When an NSX controller node is part of a cluster it will redirect API calls to the master controller. Because the ACS management server does not follow such redirects, if there is a change of master within a NSX cluster, the NSX device (a.k.a. NiciraNvp) needs to be reconfigured (via the management server DB). The goal of this PR is to enable ACS management server to follow HTTP redirects sent by NSX controllers. However, other changes were made to the cloud-utils module that provides the REST client that the NSX plugin uses. Cosmetic changes: * Upgrade maven module structure for cloud-utils and cloud-plugin-netowkr-nvp to comply with maven default * Several refactorings on both modules to consistently format the code, remove unused code, declare final when possible, remove auto generated comments, etc Other changes: * Upgrade HTTP library used in REST client to version 4.5 of Apache HTTP Components * Implement generic REST client that supports HTTP redirects * Implement NSX specific REST client * Simplify NSX api implementation * Previously existing unit tests for both the REST client and NSX api were either maintained in the same test classes, moved to new test classes (because code under tests also moved), or removed (because code under tests was also removed) * New Marvin tests for NSX controllers Testing: * Ran all unit tests present in the project * Ran Java Integration tests for NSX api targeting both a master and a slave controller * Ran new Marvin test for NSX controller * Manual inspection of logs to confirm redirection is taking place * pr/737: Use NSX specific RestClient in API implementation (NiciraNvpApi) Refactor NSX api implementation (NiciraNvpApi) Add NSX specific RestClient implementation Delegate HTTP protocol activity in RESTServiceConnector to RestClient Add basic RestClient implentation based on HTTP Components 4.5 Code clean up in cloud-plugin-network-nvp project Code clean up in cloud-utils project Refactor cloud-plugin-network-nvp project into Maven default structure Refactor cloud-utils project into Maven default structure Fix unit-test library dependencies Add Marvin test for Nicira NVP plugin Create Nicira NVP devices and enable plugin at deploy Signed-off-by: Remi Bergsma <git...@remi.nl> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/44ba14d1 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/44ba14d1 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/44ba14d1 Branch: refs/heads/deploy-from-snapshot Commit: 44ba14d17ba3b8fa00cd05c97eaceed49367816c Parents: 2772e4d 09f7153 Author: Remi Bergsma <git...@remi.nl> Authored: Tue Aug 25 20:44:50 2015 +0200 Committer: Remi Bergsma <git...@remi.nl> Committed: Tue Aug 25 20:44:52 2015 +0200 ---------------------------------------------------------------------- plugins/network-elements/nicira-nvp/pom.xml | 24 +- .../META-INF/cloudstack/nvp/module.properties | 21 - .../cloudstack/nvp/spring-nvp-context.xml | 42 - ...ortForwardingRulesOnLogicalRouterAnswer.java | 35 - ...rtForwardingRulesOnLogicalRouterCommand.java | 63 - ...ConfigurePublicIpsOnLogicalRouterAnswer.java | 32 - ...onfigurePublicIpsOnLogicalRouterCommand.java | 66 - ...gureStaticNatRulesOnLogicalRouterAnswer.java | 44 - ...ureStaticNatRulesOnLogicalRouterCommand.java | 65 - .../agent/api/CreateLogicalRouterAnswer.java | 42 - .../agent/api/CreateLogicalRouterCommand.java | 116 -- .../agent/api/CreateLogicalSwitchAnswer.java | 38 - .../agent/api/CreateLogicalSwitchCommand.java | 57 - .../api/CreateLogicalSwitchPortAnswer.java | 38 - .../api/CreateLogicalSwitchPortCommand.java | 56 - .../agent/api/DeleteLogicalRouterAnswer.java | 34 - .../agent/api/DeleteLogicalRouterCommand.java | 44 - .../agent/api/DeleteLogicalSwitchAnswer.java | 32 - .../agent/api/DeleteLogicalSwitchCommand.java | 38 - .../api/DeleteLogicalSwitchPortAnswer.java | 32 - .../api/DeleteLogicalSwitchPortCommand.java | 44 - .../agent/api/FindLogicalSwitchPortAnswer.java | 38 - .../agent/api/FindLogicalSwitchPortCommand.java | 44 - .../agent/api/StartupNiciraNvpCommand.java | 30 - .../api/UpdateLogicalSwitchPortAnswer.java | 38 - .../api/UpdateLogicalSwitchPortCommand.java | 63 - .../api/commands/AddNiciraNvpDeviceCmd.java | 154 -- .../api/commands/DeleteNiciraNvpDeviceCmd.java | 112 -- .../ListNiciraNvpDeviceNetworksCmd.java | 111 -- .../api/commands/ListNiciraNvpDevicesCmd.java | 108 -- .../api/response/NiciraNvpDeviceResponse.java | 89 - .../com/cloud/network/NiciraNvpDeviceVO.java | 99 -- .../cloud/network/NiciraNvpNicMappingVO.java | 87 - .../cloud/network/NiciraNvpRouterMappingVO.java | 85 - .../src/com/cloud/network/dao/NiciraNvpDao.java | 35 - .../com/cloud/network/dao/NiciraNvpDaoImpl.java | 53 - .../network/dao/NiciraNvpNicMappingDao.java | 32 - .../network/dao/NiciraNvpNicMappingDaoImpl.java | 51 - .../network/dao/NiciraNvpRouterMappingDao.java | 28 - .../dao/NiciraNvpRouterMappingDaoImpl.java | 51 - .../cloud/network/element/NiciraNvpElement.java | 849 ---------- .../element/NiciraNvpElementService.java | 45 - .../network/guru/NiciraNvpGuestNetworkGuru.java | 256 --- .../network/nicira/AccessConfiguration.java | 44 - .../com/cloud/network/nicira/AccessRule.java | 58 - .../src/com/cloud/network/nicira/Acl.java | 23 - .../src/com/cloud/network/nicira/AclRule.java | 209 --- .../com/cloud/network/nicira/Attachment.java | 24 - .../cloud/network/nicira/BaseNiciraEntity.java | 85 - .../network/nicira/BaseNiciraNamedEntity.java | 44 - .../network/nicira/ControlClusterStatus.java | 87 - .../network/nicira/DestinationNatRule.java | 113 -- .../network/nicira/L3GatewayAttachment.java | 55 - .../com/cloud/network/nicira/LogicalRouter.java | 71 - .../cloud/network/nicira/LogicalRouterPort.java | 62 - .../com/cloud/network/nicira/LogicalSwitch.java | 60 - .../cloud/network/nicira/LogicalSwitchPort.java | 82 - .../src/com/cloud/network/nicira/Match.java | 146 -- .../src/com/cloud/network/nicira/NatRule.java | 130 -- .../com/cloud/network/nicira/NiciraNvpApi.java | 658 -------- .../network/nicira/NiciraNvpApiException.java | 39 - .../com/cloud/network/nicira/NiciraNvpList.java | 48 - .../com/cloud/network/nicira/NiciraNvpTag.java | 64 - .../cloud/network/nicira/PatchAttachment.java | 41 - .../com/cloud/network/nicira/RouterNextHop.java | 40 - .../com/cloud/network/nicira/RoutingConfig.java | 24 - .../nicira/RoutingTableRoutingConfig.java | 30 - .../cloud/network/nicira/SecurityProfile.java | 24 - .../com/cloud/network/nicira/SecurityRule.java | 138 -- ...SingleDefaultRouteImplicitRoutingConfig.java | 40 - .../com/cloud/network/nicira/SourceNatRule.java | 119 -- .../network/nicira/TransportZoneBinding.java | 50 - .../com/cloud/network/nicira/VifAttachment.java | 78 - .../resource/NiciraNvpRequestWrapper.java | 77 - .../network/resource/NiciraNvpResource.java | 319 ---- .../network/resource/NiciraNvpUtilities.java | 65 - ...figurePortForwardingRulesCommandWrapper.java | 120 -- ...ciraNvpConfigurePublicIpsCommandWrapper.java | 60 - ...vpConfigureStaticNatRulesCommandWrapper.java | 113 -- ...iraNvpCreateLogicalRouterCommandWrapper.java | 152 -- ...iraNvpCreateLogicalSwitchCommandWrapper.java | 73 - ...vpCreateLogicalSwitchPortCommandWrapper.java | 70 - ...iraNvpDeleteLogicalRouterCommandWrapper.java | 50 - ...iraNvpDeleteLogicalSwitchCommandWrapper.java | 49 - ...vpDeleteLogicalSwitchPortCommandWrapper.java | 50 - ...aNvpFindLogicalSwitchPortCommandWrapper.java | 59 - .../NiciraNvpMaintainCommandWrapper.java | 36 - .../wrapper/NiciraNvpReadyCommandWrapper.java | 36 - ...vpUpdateLogicalSwitchPortCommandWrapper.java | 68 - .../network/utils/CommandRetryUtility.java | 89 - ...ortForwardingRulesOnLogicalRouterAnswer.java | 35 + ...rtForwardingRulesOnLogicalRouterCommand.java | 63 + ...ConfigurePublicIpsOnLogicalRouterAnswer.java | 32 + ...onfigurePublicIpsOnLogicalRouterCommand.java | 66 + ...gureStaticNatRulesOnLogicalRouterAnswer.java | 44 + ...ureStaticNatRulesOnLogicalRouterCommand.java | 65 + .../agent/api/CreateLogicalRouterAnswer.java | 42 + .../agent/api/CreateLogicalRouterCommand.java | 116 ++ .../agent/api/CreateLogicalSwitchAnswer.java | 38 + .../agent/api/CreateLogicalSwitchCommand.java | 57 + .../api/CreateLogicalSwitchPortAnswer.java | 38 + .../api/CreateLogicalSwitchPortCommand.java | 56 + .../agent/api/DeleteLogicalRouterAnswer.java | 34 + .../agent/api/DeleteLogicalRouterCommand.java | 44 + .../agent/api/DeleteLogicalSwitchAnswer.java | 32 + .../agent/api/DeleteLogicalSwitchCommand.java | 38 + .../api/DeleteLogicalSwitchPortAnswer.java | 32 + .../api/DeleteLogicalSwitchPortCommand.java | 44 + .../agent/api/FindLogicalSwitchPortAnswer.java | 38 + .../agent/api/FindLogicalSwitchPortCommand.java | 44 + .../agent/api/StartupNiciraNvpCommand.java | 30 + .../api/UpdateLogicalSwitchPortAnswer.java | 38 + .../api/UpdateLogicalSwitchPortCommand.java | 63 + .../api/commands/AddNiciraNvpDeviceCmd.java | 154 ++ .../api/commands/DeleteNiciraNvpDeviceCmd.java | 112 ++ .../ListNiciraNvpDeviceNetworksCmd.java | 111 ++ .../api/commands/ListNiciraNvpDevicesCmd.java | 108 ++ .../api/response/NiciraNvpDeviceResponse.java | 89 + .../com/cloud/network/NiciraNvpDeviceVO.java | 99 ++ .../cloud/network/NiciraNvpNicMappingVO.java | 87 + .../cloud/network/NiciraNvpRouterMappingVO.java | 85 + .../com/cloud/network/dao/NiciraNvpDao.java | 35 + .../com/cloud/network/dao/NiciraNvpDaoImpl.java | 53 + .../network/dao/NiciraNvpNicMappingDao.java | 32 + .../network/dao/NiciraNvpNicMappingDaoImpl.java | 51 + .../network/dao/NiciraNvpRouterMappingDao.java | 28 + .../dao/NiciraNvpRouterMappingDaoImpl.java | 51 + .../cloud/network/element/NiciraNvpElement.java | 849 ++++++++++ .../element/NiciraNvpElementService.java | 45 + .../network/guru/NiciraNvpGuestNetworkGuru.java | 251 +++ .../network/nicira/AccessConfiguration.java | 44 + .../com/cloud/network/nicira/AccessRule.java | 58 + .../main/java/com/cloud/network/nicira/Acl.java | 23 + .../java/com/cloud/network/nicira/AclRule.java | 209 +++ .../com/cloud/network/nicira/Attachment.java | 24 + .../cloud/network/nicira/BaseNiciraEntity.java | 85 + .../network/nicira/BaseNiciraNamedEntity.java | 44 + .../network/nicira/ControlClusterStatus.java | 87 + .../network/nicira/DestinationNatRule.java | 113 ++ .../cloud/network/nicira/ExecutionCounter.java | 50 + .../network/nicira/L3GatewayAttachment.java | 55 + .../com/cloud/network/nicira/LogicalRouter.java | 71 + .../cloud/network/nicira/LogicalRouterPort.java | 62 + .../com/cloud/network/nicira/LogicalSwitch.java | 60 + .../cloud/network/nicira/LogicalSwitchPort.java | 82 + .../java/com/cloud/network/nicira/Match.java | 146 ++ .../java/com/cloud/network/nicira/NatRule.java | 130 ++ .../cloud/network/nicira/NatRuleAdapter.java | 49 + .../cloud/network/nicira/NiciraConstants.java | 42 + .../com/cloud/network/nicira/NiciraNvpApi.java | 627 +++++++ .../network/nicira/NiciraNvpApiException.java | 39 + .../com/cloud/network/nicira/NiciraNvpList.java | 48 + .../com/cloud/network/nicira/NiciraNvpTag.java | 64 + .../cloud/network/nicira/NiciraRestClient.java | 202 +++ .../cloud/network/nicira/PatchAttachment.java | 41 + .../com/cloud/network/nicira/RouterNextHop.java | 40 + .../com/cloud/network/nicira/RoutingConfig.java | 24 + .../network/nicira/RoutingConfigAdapter.java | 52 + .../nicira/RoutingTableRoutingConfig.java | 30 + .../cloud/network/nicira/SecurityProfile.java | 24 + .../com/cloud/network/nicira/SecurityRule.java | 138 ++ ...SingleDefaultRouteImplicitRoutingConfig.java | 40 + .../com/cloud/network/nicira/SourceNatRule.java | 119 ++ .../network/nicira/TransportZoneBinding.java | 50 + .../com/cloud/network/nicira/VifAttachment.java | 78 + .../resource/NiciraNvpRequestWrapper.java | 77 + .../network/resource/NiciraNvpResource.java | 335 ++++ .../network/resource/NiciraNvpUtilities.java | 65 + ...figurePortForwardingRulesCommandWrapper.java | 122 ++ ...ciraNvpConfigurePublicIpsCommandWrapper.java | 61 + ...vpConfigureStaticNatRulesCommandWrapper.java | 114 ++ ...iraNvpCreateLogicalRouterCommandWrapper.java | 152 ++ ...iraNvpCreateLogicalSwitchCommandWrapper.java | 73 + ...vpCreateLogicalSwitchPortCommandWrapper.java | 70 + ...iraNvpDeleteLogicalRouterCommandWrapper.java | 50 + ...iraNvpDeleteLogicalSwitchCommandWrapper.java | 49 + ...vpDeleteLogicalSwitchPortCommandWrapper.java | 50 + ...aNvpFindLogicalSwitchPortCommandWrapper.java | 60 + .../NiciraNvpMaintainCommandWrapper.java | 36 + .../wrapper/NiciraNvpReadyCommandWrapper.java | 36 + ...vpUpdateLogicalSwitchPortCommandWrapper.java | 68 + .../network/utils/CommandRetryUtility.java | 89 + .../META-INF/cloudstack/nvp/module.properties | 21 + .../cloudstack/nvp/spring-nvp-context.xml | 42 + .../network/element/NiciraNvpElementTest.java | 217 +++ .../guru/NiciraNvpGuestNetworkGuruTest.java | 476 ++++++ .../network/nicira/ExecutionCounterTest.java | 55 + .../network/nicira/NatRuleAdapterTest.java | 60 + .../com/cloud/network/nicira/NatRuleTest.java | 55 + .../cloud/network/nicira/NiciraNvpApiIT.java | 319 ++++ .../cloud/network/nicira/NiciraNvpApiTest.java | 198 +++ .../network/nicira/NiciraRestClientTest.java | 172 ++ .../com/cloud/network/nicira/NiciraTagTest.java | 58 + .../nicira/RoutingConfigAdapterTest.java | 57 + .../resource/NiciraNvpRequestWrapperTest.java | 250 +++ .../network/resource/NiciraNvpResourceTest.java | 829 ++++++++++ .../src/test/resources/config.properties | 23 + .../network/element/NiciraNvpElementTest.java | 217 --- .../guru/NiciraNvpGuestNetworkGuruTest.java | 476 ------ .../com/cloud/network/nicira/NatRuleTest.java | 55 - .../cloud/network/nicira/NiciraNvpApiIT.java | 347 ---- .../cloud/network/nicira/NiciraNvpApiTest.java | 339 ---- .../com/cloud/network/nicira/NiciraTagTest.java | 58 - .../resource/NiciraNvpRequestWrapperTest.java | 255 --- .../network/resource/NiciraNvpResourceTest.java | 882 ---------- .../nicira-nvp/test/resources/config.properties | 23 - pom.xml | 169 +- .../integration/smoke/test_nicira_controller.py | 310 ++++ tools/marvin/marvin/cloudstackTestCase.py | 4 + tools/marvin/marvin/deployDataCenter.py | 112 +- tools/marvin/marvin/lib/base.py | 46 + utils/certs/cloud.keystore | Bin 1316 -> 0 bytes utils/pom.xml | 44 +- utils/src/com/cloud/maint/Version.java | 77 - utils/src/com/cloud/utils/ActionDelegate.java | 24 - .../src/com/cloud/utils/AutoCloseableUtil.java | 36 - .../com/cloud/utils/CloudResourceBundle.java | 48 - .../com/cloud/utils/ConstantTimeComparator.java | 42 - utils/src/com/cloud/utils/DateUtil.java | 274 ---- utils/src/com/cloud/utils/EncryptionUtil.java | 73 - utils/src/com/cloud/utils/EnumUtils.java | 58 - utils/src/com/cloud/utils/ExecutionResult.java | 46 - utils/src/com/cloud/utils/FileUtil.java | 32 - utils/src/com/cloud/utils/HttpUtils.java | 114 -- utils/src/com/cloud/utils/IteratorUtil.java | 72 - utils/src/com/cloud/utils/Journal.java | 104 -- utils/src/com/cloud/utils/LogUtils.java | 45 - utils/src/com/cloud/utils/MethodCapturer.java | 113 -- utils/src/com/cloud/utils/NumbersUtil.java | 139 -- utils/src/com/cloud/utils/Pair.java | 87 - .../src/com/cloud/utils/PasswordGenerator.java | 90 - utils/src/com/cloud/utils/Predicate.java | 24 - utils/src/com/cloud/utils/ProcessUtil.java | 112 -- utils/src/com/cloud/utils/Profiler.java | 91 - utils/src/com/cloud/utils/PropertiesUtil.java | 196 --- utils/src/com/cloud/utils/ReflectUtil.java | 213 --- utils/src/com/cloud/utils/ReflectionUse.java | 31 - utils/src/com/cloud/utils/S3Utils.java | 603 ------- utils/src/com/cloud/utils/SerialVersionUID.java | 69 - utils/src/com/cloud/utils/StringUtils.java | 323 ---- utils/src/com/cloud/utils/SwiftUtil.java | 239 --- utils/src/com/cloud/utils/Ternary.java | 85 - utils/src/com/cloud/utils/UriUtils.java | 394 ----- .../cloud/utils/UsernamePasswordValidator.java | 49 - utils/src/com/cloud/utils/UuidUtils.java | 34 - .../cloud/utils/backoff/BackoffAlgorithm.java | 38 - .../utils/backoff/impl/ConstantTimeBackoff.java | 102 -- .../backoff/impl/ConstantTimeBackoffMBean.java | 35 - .../utils/cisco/n1kv/vsm/NetconfHelper.java | 355 ---- .../cloud/utils/cisco/n1kv/vsm/PolicyMap.java | 34 - .../cloud/utils/cisco/n1kv/vsm/PortProfile.java | 48 - .../cloud/utils/cisco/n1kv/vsm/VsmCommand.java | 999 ----------- .../utils/cisco/n1kv/vsm/VsmOkResponse.java | 44 - .../cisco/n1kv/vsm/VsmPolicyMapResponse.java | 84 - .../cisco/n1kv/vsm/VsmPortProfileResponse.java | 166 -- .../cloud/utils/cisco/n1kv/vsm/VsmResponse.java | 222 --- .../src/com/cloud/utils/component/Adapter.java | 27 - .../com/cloud/utils/component/AdapterBase.java | 40 - .../com/cloud/utils/component/AdapterList.java | 37 - .../cloud/utils/component/ComponentContext.java | 282 ---- .../ComponentInstantiationPostProcessor.java | 149 -- .../utils/component/ComponentLifecycle.java | 64 - .../utils/component/ComponentLifecycleBase.java | 87 - .../component/ComponentMethodInterceptable.java | 27 - .../component/ComponentMethodInterceptor.java | 32 - .../utils/component/ComponentNamingPolicy.java | 65 - .../src/com/cloud/utils/component/Manager.java | 27 - .../com/cloud/utils/component/ManagerBase.java | 28 - utils/src/com/cloud/utils/component/Named.java | 26 - .../cloud/utils/component/PluggableService.java | 29 - .../src/com/cloud/utils/component/Registry.java | 51 - .../utils/component/SystemIntegrityChecker.java | 30 - .../utils/concurrency/NamedThreadFactory.java | 38 - .../com/cloud/utils/concurrency/Scheduler.java | 31 - .../utils/concurrency/SynchronizationEvent.java | 89 - .../com/cloud/utils/concurrency/TestClock.java | 161 -- .../com/cloud/utils/crypt/DBEncryptionUtil.java | 87 - .../utils/crypt/EncryptionSecretKeyChecker.java | 146 -- .../utils/crypt/EncryptionSecretKeySender.java | 65 - utils/src/com/cloud/utils/crypt/RSAHelper.java | 90 - utils/src/com/cloud/utils/db/DbProperties.java | 109 -- utils/src/com/cloud/utils/db/EntityManager.java | 84 - utils/src/com/cloud/utils/db/UUIDManager.java | 48 - .../com/cloud/utils/encoding/URLEncoder.java | 113 -- utils/src/com/cloud/utils/events/EventArgs.java | 44 - .../com/cloud/utils/events/SubscriptionMgr.java | 164 -- .../utils/exception/CSExceptionErrorCode.java | 100 -- .../utils/exception/CloudRuntimeException.java | 141 -- .../com/cloud/utils/exception/ErrorContext.java | 31 - .../utils/exception/ExceptionProxyObject.java | 55 - .../cloud/utils/exception/ExceptionUtil.java | 54 - .../utils/exception/ExecutionException.java | 49 - .../HypervisorVersionChangedException.java | 35 - utils/src/com/cloud/utils/fsm/ChangeEvent.java | 24 - utils/src/com/cloud/utils/fsm/FiniteState.java | 58 - utils/src/com/cloud/utils/fsm/FiniteState2.java | 34 - .../com/cloud/utils/fsm/FiniteStateObject.java | 25 - .../cloud/utils/fsm/NoTransitionException.java | 36 - utils/src/com/cloud/utils/fsm/State.java | 27 - utils/src/com/cloud/utils/fsm/StateDao.java | 25 - .../src/com/cloud/utils/fsm/StateListener.java | 43 - utils/src/com/cloud/utils/fsm/StateMachine.java | 147 -- .../src/com/cloud/utils/fsm/StateMachine2.java | 261 --- utils/src/com/cloud/utils/fsm/StateObject.java | 27 - .../cloud/utils/log/CglibThrowableRenderer.java | 84 - utils/src/com/cloud/utils/mgmt/JmxUtil.java | 90 - .../com/cloud/utils/mgmt/ManagementBean.java | 27 - .../utils/mgmt/PropertyMapDynamicBean.java | 120 -- utils/src/com/cloud/utils/net/Ip.java | 98 -- utils/src/com/cloud/utils/net/Ip4Address.java | 80 - utils/src/com/cloud/utils/net/MacAddress.java | 367 ----- utils/src/com/cloud/utils/net/NetUtils.java | 1550 ------------------ utils/src/com/cloud/utils/net/NfsUtils.java | 55 - utils/src/com/cloud/utils/net/UrlUtil.java | 63 - .../src/com/cloud/utils/nio/HandlerFactory.java | 28 - utils/src/com/cloud/utils/nio/Link.java | 567 ------- utils/src/com/cloud/utils/nio/NioClient.java | 125 -- .../src/com/cloud/utils/nio/NioConnection.java | 476 ------ utils/src/com/cloud/utils/nio/NioServer.java | 97 -- utils/src/com/cloud/utils/nio/Task.java | 89 - .../com/cloud/utils/nio/TrustAllManager.java | 45 - .../BasicEncodedRESTValidationStrategy.java | 66 - .../utils/rest/CloudstackRESTException.java | 39 - .../cloud/utils/rest/RESTServiceConnector.java | 395 ----- .../utils/rest/RESTValidationStrategy.java | 165 -- .../cloud/utils/script/OutputInterpreter.java | 141 -- utils/src/com/cloud/utils/script/Script.java | 502 ------ utils/src/com/cloud/utils/script/Script2.java | 70 - .../cloud/utils/security/CertificateHelper.java | 166 -- utils/src/com/cloud/utils/ssh/SSHCmdHelper.java | 179 -- .../src/com/cloud/utils/ssh/SSHKeysHelper.java | 115 -- utils/src/com/cloud/utils/ssh/SshException.java | 30 - utils/src/com/cloud/utils/ssh/SshHelper.java | 209 --- .../storage/encoding/DecodedDataObject.java | 56 - .../storage/encoding/DecodedDataStore.java | 68 - .../cloud/utils/storage/encoding/Decoder.java | 66 - .../utils/storage/encoding/EncodingType.java | 32 - .../com/cloud/utils/time/InaccurateClock.java | 102 -- .../cloud/utils/time/InaccurateClockMBean.java | 28 - .../com/cloud/utils/xmlobject/XmlObject.java | 214 --- .../cloud/utils/xmlobject/XmlObjectParser.java | 128 -- .../src/main/java/com/cloud/maint/Version.java | 77 + .../java/com/cloud/utils/ActionDelegate.java | 24 + .../java/com/cloud/utils/AutoCloseableUtil.java | 36 + .../com/cloud/utils/CloudResourceBundle.java | 48 + .../com/cloud/utils/ConstantTimeComparator.java | 42 + .../src/main/java/com/cloud/utils/DateUtil.java | 274 ++++ .../java/com/cloud/utils/EncryptionUtil.java | 73 + .../main/java/com/cloud/utils/EnumUtils.java | 58 + .../java/com/cloud/utils/ExecutionResult.java | 46 + .../src/main/java/com/cloud/utils/FileUtil.java | 32 + .../main/java/com/cloud/utils/HttpUtils.java | 114 ++ .../main/java/com/cloud/utils/IteratorUtil.java | 72 + .../src/main/java/com/cloud/utils/Journal.java | 104 ++ .../src/main/java/com/cloud/utils/LogUtils.java | 45 + .../java/com/cloud/utils/MethodCapturer.java | 113 ++ .../main/java/com/cloud/utils/NumbersUtil.java | 139 ++ utils/src/main/java/com/cloud/utils/Pair.java | 87 + .../java/com/cloud/utils/PasswordGenerator.java | 90 + .../main/java/com/cloud/utils/Predicate.java | 24 + .../main/java/com/cloud/utils/ProcessUtil.java | 112 ++ .../src/main/java/com/cloud/utils/Profiler.java | 91 + .../java/com/cloud/utils/PropertiesUtil.java | 196 +++ .../main/java/com/cloud/utils/ReflectUtil.java | 213 +++ .../java/com/cloud/utils/ReflectionUse.java | 31 + .../src/main/java/com/cloud/utils/S3Utils.java | 603 +++++++ .../java/com/cloud/utils/SerialVersionUID.java | 69 + .../main/java/com/cloud/utils/StringUtils.java | 323 ++++ .../main/java/com/cloud/utils/SwiftUtil.java | 239 +++ .../src/main/java/com/cloud/utils/Ternary.java | 85 + .../src/main/java/com/cloud/utils/UriUtils.java | 394 +++++ .../cloud/utils/UsernamePasswordValidator.java | 49 + .../main/java/com/cloud/utils/UuidUtils.java | 34 + .../cloud/utils/backoff/BackoffAlgorithm.java | 38 + .../utils/backoff/impl/ConstantTimeBackoff.java | 102 ++ .../backoff/impl/ConstantTimeBackoffMBean.java | 35 + .../utils/cisco/n1kv/vsm/NetconfHelper.java | 355 ++++ .../cloud/utils/cisco/n1kv/vsm/PolicyMap.java | 34 + .../cloud/utils/cisco/n1kv/vsm/PortProfile.java | 48 + .../cloud/utils/cisco/n1kv/vsm/VsmCommand.java | 999 +++++++++++ .../utils/cisco/n1kv/vsm/VsmOkResponse.java | 44 + .../cisco/n1kv/vsm/VsmPolicyMapResponse.java | 84 + .../cisco/n1kv/vsm/VsmPortProfileResponse.java | 166 ++ .../cloud/utils/cisco/n1kv/vsm/VsmResponse.java | 222 +++ .../java/com/cloud/utils/component/Adapter.java | 27 + .../com/cloud/utils/component/AdapterBase.java | 40 + .../com/cloud/utils/component/AdapterList.java | 37 + .../cloud/utils/component/ComponentContext.java | 282 ++++ .../ComponentInstantiationPostProcessor.java | 149 ++ .../utils/component/ComponentLifecycle.java | 64 + .../utils/component/ComponentLifecycleBase.java | 87 + .../component/ComponentMethodInterceptable.java | 27 + .../component/ComponentMethodInterceptor.java | 32 + .../utils/component/ComponentNamingPolicy.java | 65 + .../java/com/cloud/utils/component/Manager.java | 27 + .../com/cloud/utils/component/ManagerBase.java | 28 + .../java/com/cloud/utils/component/Named.java | 26 + .../cloud/utils/component/PluggableService.java | 29 + .../com/cloud/utils/component/Registry.java | 51 + .../utils/component/SystemIntegrityChecker.java | 30 + .../utils/concurrency/NamedThreadFactory.java | 38 + .../com/cloud/utils/concurrency/Scheduler.java | 31 + .../utils/concurrency/SynchronizationEvent.java | 89 + .../com/cloud/utils/concurrency/TestClock.java | 161 ++ .../com/cloud/utils/crypt/DBEncryptionUtil.java | 87 + .../utils/crypt/EncryptionSecretKeyChecker.java | 146 ++ .../utils/crypt/EncryptionSecretKeySender.java | 65 + .../java/com/cloud/utils/crypt/RSAHelper.java | 90 + .../java/com/cloud/utils/db/DbProperties.java | 109 ++ .../java/com/cloud/utils/db/EntityManager.java | 84 + .../java/com/cloud/utils/db/UUIDManager.java | 48 + .../com/cloud/utils/encoding/URLEncoder.java | 113 ++ .../java/com/cloud/utils/events/EventArgs.java | 44 + .../com/cloud/utils/events/SubscriptionMgr.java | 164 ++ .../utils/exception/CSExceptionErrorCode.java | 100 ++ .../utils/exception/CloudRuntimeException.java | 141 ++ .../com/cloud/utils/exception/ErrorContext.java | 31 + .../utils/exception/ExceptionProxyObject.java | 55 + .../cloud/utils/exception/ExceptionUtil.java | 54 + .../utils/exception/ExecutionException.java | 49 + .../HypervisorVersionChangedException.java | 35 + .../java/com/cloud/utils/fsm/ChangeEvent.java | 24 + .../java/com/cloud/utils/fsm/FiniteState.java | 58 + .../java/com/cloud/utils/fsm/FiniteState2.java | 34 + .../com/cloud/utils/fsm/FiniteStateObject.java | 25 + .../cloud/utils/fsm/NoTransitionException.java | 36 + .../main/java/com/cloud/utils/fsm/State.java | 27 + .../main/java/com/cloud/utils/fsm/StateDao.java | 25 + .../java/com/cloud/utils/fsm/StateListener.java | 43 + .../java/com/cloud/utils/fsm/StateMachine.java | 147 ++ .../java/com/cloud/utils/fsm/StateMachine2.java | 261 +++ .../java/com/cloud/utils/fsm/StateObject.java | 27 + .../main/java/com/cloud/utils/mgmt/JmxUtil.java | 90 + .../com/cloud/utils/mgmt/ManagementBean.java | 27 + .../utils/mgmt/PropertyMapDynamicBean.java | 120 ++ utils/src/main/java/com/cloud/utils/net/Ip.java | 98 ++ .../java/com/cloud/utils/net/Ip4Address.java | 80 + .../java/com/cloud/utils/net/MacAddress.java | 367 +++++ .../main/java/com/cloud/utils/net/NetUtils.java | 1550 ++++++++++++++++++ .../main/java/com/cloud/utils/net/NfsUtils.java | 55 + .../main/java/com/cloud/utils/net/UrlUtil.java | 63 + .../com/cloud/utils/nio/HandlerFactory.java | 28 + .../src/main/java/com/cloud/utils/nio/Link.java | 567 +++++++ .../java/com/cloud/utils/nio/NioClient.java | 125 ++ .../java/com/cloud/utils/nio/NioConnection.java | 476 ++++++ .../java/com/cloud/utils/nio/NioServer.java | 97 ++ .../src/main/java/com/cloud/utils/nio/Task.java | 89 + .../com/cloud/utils/nio/TrustAllManager.java | 45 + .../com/cloud/utils/rest/BasicRestClient.java | 118 ++ .../utils/rest/CloudstackRESTException.java | 33 + .../com/cloud/utils/rest/HttpClientHelper.java | 71 + .../com/cloud/utils/rest/HttpConstants.java | 34 + .../java/com/cloud/utils/rest/HttpMethods.java | 41 + .../cloud/utils/rest/HttpStatusCodeHelper.java | 34 + .../cloud/utils/rest/HttpUriRequestBuilder.java | 119 ++ .../cloud/utils/rest/RESTServiceConnector.java | 166 ++ .../java/com/cloud/utils/rest/RestClient.java | 31 + .../cloud/utils/script/OutputInterpreter.java | 141 ++ .../java/com/cloud/utils/script/Script.java | 502 ++++++ .../java/com/cloud/utils/script/Script2.java | 70 + .../cloud/utils/security/CertificateHelper.java | 166 ++ .../java/com/cloud/utils/ssh/SSHCmdHelper.java | 179 ++ .../java/com/cloud/utils/ssh/SSHKeysHelper.java | 115 ++ .../java/com/cloud/utils/ssh/SshException.java | 30 + .../java/com/cloud/utils/ssh/SshHelper.java | 209 +++ .../storage/encoding/DecodedDataObject.java | 56 + .../storage/encoding/DecodedDataStore.java | 68 + .../cloud/utils/storage/encoding/Decoder.java | 66 + .../utils/storage/encoding/EncodingType.java | 32 + .../com/cloud/utils/time/InaccurateClock.java | 102 ++ .../cloud/utils/time/InaccurateClockMBean.java | 28 + .../com/cloud/utils/xmlobject/XmlObject.java | 214 +++ .../cloud/utils/xmlobject/XmlObjectParser.java | 128 ++ .../utils/baremetal/BaremetalUtils.java | 24 + .../utils/graphite/GraphiteClient.java | 123 ++ .../utils/graphite/GraphiteException.java | 31 + .../utils/identity/ManagementServerNode.java | 63 + .../utils/imagestore/ImageStoreUtil.java | 110 ++ .../cloudstack/utils/security/SSLUtils.java | 58 + .../utils/security/SecureSSLSocketFactory.java | 124 ++ .../cloudstack/utils/usage/UsageUtils.java | 24 + .../ssl/EasySSLProtocolSocketFactory.java | 210 +++ .../contrib/ssl/EasyX509TrustManager.java | 110 ++ utils/src/main/resources/cloud.keystore | Bin 0 -> 1316 bytes .../utils/baremetal/BaremetalUtils.java | 24 - .../utils/graphite/GraphiteClient.java | 123 -- .../utils/graphite/GraphiteException.java | 31 - .../utils/identity/ManagementServerNode.java | 63 - .../utils/imagestore/ImageStoreUtil.java | 110 -- .../cloudstack/utils/security/SSLUtils.java | 58 - .../utils/security/SecureSSLSocketFactory.java | 124 -- .../cloudstack/utils/usage/UsageUtils.java | 24 - .../ssl/EasySSLProtocolSocketFactory.java | 210 --- .../contrib/ssl/EasyX509TrustManager.java | 110 -- .../test/java/com/cloud/utils/DateUtilTest.java | 60 + .../test/java/com/cloud/utils/DummyImpl.java | 31 + .../java/com/cloud/utils/DummyInterface.java | 24 + .../java/com/cloud/utils/DummyPremiumImpl.java | 28 + .../java/com/cloud/utils/HttpUtilsTest.java | 94 ++ .../java/com/cloud/utils/NumbersUtilTest.java | 47 + .../com/cloud/utils/PasswordGeneratorTest.java | 42 + .../java/com/cloud/utils/ProcessUtilTest.java | 76 + .../com/cloud/utils/PropertiesUtilsTest.java | 64 + .../java/com/cloud/utils/ReflectUtilTest.java | 148 ++ .../test/java/com/cloud/utils/ScriptTest.java | 135 ++ .../java/com/cloud/utils/StringUtilsTest.java | 253 +++ .../test/java/com/cloud/utils/TernaryTest.java | 34 + .../test/java/com/cloud/utils/TestProfiler.java | 116 ++ .../test/java/com/cloud/utils/UriUtilsTest.java | 60 + .../java/com/cloud/utils/UuidUtilsTest.java | 42 + .../backoff/impl/ConstantTimeBackoffTest.java | 112 ++ .../crypto/EncryptionSecretKeyCheckerTest.java | 45 + .../com/cloud/utils/crypto/RSAHelperTest.java | 54 + .../cloud/utils/encoding/UrlEncoderTest.java | 33 + .../utils/exception/ExceptionUtilTest.java | 52 + .../com/cloud/utils/net/Ip4AddressTest.java | 40 + .../test/java/com/cloud/utils/net/IpTest.java | 63 + .../com/cloud/utils/net/MacAddressTest.java | 60 + .../java/com/cloud/utils/net/NetUtilsTest.java | 421 +++++ .../cloud/utils/rest/BasicRestClientTest.java | 106 ++ .../cloud/utils/rest/HttpClientHelperTest.java | 38 + .../cloud/utils/rest/HttpRequestMatcher.java | 141 ++ .../utils/rest/HttpStatusCodeHelperTest.java | 59 + .../utils/rest/HttpUriRequestBuilderTest.java | 115 ++ .../utils/rest/HttpUriRequestMethodMatcher.java | 44 + .../utils/rest/HttpUriRequestPathMatcher.java | 43 + .../rest/HttpUriRequestPayloadMatcher.java | 62 + .../utils/rest/HttpUriRequestQueryMatcher.java | 48 + .../utils/rest/RESTServiceConnectorTest.java | 323 ++++ .../com/cloud/utils/ssh/SSHKeysHelperTest.java | 73 + .../utils/testcase/Log4jEnabledTestCase.java | 58 + .../java/com/cloud/utils/testcase/NioTest.java | 216 +++ .../cloud/utils/xmlobject/TestXmlObject.java | 53 + .../cloud/utils/xmlobject/TestXmlObject2.java | 54 + .../utils/imagestore/ImageStoreUtilTest.java | 54 + .../com/cloud/utils/QualifierTestContext.xml | 38 + .../utils/db/transactionContextBuilderTest.xml | 48 + utils/src/test/resources/log4j.xml | 118 ++ utils/src/test/resources/testContext.xml | 52 + utils/test/com/cloud/utils/DateUtilTest.java | 60 - utils/test/com/cloud/utils/DummyImpl.java | 31 - utils/test/com/cloud/utils/DummyInterface.java | 24 - .../test/com/cloud/utils/DummyPremiumImpl.java | 28 - utils/test/com/cloud/utils/HttpUtilsTest.java | 94 -- utils/test/com/cloud/utils/NumbersUtilTest.java | 47 - .../com/cloud/utils/PasswordGeneratorTest.java | 42 - utils/test/com/cloud/utils/ProcessUtilTest.java | 76 - .../com/cloud/utils/PropertiesUtilsTest.java | 64 - utils/test/com/cloud/utils/ReflectUtilTest.java | 148 -- utils/test/com/cloud/utils/ScriptTest.java | 135 -- utils/test/com/cloud/utils/StringUtilsTest.java | 253 --- utils/test/com/cloud/utils/TernaryTest.java | 34 - utils/test/com/cloud/utils/TestProfiler.java | 116 -- utils/test/com/cloud/utils/UriUtilsTest.java | 60 - utils/test/com/cloud/utils/UuidUtilsTest.java | 42 - .../backoff/impl/ConstantTimeBackoffTest.java | 112 -- .../crypto/EncryptionSecretKeyCheckerTest.java | 45 - .../com/cloud/utils/crypto/RSAHelperTest.java | 54 - .../cloud/utils/encoding/UrlEncoderTest.java | 33 - .../utils/exception/ExceptionUtilTest.java | 52 - .../com/cloud/utils/net/Ip4AddressTest.java | 40 - utils/test/com/cloud/utils/net/IpTest.java | 63 - .../com/cloud/utils/net/MacAddressTest.java | 60 - .../test/com/cloud/utils/net/NetUtilsTest.java | 421 ----- .../utils/rest/RESTServiceConnectorTest.java | 395 ----- .../com/cloud/utils/ssh/SSHKeysHelperTest.java | 73 - .../utils/testcase/Log4jEnabledTestCase.java | 58 - .../test/com/cloud/utils/testcase/NioTest.java | 216 --- .../cloud/utils/xmlobject/TestXmlObject.java | 53 - .../cloud/utils/xmlobject/TestXmlObject2.java | 54 - .../utils/imagestore/ImageStoreUtilTest.java | 54 - .../com/cloud/utils/QualifierTestContext.xml | 38 - .../utils/db/transactionContextBuilderTest.xml | 48 - utils/test/resources/log4j.xml | 118 -- utils/test/resources/testContext.xml | 52 - 575 files changed, 32174 insertions(+), 30772 deletions(-) ----------------------------------------------------------------------