├── .gitattributes ├── .gitignore ├── .travis.yml ├── CLI ├── .gitignore ├── Archive │ ├── AddBareMetalInstance.java │ ├── README.txt │ └── StartLocalCloud.java ├── build.bat ├── cloudify.bat ├── cloudify.sh ├── config.xml ├── debug.bat ├── logging.properties ├── pom.xml └── src │ ├── main │ ├── assembly │ │ └── assembly.xml │ ├── java │ │ └── org │ │ │ └── cloudifysource │ │ │ └── shell │ │ │ ├── AbstractAdminFacade.java │ │ │ ├── AdminFacade.java │ │ │ ├── AdminType.java │ │ │ ├── CloseCallback.java │ │ │ ├── CloudifyLicenseVerifier.java │ │ │ ├── ConditionLatch.java │ │ │ ├── ConsoleWithProps.java │ │ │ ├── ConsoleWithPropsActions.java │ │ │ ├── ConsoleWithPropsInteractive.java │ │ │ ├── ConsoleWithPropsNonInteractive.java │ │ │ ├── Constants.java │ │ │ ├── EnvironmentUtils.java │ │ │ ├── GigaShellMain.java │ │ │ ├── KeystoreFileVerifier.java │ │ │ ├── ShellUtils.java │ │ │ ├── commands │ │ │ ├── AbstractAttributesCommand.java │ │ │ ├── AbstractGSCommand.java │ │ │ ├── AbstractListCommand.java │ │ │ ├── AddTemplates.java │ │ │ ├── AdminAwareCommand.java │ │ │ ├── BootstrapLocalCloud.java │ │ │ ├── Bye.java │ │ │ ├── ClearScreen.java │ │ │ ├── Connect.java │ │ │ ├── CustomCommand.java │ │ │ ├── Disconnect.java │ │ │ ├── Exit.java │ │ │ ├── GetTemplate.java │ │ │ ├── Help.java │ │ │ ├── InstallApplication.java │ │ │ ├── InstallService.java │ │ │ ├── Invoke.java │ │ │ ├── ListApplications.java │ │ │ ├── ListAttributes.java │ │ │ ├── ListInstances.java │ │ │ ├── ListServices.java │ │ │ ├── ListTemplates.java │ │ │ ├── Login.java │ │ │ ├── NewRestClientCommand.java │ │ │ ├── Quit.java │ │ │ ├── RemoveAttributes.java │ │ │ ├── RemoveTemplate.java │ │ │ ├── SetAttributes.java │ │ │ ├── SetInstances.java │ │ │ ├── ShutdownAgent.java │ │ │ ├── ShutdownManagement.java │ │ │ ├── ShutdownManagers.java │ │ │ ├── StartAgent.java │ │ │ ├── StartManagement.java │ │ │ ├── Tail.java │ │ │ ├── TeardownLocalCloud.java │ │ │ ├── TestRecipe.java │ │ │ ├── TestRecipeWatchdog.java │ │ │ ├── UninstallApplication.java │ │ │ ├── UninstallService.java │ │ │ ├── UseApplication.java │ │ │ ├── Validate.java │ │ │ ├── ValidateApplication.java │ │ │ ├── ValidateService.java │ │ │ ├── Version.java │ │ │ └── package-info.java │ │ │ ├── exceptions │ │ │ ├── CLIException.java │ │ │ ├── CLIStatusException.java │ │ │ ├── CLIValidationException.java │ │ │ ├── handlers │ │ │ │ ├── AbstractClientSideExceptionHandler.java │ │ │ │ ├── CLIExceptionHandler.java │ │ │ │ ├── CLIStatusExceptionHandler.java │ │ │ │ ├── CLIValidationExceptionHandler.java │ │ │ │ ├── ClientSideExceptionHandler.java │ │ │ │ ├── InterruptedExceptionHandler.java │ │ │ │ ├── RestClientExceptionHandler.java │ │ │ │ ├── RestClientHttpExceptionHandler.java │ │ │ │ ├── ThrowableHandler.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ │ ├── installer │ │ │ ├── AbstractManagementServiceInstaller.java │ │ │ ├── CLIEventsDisplayer.java │ │ │ ├── CLILocalhostBootstrapperListener.java │ │ │ ├── ConnectionLogsFilter.java │ │ │ ├── LocalhostBootstrapperListener.java │ │ │ ├── LocalhostGridAgentBootstrapper.java │ │ │ ├── ManagementRedeployer.java │ │ │ ├── ManagementSpaceServiceInstaller.java │ │ │ ├── ManagementWebServiceInstaller.java │ │ │ └── package-info.java │ │ │ ├── logging │ │ │ ├── ShellErrorManager.java │ │ │ ├── ShellFormatter.java │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── proxy │ │ │ ├── SystemDefaultProxySelector.java │ │ │ └── package-info.java │ │ │ ├── rest │ │ │ ├── APIVersionResolver.java │ │ │ ├── Installer.java │ │ │ ├── RestAdminFacade.java │ │ │ ├── RestLifecycleEventsLatch.java │ │ │ ├── Uploader.java │ │ │ ├── inspect │ │ │ │ ├── CLIApplicationInstaller.java │ │ │ │ ├── CLIApplicationUninstaller.java │ │ │ │ ├── CLIServiceInstaller.java │ │ │ │ ├── CLIServiceUninstaller.java │ │ │ │ ├── InstallationProcessInspector.java │ │ │ │ ├── UninstallationProcessInspector.java │ │ │ │ ├── application │ │ │ │ │ ├── ApplicationInstallationProcessInspector.java │ │ │ │ │ ├── ApplicationUninstallationProcessInspector.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ └── service │ │ │ │ │ ├── ServiceInstallationProcessInspector.java │ │ │ │ │ ├── ServiceUninstallationProcessInspector.java │ │ │ │ │ ├── SetInstancesScaledownInstallationProcessInspector.java │ │ │ │ │ ├── SetInstancesScaleupInstallationProcessInspector.java │ │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ │ ├── util │ │ │ ├── ApplicationResolver.java │ │ │ ├── NameAndPackedFileResolver.java │ │ │ ├── PreparedApplicationPackageResolver.java │ │ │ ├── PreparedPackageResolver.java │ │ │ └── ServiceResolver.java │ │ │ └── validators │ │ │ ├── CloudifyAgentValidator.java │ │ │ ├── CloudifyMachineValidator.java │ │ │ ├── CloudifyMachineValidatorsFactory.java │ │ │ ├── CloudifyManagementValidator.java │ │ │ ├── HostNameValidator.java │ │ │ ├── LusConnectionValidator.java │ │ │ ├── NicAddressValidator.java │ │ │ ├── PortAvailabilityAgentValidator.java │ │ │ ├── PortAvailabilityManagementValidator.java │ │ │ └── PortAvailabilityValidator.java │ └── resources │ │ ├── META-INF │ │ ├── MANIFEST.MF │ │ ├── native │ │ │ └── linux32 │ │ │ │ └── libjansi.so │ │ ├── shell │ │ │ ├── branding.properties │ │ │ ├── commands │ │ │ └── noninteractive.branding.properties │ │ └── spring │ │ │ └── default_usm_pu.xml │ │ └── MessagesBundle.properties │ └── test │ ├── java │ └── org │ │ └── cloudifysource │ │ └── shell │ │ ├── ExpectedExecutionTimeMsgTest.java │ │ ├── commands │ │ ├── ValidateApplicationTest.java │ │ └── ValidateServiceTest.java │ │ ├── installer │ │ └── ManagementRedeployerTest.java │ │ ├── rest │ │ └── APIVersionResolverTest.java │ │ └── validators │ │ └── CloudifyMachineValidatorTest.java │ └── resources │ ├── applicationValidation │ ├── failed-groovy-application │ │ ├── groovy-application.groovy │ │ └── groovy1 │ │ │ ├── groovy1-service.groovy │ │ │ ├── icon.png │ │ │ └── run.groovy │ └── groovy-application │ │ ├── groovy-application.groovy │ │ ├── groovy1 │ │ ├── groovy1-service.groovy │ │ ├── icon.png │ │ └── run.groovy │ │ └── groovy2 │ │ ├── groovy2-service.groovy │ │ ├── icon.png │ │ └── run.groovy │ ├── sampleWar │ ├── README │ └── index.html │ ├── sampleWar2 │ ├── README │ ├── index.html │ └── index2.html │ └── serviceValidation │ ├── failed-groovy-service │ ├── groovy1-service.groovy │ └── icon.png │ └── groovy-service │ ├── groovy1-service.groovy │ ├── icon.png │ └── run.groovy ├── README.md ├── USM ├── .gitignore ├── build-simplejavaprocess.xml ├── build.bat ├── pom.xml ├── resources │ ├── applications │ │ └── simple │ │ │ ├── simple-application.groovy │ │ │ ├── simple │ │ │ ├── init.groovy │ │ │ ├── run.bat │ │ │ ├── run.sh │ │ │ ├── simple-service.groovy │ │ │ ├── simplejavaprocess.jar │ │ │ └── test.bat │ │ │ └── simple2 │ │ │ ├── init.groovy │ │ │ ├── run.bat │ │ │ ├── run.sh │ │ │ ├── simple-service.groovy │ │ │ ├── simplejavaprocess.jar │ │ │ └── test.bat │ ├── test.groovy │ ├── usm-cassandra (1).launch │ ├── usm-cassandra-new.launch │ ├── usm-cassandra.launch │ ├── usm-groovy.launch │ ├── usm-groovy │ │ ├── META-INF │ │ │ └── spring │ │ │ │ └── pu.xml │ │ └── ext │ │ │ ├── groovy-service.groovy │ │ │ ├── marker.txt │ │ │ ├── run.bat │ │ │ └── run.groovy │ ├── usm-simple.launch │ ├── usm-simpleprocess │ │ ├── META-INF │ │ │ └── spring │ │ │ │ └── pu.xml │ │ ├── ext │ │ │ ├── alternateService.groovy │ │ │ ├── context.groovy │ │ │ ├── context_command.groovy │ │ │ ├── init.bat │ │ │ ├── init.groovy │ │ │ ├── post_start.groovy │ │ │ ├── pre_stop.groovy │ │ │ ├── run.bat │ │ │ ├── run.sh │ │ │ ├── simple-service.groovy │ │ │ ├── simple-service.properties │ │ │ ├── simplejavaprocess.jar │ │ │ ├── someScript.groovy │ │ │ ├── test.bat │ │ │ ├── test.properties │ │ │ └── usmlib │ │ │ │ └── MyException.jar │ │ └── lib │ │ │ └── MyException.jar │ └── usm-tomcat.launch └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── cloudifysource │ │ │ └── usm │ │ │ ├── CommandParts.java │ │ │ ├── ExternalProcessResult.java │ │ │ ├── MonitorsCache.java │ │ │ ├── Plugin.java │ │ │ ├── ProcessDeathNotifier.java │ │ │ ├── TCPPortEventListener.java │ │ │ ├── TestRecipeShutdownRunnable.java │ │ │ ├── USMComponent.java │ │ │ ├── USMConfigurationFactoryBean.java │ │ │ ├── USMException.java │ │ │ ├── USMLifecycleBean.java │ │ │ ├── USMUtils.java │ │ │ ├── UniversalServiceManagerBean.java │ │ │ ├── commands │ │ │ ├── StartMaintenanceMode.java │ │ │ ├── StopMaintenanceMode.java │ │ │ ├── USMBuiltInCommand.java │ │ │ └── package-info.java │ │ │ ├── details │ │ │ ├── Details.java │ │ │ ├── DetailsException.java │ │ │ ├── ProcessDetails.java │ │ │ └── package-info.java │ │ │ ├── dsl │ │ │ ├── DSLBeanConfiguration.java │ │ │ ├── DSLCommandsLifecycleListener.java │ │ │ ├── DSLDetails.java │ │ │ ├── DSLEntryExecutor.java │ │ │ ├── OpenspacesDomainUIAdapter.java │ │ │ ├── ServiceConfiguration.java │ │ │ ├── UIDetails.java │ │ │ ├── UserInterfaceConverter.java │ │ │ └── package-info.java │ │ │ ├── events │ │ │ ├── AbstractUSMEventListener.java │ │ │ ├── EventResult.java │ │ │ ├── InitListener.java │ │ │ ├── InstallListener.java │ │ │ ├── LifecycleListener.java │ │ │ ├── PostInstallListener.java │ │ │ ├── PostStartListener.java │ │ │ ├── PostStopListener.java │ │ │ ├── PreInstallListener.java │ │ │ ├── PreServiceStartListener.java │ │ │ ├── PreServiceStopListener.java │ │ │ ├── PreStartListener.java │ │ │ ├── PreStopListener.java │ │ │ ├── ServiceActionListener.java │ │ │ ├── ShutdownListener.java │ │ │ ├── StartListener.java │ │ │ ├── StartReason.java │ │ │ ├── StopLifecyleListener.java │ │ │ ├── StopListener.java │ │ │ ├── StopReason.java │ │ │ ├── USMEvent.java │ │ │ └── package-info.java │ │ │ ├── jmx │ │ │ ├── AbstractJmxPlugin.java │ │ │ ├── JmxAttribute.java │ │ │ ├── JmxDetails.java │ │ │ ├── JmxGenericClient.java │ │ │ ├── JmxMonitor.java │ │ │ ├── JmxTarget.java │ │ │ └── package-info.java │ │ │ ├── launcher │ │ │ ├── DebugHookInvoker.java │ │ │ ├── DefaultProcessLauncher.java │ │ │ ├── GroovyExceptionHandler.java │ │ │ ├── ProcessLauncher.java │ │ │ └── package-info.java │ │ │ ├── liveness │ │ │ ├── FileLivenessDetector.java │ │ │ ├── FileTailerListener.java │ │ │ ├── HttpLivenessDetector.java │ │ │ ├── LivenessDetector.java │ │ │ └── PortLivenessDetector.java │ │ │ ├── locator │ │ │ ├── DefaultProcessLocator.java │ │ │ ├── ProcessLocator.java │ │ │ ├── ProcessLocatorExecutor.java │ │ │ └── package-info.java │ │ │ ├── monitors │ │ │ ├── Monitor.java │ │ │ ├── MonitorException.java │ │ │ ├── package-info.java │ │ │ └── process │ │ │ │ ├── MonitorData.java │ │ │ │ ├── ProcessMonitor.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── shutdown │ │ │ ├── DefaultProcessKiller.java │ │ │ ├── DefaultStop.java │ │ │ ├── ProcessKiller.java │ │ │ └── package-info.java │ │ │ ├── stopDetection │ │ │ ├── ProcessStopDetector.java │ │ │ ├── StopDetector.java │ │ │ └── package-info.java │ │ │ └── tail │ │ │ ├── RollingFileAppenderTailer.java │ │ │ ├── RollingFileReader.java │ │ │ └── package-info.java │ └── resources │ │ └── META-INF │ │ └── spring │ │ └── default_usm_pu.xml │ └── test │ ├── java │ └── org │ │ ├── cloudifysource │ │ └── usm │ │ │ ├── FeaturesTest.java │ │ │ ├── UserInterfaceConverterTest.java │ │ │ ├── commands │ │ │ └── BuiltInCommandsTest.java │ │ │ └── locator │ │ │ └── ProcessLocatorExecutorTest.java │ │ └── openspaces │ │ └── usm │ │ ├── GroovyExceptionHandlerTest.java │ │ ├── StringHandler.java │ │ ├── USMRollingFileAppenderTailerTest.java │ │ ├── container │ │ └── SimpleUSMTest.java │ │ └── examples │ │ └── simplejavaprocess │ │ ├── SimpleBlockingJavaProcess.java │ │ ├── SimpleBlockingJavaProcessMBean.java │ │ └── SystemInReaderTask.java │ └── resources │ ├── debug │ ├── META-INF │ │ └── spring │ │ │ └── pu.xml │ └── ext │ │ ├── echo.sh │ │ └── nothing-service.groovy │ ├── groovy │ ├── META-INF │ │ └── spring │ │ │ └── pu.xml │ └── ext │ │ ├── groovy-service.groovy │ │ └── run.groovy │ ├── retries-recovery │ ├── META-INF │ │ └── spring │ │ │ └── pu.xml │ └── ext │ │ ├── nothing-service.groovy │ │ ├── nothing-service.properties │ │ └── run.groovy │ ├── retries │ ├── META-INF │ │ └── spring │ │ │ └── pu.xml │ └── ext │ │ ├── error-service.groovy │ │ ├── error-service.properties │ │ └── run.groovy │ ├── simple │ ├── META-INF │ │ └── spring │ │ │ └── pu.xml │ └── ext │ │ ├── groovy-service.groovy │ │ ├── run.bat │ │ └── run.groovy │ └── userInterfaceConversionTestFiles │ ├── service_with_metrics_and_widgets.groovy │ └── service_with_metrics_no_widgets.groovy ├── cloudify ├── build.properties ├── build.xml ├── cloudify_checkstyle_configuration.xml ├── cloudify_checkstyle_suppressions.xml ├── cloudify_code_formatting_configuration.xml ├── cloudify_eclipse_code_cleanup_configuration.xml ├── copy_jars_local.xml ├── package_build │ ├── gigaspaces │ │ ├── START_HERE.htm │ │ ├── bin │ │ │ ├── cloudify.bat │ │ │ └── cloudify.sh │ │ └── notice.txt │ └── gs-webui │ │ ├── config │ │ └── cloudify-webui-context-override.xml │ │ └── war │ │ └── dynamic_props.js ├── pom.xml ├── tools │ ├── lib │ │ ├── ant │ │ │ └── ant-contrib-1.0b3.jar │ │ └── svn │ │ │ ├── svnClientAdapter.jar │ │ │ ├── svnant.jar │ │ │ ├── svnjavahl.jar │ │ │ └── svnkit.jar │ └── maven-plugins │ │ └── s3client-maven-plugin │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── cloudifysource │ │ └── s3client │ │ ├── S3AWSAPIDeployMojo.java │ │ ├── S3DeployMojo.java │ │ └── S3PutMojo.java └── tree.txt ├── domain ├── .gitignore ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── cloudifysource │ └── domain │ ├── AbstractBasicWidget.java │ ├── AppSharedIsolationSLADescriptor.java │ ├── Application.java │ ├── BalanceGauge.java │ ├── BarLineChart.java │ ├── ComputeDetails.java │ ├── ComputeTemplateHolder.java │ ├── DSLValidation.java │ ├── DataGrid.java │ ├── DedicatedIsolationSLADescriptor.java │ ├── ExecutableEntriesMap.java │ ├── GlobalIsolationSLADescriptor.java │ ├── IsolationSLA.java │ ├── IsolationSLAFactory.java │ ├── LifecycleEvents.java │ ├── MaxSizeList.java │ ├── Memcached.java │ ├── MetricGroup.java │ ├── MirrorProcessingUnit.java │ ├── PluginDescriptor.java │ ├── Service.java │ ├── ServiceLifecycle.java │ ├── ServiceNetwork.java │ ├── ServiceProcessingUnit.java │ ├── SharedIsolationSLADescriptor.java │ ├── Sla.java │ ├── StatefulProcessingUnit.java │ ├── StatelessProcessingUnit.java │ ├── StorageDetails.java │ ├── TenantSharedIsolationSLADescriptor.java │ ├── Unit.java │ ├── UserInterface.java │ ├── Widget.java │ ├── WidgetGroup.java │ ├── cloud │ ├── AgentComponent.java │ ├── Cloud.java │ ├── CloudConfiguration.java │ ├── CloudProvider.java │ ├── CloudTemplateInstallerConfiguration.java │ ├── CloudUser.java │ ├── DeployerComponent.java │ ├── DiscoveryComponent.java │ ├── FileTransferModes.java │ ├── GridComponent.java │ ├── GridComponents.java │ ├── OrchestratorComponent.java │ ├── RemoteExecutionModes.java │ ├── RestComponent.java │ ├── ScriptLanguages.java │ ├── UsmComponent.java │ ├── WebuiComponent.java │ ├── compute │ │ ├── CloudCompute.java │ │ ├── ComputeTemplate.java │ │ ├── ComputeTemplateNetwork.java │ │ └── package-info.java │ ├── network │ │ ├── CloudNetwork.java │ │ ├── ManagementNetwork.java │ │ ├── NetworkConfiguration.java │ │ ├── Subnet.java │ │ └── package-info.java │ ├── package-info.java │ └── storage │ │ ├── CloudStorage.java │ │ ├── StorageTemplate.java │ │ └── package-info.java │ ├── context │ ├── BaseServiceContext.java │ ├── Service.java │ ├── ServiceContext.java │ ├── ServiceInstance.java │ ├── blockstorage │ │ ├── LocalStorageOperationException.java │ │ ├── RemoteStorageOperationException.java │ │ ├── StorageFacade.java │ │ └── package-info.java │ ├── kvstorage │ │ ├── AttributesAccessor.java │ │ ├── AttributesFacade.java │ │ └── package-info.java │ ├── network │ │ ├── NetworkFacade.java │ │ ├── RemoteNetworkOperationException.java │ │ └── package-info.java │ └── package-info.java │ ├── entry │ ├── ExecutableDSLEntry.java │ └── ExecutableDSLEntryType.java │ ├── internal │ ├── CloudifyDSLEntity.java │ ├── ServiceTierType.java │ └── statistics │ │ ├── AverageCpuPercentageAutoScalingStatistics.java │ │ ├── AverageStatisticsCalculation.java │ │ ├── EachSingleInstanceStatistics.java │ │ ├── MaximumStatisticsCalculation.java │ │ ├── MinimumStatisticsCalculation.java │ │ ├── PercentileStatisticsCalculation.java │ │ └── ThroughputAutoScalingStatistics.java │ ├── network │ ├── AccessRule.java │ ├── AccessRuleType.java │ ├── AccessRules.java │ ├── PortRange.java │ ├── PortRangeEntry.java │ ├── PortRangeFactory.java │ └── package-info.java │ ├── package-info.java │ ├── scalingrules │ ├── HighThresholdDetails.java │ ├── LowThresholdDetails.java │ ├── ScalingRuleDetails.java │ └── package-info.java │ └── statistics │ ├── AbstractConfig.java │ ├── AbstractStatisticsDetails.java │ ├── AverageInstancesStatisticsConfig.java │ ├── AverageTimeWindowStatisticsConfig.java │ ├── CpuPercentageTimeWindowStatisticsConfig.java │ ├── EachSingleInstanceStatisticsConfig.java │ ├── InstancesStatisticsCalculation.java │ ├── InstancesStatisticsConfig.java │ ├── MaximumInstancesStatisticsConfig.java │ ├── MaximumTimeWindowStatisticsConfig.java │ ├── MinimumInstancesStatisticsConfig.java │ ├── MinimumTimeWindowStatisticsConfig.java │ ├── PerInstanceStatisticsDetails.java │ ├── PercentileInstancesStatisticsConfig.java │ ├── PercentileTimeWindowStatisticsConfig.java │ ├── ServiceStatisticsCalculation.java │ ├── ServiceStatisticsDetails.java │ ├── StatisticsCalculation.java │ ├── StatisticsCalculationFactory.java │ ├── ThroughputTimeWindowStatisticsConfig.java │ ├── TimeWindowStatisticsCalculation.java │ ├── TimeWindowStatisticsConfig.java │ └── package-info.java ├── dsl-backwards ├── README.md ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── cloudifysource │ └── dsl │ └── context │ ├── Service.java │ ├── ServiceContext.java │ ├── ServiceContextFactory.java │ ├── ServiceInstance.java │ └── package-info.java ├── dsl ├── cloudify.bat ├── pom.xml ├── src │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── cloudifysource │ │ │ │ └── dsl │ │ │ │ ├── entry │ │ │ │ ├── ClosureExecutableEntry.java │ │ │ │ ├── ExecutableDSLEntryFactory.java │ │ │ │ ├── JavaExecutableEntry.java │ │ │ │ ├── ListExecutableEntry.java │ │ │ │ ├── MapExecutableEntry.java │ │ │ │ ├── StringExecutableEntry.java │ │ │ │ └── package-info.java │ │ │ │ ├── internal │ │ │ │ ├── BaseApplicationScript.java │ │ │ │ ├── BaseDslScript.java │ │ │ │ ├── CloudDependentConfigHolder.java │ │ │ │ ├── CloudifyConstants.java │ │ │ │ ├── CloudifyErrorMessages.java │ │ │ │ ├── CloudifyMessageKeys.java │ │ │ │ ├── DSLApplicationCompilationResult.java │ │ │ │ ├── DSLErrorMessageException.java │ │ │ │ ├── DSLException.java │ │ │ │ ├── DSLReader.java │ │ │ │ ├── DSLServiceCompilationResult.java │ │ │ │ ├── DSLUtils.java │ │ │ │ ├── DSLValidationContext.java │ │ │ │ ├── DSLValidationException.java │ │ │ │ ├── DSLValidationRuntimeException.java │ │ │ │ ├── EventLogConstants.java │ │ │ │ ├── GroovyFileCompilationResult.java │ │ │ │ ├── GroovyFileValidater.java │ │ │ │ ├── ProcessorTypes.java │ │ │ │ ├── ServiceReader.java │ │ │ │ ├── context │ │ │ │ │ ├── RemoteNetworkProvisioningDriver.java │ │ │ │ │ ├── RemoteStorageProvisioningDriver.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── debug │ │ │ │ │ ├── DebugModes.java │ │ │ │ │ ├── DebugUtils.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ ├── packaging │ │ │ │ │ ├── FileAppender.java │ │ │ │ │ ├── Packager.java │ │ │ │ │ ├── PackagingException.java │ │ │ │ │ ├── SVNFileFilter.java │ │ │ │ │ ├── ZipUtils.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── tools │ │ │ │ │ ├── ServiceDetailsHelper.java │ │ │ │ │ ├── download │ │ │ │ │ │ ├── ChecksumVerifier.java │ │ │ │ │ │ ├── ChecksumVerifierException.java │ │ │ │ │ │ ├── ResourceDownloadException.java │ │ │ │ │ │ ├── ResourceDownloadFacade.java │ │ │ │ │ │ ├── ResourceDownloadFacadeImpl.java │ │ │ │ │ │ ├── ResourceDownloader.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ └── package-info.java │ │ │ │ └── validators │ │ │ │ │ ├── AccessRuleValidator.java │ │ │ │ │ ├── AgentComponentValidator.java │ │ │ │ │ ├── AppSharedIsolationSLADescriptorValidator.java │ │ │ │ │ ├── ApplicationValidator.java │ │ │ │ │ ├── CloudProviderValidator.java │ │ │ │ │ ├── CloudUserValidator.java │ │ │ │ │ ├── CloudValidator.java │ │ │ │ │ ├── ComputeTemplateValidator.java │ │ │ │ │ ├── DSLValidationFactory.java │ │ │ │ │ ├── DSLValidator.java │ │ │ │ │ ├── DeployerComponentValidator.java │ │ │ │ │ ├── DiscoveryComponentValidator.java │ │ │ │ │ ├── GlobalIsolationSLADescriptorValidator.java │ │ │ │ │ ├── GridComponentValidator.java │ │ │ │ │ ├── IsolationSLAValidatior.java │ │ │ │ │ ├── MirrorProcessingUnitValidator.java │ │ │ │ │ ├── OrchestratorComponentValidator.java │ │ │ │ │ ├── PercentileInstancesStatisticsConfigValidaor.java │ │ │ │ │ ├── RestComponentValidator.java │ │ │ │ │ ├── ServiceLifecycleValidator.java │ │ │ │ │ ├── ServiceNetworkValidator.java │ │ │ │ │ ├── ServiceValidator.java │ │ │ │ │ ├── SharedIsolationSLADescriptorValidator.java │ │ │ │ │ ├── SlaValidator.java │ │ │ │ │ ├── StatelessProcessingUnitValidator.java │ │ │ │ │ ├── TenantSharedIsolationSLADescriptorValidator.java │ │ │ │ │ ├── UsmComponentValidator.java │ │ │ │ │ └── WebuiComponentValidator.java │ │ │ │ ├── rest │ │ │ │ ├── AddTemplatesException.java │ │ │ │ ├── request │ │ │ │ │ ├── AddTemplatesInternalRequest.java │ │ │ │ │ ├── AddTemplatesRequest.java │ │ │ │ │ ├── InstallApplicationRequest.java │ │ │ │ │ ├── InstallServiceRequest.java │ │ │ │ │ ├── InvokeCustomCommandRequest.java │ │ │ │ │ ├── SetApplicationAttributesRequest.java │ │ │ │ │ ├── SetServiceAttributesRequest.java │ │ │ │ │ ├── SetServiceInstanceAttributesRequest.java │ │ │ │ │ ├── SetServiceInstancesRequest.java │ │ │ │ │ ├── UpdateApplicationAttributeRequest.java │ │ │ │ │ └── package-info.java │ │ │ │ └── response │ │ │ │ │ ├── AddTemplateResponse.java │ │ │ │ │ ├── AddTemplatesInternalResponse.java │ │ │ │ │ ├── AddTemplatesResponse.java │ │ │ │ │ ├── AddTemplatesStatus.java │ │ │ │ │ ├── ApplicationDescription.java │ │ │ │ │ ├── ControllerDetails.java │ │ │ │ │ ├── DeleteApplicationAttributeResponse.java │ │ │ │ │ ├── DeleteServiceAttributeResponse.java │ │ │ │ │ ├── DeleteServiceInstanceAttributeResponse.java │ │ │ │ │ ├── DeploymentEvent.java │ │ │ │ │ ├── DeploymentEvents.java │ │ │ │ │ ├── GetApplicationAttributesResponse.java │ │ │ │ │ ├── GetMachineDumpFileResponse.java │ │ │ │ │ ├── GetMachinesDumpFileResponse.java │ │ │ │ │ ├── GetPUDumpFileResponse.java │ │ │ │ │ ├── GetServiceAttributesResponse.java │ │ │ │ │ ├── GetServiceInstanceAttributesResponse.java │ │ │ │ │ ├── GetTemplateResponse.java │ │ │ │ │ ├── InstallApplicationResponse.java │ │ │ │ │ ├── InstallServiceResponse.java │ │ │ │ │ ├── InstanceDescription.java │ │ │ │ │ ├── InvokeInstanceCommandResponse.java │ │ │ │ │ ├── InvokeServiceCommandResponse.java │ │ │ │ │ ├── ListTemplatesResponse.java │ │ │ │ │ ├── RemoveTemplatesResponse.java │ │ │ │ │ ├── Response.java │ │ │ │ │ ├── ServiceDescription.java │ │ │ │ │ ├── ServiceDetails.java │ │ │ │ │ ├── ServiceInstanceDetails.java │ │ │ │ │ ├── ServiceInstanceMetricsData.java │ │ │ │ │ ├── ServiceInstanceMetricsResponse.java │ │ │ │ │ ├── ServiceMetricsResponse.java │ │ │ │ │ ├── ShutdownManagementResponse.java │ │ │ │ │ ├── UninstallApplicationResponse.java │ │ │ │ │ ├── UninstallServiceResponse.java │ │ │ │ │ ├── UpdateApplicationAttributeResponse.java │ │ │ │ │ ├── UploadResponse.java │ │ │ │ │ └── package-info.java │ │ │ │ └── utils │ │ │ │ ├── IOUtils.java │ │ │ │ ├── IPUtils.java │ │ │ │ ├── NetworkUtils.java │ │ │ │ ├── RecipePathResolver.java │ │ │ │ ├── ReflectionUtils.java │ │ │ │ ├── ServiceUtils.java │ │ │ │ └── package-info.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── spring │ │ │ │ └── default_usm_pu.xml │ │ │ └── org │ │ │ └── cloudifysource │ │ │ └── debug │ │ │ ├── DebugCommands.groovy │ │ │ └── DebugHook.groovy │ └── test │ │ ├── java │ │ └── org │ │ │ └── cloudifysource │ │ │ └── dsl │ │ │ ├── ApplicationTest.java │ │ │ ├── ApplicationValidationTest.java │ │ │ ├── CassandraServiceParsingAndReturnTest.java │ │ │ ├── CloudComponentConfigTest.java │ │ │ ├── CloudMissingTemplateTest.java │ │ │ ├── CloudParserTest.java │ │ │ ├── CloudPemValidationTest.java │ │ │ ├── IsolationSLAParsingTest.java │ │ │ ├── OverridesTest.java │ │ │ ├── PortDetectionTest.java │ │ │ ├── ProcessingUnitClosureDuplicationTest.java │ │ │ ├── ServiceNetworkTest.java │ │ │ ├── ServiceParsingTest.java │ │ │ ├── ServiceTestUtil.java │ │ │ ├── ServiceValidationTest.java │ │ │ ├── ServiceWithExternalFileLoadingTest.java │ │ │ ├── TomcatServiceParsingAndReturnTest.java │ │ │ ├── UseManagementIsolationSLATest.java │ │ │ ├── cloud │ │ │ ├── CloudParsingTest.java │ │ │ ├── CloudProviderTest.java │ │ │ ├── CloudTemplateTest.java │ │ │ └── CloudUserTest.java │ │ │ ├── download │ │ │ └── ResourceDownloaderTest.java │ │ │ ├── internal │ │ │ ├── DSLValidateObjectsTest.java │ │ │ ├── GroovyFileValidaterTest.java │ │ │ └── validators │ │ │ │ ├── AccessRuleValidatorTest.java │ │ │ │ ├── PortRangeFactoryTest.java │ │ │ │ └── ServiceLifecycleValidatorTest.java │ │ │ └── packaging │ │ │ └── BasicPackagingTest.java │ │ └── resources │ │ ├── ExternalDSLFiles │ │ ├── dynamicNodeTemplate │ │ │ ├── dynamicNode-template.groovy │ │ │ └── upload │ │ │ │ └── bla.pem │ │ ├── illegalDuplicateTemplate │ │ │ ├── group1 │ │ │ │ ├── linux-template.groovy │ │ │ │ └── tomcat1-template.groovy │ │ │ └── group2 │ │ │ │ ├── tomcat2-template.groovy │ │ │ │ └── tomcat3-template.groovy │ │ ├── illegalDuplicateTemplateFilesNames │ │ │ ├── group1 │ │ │ │ ├── linux-template.groovy │ │ │ │ └── tomcat-template.groovy │ │ │ └── group2 │ │ │ │ ├── tomcat-template.groovy │ │ │ │ └── tomcat2-template.groovy │ │ ├── illegalDynamicNodeTemplateDefineOnlyStopMachine │ │ │ ├── dynamicNode-template.groovy │ │ │ └── upload │ │ │ │ └── bla.pem │ │ ├── illegalDynamicNodeTemplateWithNodesList │ │ │ ├── dynamicNode-template.groovy │ │ │ └── upload │ │ │ │ └── bla.pem │ │ ├── illegalTemplateFileName │ │ │ ├── tomcatTemplate.groovy │ │ │ └── upload │ │ │ │ └── bla.pem │ │ ├── loadScalingRule │ │ │ ├── scalingRule.groovy │ │ │ └── simple-service.groovy │ │ ├── loadScalingRules │ │ │ ├── scalingRules.groovy │ │ │ └── simple-service.groovy │ │ ├── templateFiles.zip │ │ ├── templteFilesInDir.zip │ │ ├── tomcat │ │ │ ├── tomcat-template.groovy │ │ │ └── upload │ │ │ │ └── bla.pem │ │ └── userInterfaceConversionTestFiles │ │ │ ├── service_with_metrics_and_widgets.groovy │ │ │ └── service_with_metrics_no_widgets.groovy │ │ ├── PackagerValidation │ │ └── BasicTest │ │ │ ├── groovy-service.groovy │ │ │ └── run.groovy │ │ ├── applications │ │ ├── bad-applications │ │ │ └── syntax-error-in-service │ │ │ │ ├── bad-application.groovy │ │ │ │ └── nothing │ │ │ │ └── nothing-service.groovy │ │ └── network │ │ │ └── sample-network-application │ │ │ ├── mysql │ │ │ └── mysql-service.groovy │ │ │ ├── sample-application.groovy │ │ │ └── tomcat │ │ │ └── tomcat-service.groovy │ │ ├── clouds │ │ ├── installer │ │ │ ├── some-cloud.groovy │ │ │ └── upload │ │ │ │ └── empty.txt │ │ └── network │ │ │ └── basic │ │ │ ├── some-cloud.groovy │ │ │ └── upload │ │ │ └── empty.txt │ │ ├── debug │ │ └── printContext │ │ │ ├── debugPublicKey │ │ │ ├── printContext-service.groovy │ │ │ ├── printContext.groovy │ │ │ └── sayHello.sh │ │ ├── enums │ │ ├── my-bad-cloud.groovy │ │ ├── my-cloud.groovy │ │ └── upload │ │ │ └── empty │ │ ├── groovyFileValidation │ │ ├── badImport.groovy │ │ ├── badUserInterface.groovy │ │ ├── empty.groovy │ │ ├── serviceWithGrab-service.groovy │ │ ├── simple.groovy │ │ └── simpleStorage-service.groovy │ │ ├── inheritance │ │ ├── mapMerge │ │ │ ├── a │ │ │ │ ├── a-service.groovy │ │ │ │ └── run.groovy │ │ │ └── b │ │ │ │ ├── b-service.groovy │ │ │ │ └── run.groovy │ │ └── mapOverride │ │ │ ├── a │ │ │ ├── a-service.groovy │ │ │ └── run.groovy │ │ │ └── b │ │ │ ├── b-service.groovy │ │ │ └── run.groovy │ │ ├── overridesTest │ │ ├── apps │ │ │ ├── overridesTestApplication │ │ │ │ ├── overridesTestApplication-application.groovy │ │ │ │ ├── overridesTestApplication-application.overrides │ │ │ │ ├── overridesTestApplication-application.properties │ │ │ │ ├── service1 │ │ │ │ │ ├── applicationIcon.png │ │ │ │ │ ├── service1-service.groovy │ │ │ │ │ ├── service1-service.overrides │ │ │ │ │ └── service1-service.properties │ │ │ │ └── service2 │ │ │ │ │ ├── applicationIcon.png │ │ │ │ │ ├── service2-service.groovy │ │ │ │ │ └── service2-service.properties │ │ │ └── overridesTestApplicationWithoutOverridesFile │ │ │ │ ├── overridesTestApplicationWithoutOverridesFile-application.groovy │ │ │ │ ├── overridesTestApplicationWithoutOverridesFile-application.properties │ │ │ │ ├── service1 │ │ │ │ ├── applicationIcon.png │ │ │ │ ├── service1-service.groovy │ │ │ │ ├── service1-service.overrides │ │ │ │ ├── service1-service.properties │ │ │ │ ├── service1_install.groovy │ │ │ │ └── service1_start.groovy │ │ │ │ └── service2 │ │ │ │ ├── applicationIcon.png │ │ │ │ ├── service2-service.groovy │ │ │ │ ├── service2-service.properties │ │ │ │ ├── service2_install.groovy │ │ │ │ └── service2_start.groovy │ │ ├── overridesFiles │ │ │ ├── cassandraWithoutOverridesFile.overrides │ │ │ └── overridesTestApplicationWithoutOverridesFile.overrides │ │ └── services │ │ │ ├── cassandra │ │ │ ├── Apache-cassandra-icon.png │ │ │ ├── README.md │ │ │ ├── cassandra-service.groovy │ │ │ ├── cassandra-service.overrides │ │ │ ├── cassandra-service.properties │ │ │ ├── cassandra1_install.groovy │ │ │ ├── cassandraSchema.txt │ │ │ ├── cassandra_install.groovy │ │ │ ├── cassandra_poststart.groovy │ │ │ ├── cassandra_prestart.groovy │ │ │ └── cassandra_start.groovy │ │ │ ├── cassandraWithoutOverridesFile │ │ │ └── cassandra │ │ │ │ ├── Apache-cassandra-icon.png │ │ │ │ ├── README.md │ │ │ │ ├── cassandra-service.groovy │ │ │ │ ├── cassandra-service.properties │ │ │ │ ├── cassandra1_install.groovy │ │ │ │ ├── cassandraSchema.txt │ │ │ │ ├── cassandra_install.groovy │ │ │ │ ├── cassandra_poststart.groovy │ │ │ │ ├── cassandra_prestart.groovy │ │ │ │ └── cassandra_start.groovy │ │ │ └── service1 │ │ │ ├── application.overrides │ │ │ ├── application.properties │ │ │ ├── applicationIcon.png │ │ │ ├── service1-service.groovy │ │ │ ├── service1-service.overrides │ │ │ └── service1-service.properties │ │ ├── resourceDownloader │ │ ├── dummyTestResource.txt │ │ ├── testResource.txt │ │ ├── testResource.txt.md5 │ │ ├── testResource.txt.sha1 │ │ ├── testResource.txt.sha256 │ │ ├── testResource.txt.sha384 │ │ ├── testResource.txt.sha512 │ │ ├── testResourceFormatted.txt.md5 │ │ ├── testResourceFormatted.txt.sha1 │ │ ├── testResourceFormatted.txt.sha256 │ │ ├── testResourceFormatted.txt.sha384 │ │ └── testResourceFormatted.txt.sha512 │ │ └── services │ │ ├── bad-services │ │ └── syntax-error │ │ │ └── nothing-service.groovy │ │ ├── invalidProperties │ │ ├── nothing-service.groovy │ │ └── nothing-service.properties │ │ ├── invalidPropertiesFile │ │ ├── nothing-service.groovy │ │ └── nothing-service.properties │ │ ├── logger │ │ ├── SomeClass.groovy │ │ └── simple-service.groovy │ │ ├── misc │ │ └── stopDetectionScript-service.groovy │ │ └── network │ │ └── network-service │ │ └── network-service.groovy ├── testResources │ ├── applications │ │ ├── ApplicationValidationTest │ │ │ ├── appMissingServiceIconTest │ │ │ │ ├── appMissingServiceIconTest-application.groovy │ │ │ │ └── simple │ │ │ │ │ └── simple-service.groovy │ │ │ ├── appWithEmptyNameTest │ │ │ │ ├── appWithEmptyNameTest-application.groovy │ │ │ │ └── simple │ │ │ │ │ └── simple-service.groovy │ │ │ ├── appWithInvalidNameTest │ │ │ │ ├── appWithInvalidNameTest-application.groovy │ │ │ │ └── simple │ │ │ │ │ └── simple-service.groovy │ │ │ └── appWithoutNameTest │ │ │ │ ├── appWithoutNameTest-application.groovy │ │ │ │ └── simple │ │ │ │ └── simple-service.groovy │ │ ├── ServiceValidationTest │ │ │ ├── multitenantWithStaticStorage │ │ │ │ └── multitenantWithStaticStorage-service.groovy │ │ │ ├── serviceWithEmptyNameTest │ │ │ │ └── serviceWithEmptyName-service.groovy │ │ │ ├── serviceWithInvalidNameTest │ │ │ │ └── serviceWithInvalidName-service.groovy │ │ │ └── serviceWithoutNameTest │ │ │ │ └── serviceWithoutName-service.groovy │ │ └── simple │ │ │ ├── icon.png │ │ │ ├── icon2.jpg │ │ │ ├── service1 │ │ │ ├── icon.png │ │ │ └── service1-service.groovy │ │ │ ├── service2 │ │ │ ├── icon.png │ │ │ └── service2-service.groovy │ │ │ └── simple-application.groovy │ ├── cassandra │ │ ├── Apache-cassandra-icon.png │ │ ├── cassandraSchema.txt │ │ ├── cassandra_UI_ommited-service.groovy │ │ ├── cassandra_UserInterface_field_corrupted-service.groovy │ │ ├── cassandra_axisYUnit_field_corrupted-service.groovy │ │ ├── cassandra_bare_essentials-service.groovy │ │ ├── cassandra_create_schema.bat │ │ ├── cassandra_install.groovy │ │ ├── cassandra_name_field_corrupted-service.groovy │ │ ├── cassandra_plugins_config_field_corrupted-service.groovy │ │ └── postDeploy.groovy │ ├── cloud │ │ ├── ec2-overrides-with-file │ │ │ ├── ec2-cloud.groovy │ │ │ ├── ec2-cloud.overrides │ │ │ ├── ec2-cloud.properties │ │ │ └── upload │ │ │ │ └── TestKeyFile.pem │ │ ├── ec2-overrides-with-script │ │ │ ├── ec2-cloud.groovy │ │ │ ├── ec2-cloud.properties │ │ │ └── upload │ │ │ │ └── TestKeyFile.pem │ │ └── ec2-with-component-config │ │ │ ├── ec2-cloud.groovy │ │ │ └── upload │ │ │ └── TestKeyFile.pem │ ├── groovy-public-provisioning-with-management │ │ ├── groovy-app-shared-service.groovy │ │ ├── groovy-global-service.groovy │ │ ├── groovy-tenant-shared-service.groovy │ │ └── run.groovy │ ├── groovy-public-provisioning │ │ ├── groovy-app-shared-service.groovy │ │ ├── groovy-global-service.groovy │ │ ├── groovy-tenant-shared-service.groovy │ │ └── run.groovy │ ├── simple │ │ ├── my-cloud.groovy │ │ └── simple-service.groovy │ ├── testparsing │ │ ├── duplicatePUService.groovy │ │ ├── ec2-missing-pem-cloud.groovy │ │ ├── ec2-missing-template-cloud.groovy │ │ ├── externalLoad │ │ │ ├── lifecycle.groovy │ │ │ ├── test_loading.groovy │ │ │ ├── test_loading_error.groovy │ │ │ └── ui.groovy │ │ ├── invalid-num-mgmt-machines.groovy │ │ ├── invalid-ssh-log-level.groovy │ │ ├── invalid-url.groovy │ │ ├── test_features-service.groovy │ │ ├── test_location-aware-service.groovy │ │ ├── test_no_locators_statement-service.groovy │ │ ├── test_parsing_autoscaling-service.groovy │ │ ├── test_parsing_base-service.groovy │ │ ├── test_parsing_extend-service.groovy │ │ ├── test_parsing_extend_illegal-service.groovy │ │ ├── test_parsing_extend_illegal_nested-service.groovy │ │ ├── test_parsing_extend_two_level-service.groovy │ │ ├── test_parsing_on_duplicate_property_in_inner_class-service.groovy │ │ ├── test_parsing_on_duplicate_property_in_service_class-service.groovy │ │ ├── test_property_in_custom_command-service.groovy │ │ ├── upload │ │ │ └── readme.txt │ │ └── wrong-provider.groovy │ └── tomcat │ │ ├── catalina-run.bat │ │ ├── catalina-run.sh │ │ ├── catalina-stop.bat │ │ ├── catalina-stop.sh │ │ ├── overwrite │ │ ├── conf │ │ │ ├── catalina.properties │ │ │ ├── context.xml │ │ │ └── server.xml │ │ └── lib │ │ │ └── TomcatSessionClustering-0.0.1-SNAPSHOT.jar │ │ ├── tomcat.gif │ │ ├── tomcat_UI_ommited-service.groovy │ │ ├── tomcat_UserInterface_field_corrupted-service.groovy │ │ ├── tomcat_axisYUnit_field_corrupted-service.groovy │ │ ├── tomcat_bare_essentials-service.groovy │ │ ├── tomcat_install.groovy │ │ ├── tomcat_name_field_corrupted-service.groovy │ │ ├── tomcat_plugins_config_field_corrupted-service.groovy │ │ └── tomcat_start.groovy └── transaction.log ├── esc-commands ├── .gitignore ├── CLI Cloud Eclipe Debug.launch ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── cloudifysource │ │ │ └── esc │ │ │ └── shell │ │ │ ├── ValidationContextImpl.java │ │ │ ├── commands │ │ │ ├── BootstrapCloud.java │ │ │ ├── GetCloudManagers.java │ │ │ ├── TeardownCloud.java │ │ │ └── package-info.java │ │ │ ├── installer │ │ │ ├── BootstrapLogsFilters.java │ │ │ ├── BootstrapUrlValidator.java │ │ │ ├── CloudGridAgentBootstrapper.java │ │ │ └── package-info.java │ │ │ └── listener │ │ │ ├── AbstractEventListener.java │ │ │ ├── CliAgentlessInstallerListener.java │ │ │ └── CliProvisioningDriverListener.java │ └── resources │ │ ├── META-INF │ │ └── shell │ │ │ └── commands │ │ └── MessagesBundle-esc.properties │ └── test │ └── java │ └── org │ └── cloudifysource │ └── esc │ └── shell │ └── installer │ └── BootstrapUrlValidatorTest.java ├── esc-config ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── cloudifysource │ └── esc │ └── driver │ └── provisioning │ ├── CloudifyMachineProvisioningConfig.java │ ├── MachineDetails.java │ └── events │ ├── MachineStartRequestedCloudifyEvent.java │ └── MachineStartedCloudifyEvent.java ├── esc ├── .gitignore ├── assembly-jar.xml ├── assembly-zip.xml ├── build.xml ├── config │ └── bootstrap-management.sh ├── log4j.xml ├── pom.xml ├── src │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ ├── apache │ │ │ │ └── commons │ │ │ │ │ └── vfs2 │ │ │ │ │ ├── RACRandomAccessFile.java │ │ │ │ │ ├── provider │ │ │ │ │ └── smb │ │ │ │ │ │ ├── SmbFileName.java │ │ │ │ │ │ ├── SmbFileNameParser.java │ │ │ │ │ │ ├── SmbFileObject.java │ │ │ │ │ │ ├── SmbFileProvider.java │ │ │ │ │ │ ├── SmbFileRandomAccessContent.java │ │ │ │ │ │ ├── SmbFileSystem.java │ │ │ │ │ │ └── package.html │ │ │ │ │ └── util │ │ │ │ │ └── FileObjectDataSource.java │ │ │ │ ├── cloudifysource │ │ │ │ └── esc │ │ │ │ │ ├── byon │ │ │ │ │ ├── ByonDeployer.java │ │ │ │ │ └── ByonUtils.java │ │ │ │ │ ├── driver │ │ │ │ │ └── provisioning │ │ │ │ │ │ ├── BaseComputeDriver.java │ │ │ │ │ │ ├── BaseProvisioningDriver.java │ │ │ │ │ │ ├── CloudDriverSupport.java │ │ │ │ │ │ ├── CloudProvisioningException.java │ │ │ │ │ │ ├── ComputeDriverConfiguration.java │ │ │ │ │ │ ├── ComputeDriverProvisioningAdapter.java │ │ │ │ │ │ ├── CustomNode.java │ │ │ │ │ │ ├── CustomServiceDataAware.java │ │ │ │ │ │ ├── ElasticMachineProvisioningCloudifyAdapter.java │ │ │ │ │ │ ├── MachineDetailsDocumentConverter.java │ │ │ │ │ │ ├── ManagementLocator.java │ │ │ │ │ │ ├── ManagementProvisioningContext.java │ │ │ │ │ │ ├── PersistentMachineDetails.java │ │ │ │ │ │ ├── ProvisioningContext.java │ │ │ │ │ │ ├── ProvisioningContextAccess.java │ │ │ │ │ │ ├── ProvisioningContextImpl.java │ │ │ │ │ │ ├── ProvisioningDriver.java │ │ │ │ │ │ ├── ProvisioningDriverBootstrapValidation.java │ │ │ │ │ │ ├── ProvisioningDriverListener.java │ │ │ │ │ │ ├── RequestRateLimiter.java │ │ │ │ │ │ ├── azure │ │ │ │ │ │ ├── MicrosoftAzureCloudDriver.java │ │ │ │ │ │ ├── client │ │ │ │ │ │ │ ├── CreatePersistentVMRoleDeploymentDescriptor.java │ │ │ │ │ │ │ ├── MicrosoftAzureException.java │ │ │ │ │ │ │ ├── MicrosoftAzureModelUtils.java │ │ │ │ │ │ │ ├── MicrosoftAzureRequestBodyBuilder.java │ │ │ │ │ │ │ ├── MicrosoftAzureRestClient.java │ │ │ │ │ │ │ ├── MicrosoftAzureSSLHelper.java │ │ │ │ │ │ │ ├── RoleDetails.java │ │ │ │ │ │ │ ├── UUIDHelper.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── model │ │ │ │ │ │ │ ├── AddressSpace.java │ │ │ │ │ │ │ ├── AffinityGroup.java │ │ │ │ │ │ │ ├── AffinityGroups.java │ │ │ │ │ │ │ ├── AttachedTo.java │ │ │ │ │ │ │ ├── ConfigurationSet.java │ │ │ │ │ │ │ ├── ConfigurationSetAdapter.java │ │ │ │ │ │ │ ├── ConfigurationSets.java │ │ │ │ │ │ │ ├── CreateAffinityGroup.java │ │ │ │ │ │ │ ├── CreateHostedService.java │ │ │ │ │ │ │ ├── CreateStorageServiceInput.java │ │ │ │ │ │ │ ├── Deployment.java │ │ │ │ │ │ │ ├── Deployments.java │ │ │ │ │ │ │ ├── Disk.java │ │ │ │ │ │ │ ├── Disks.java │ │ │ │ │ │ │ ├── Error.java │ │ │ │ │ │ │ ├── GlobalNetworkConfiguration.java │ │ │ │ │ │ │ ├── HostedService.java │ │ │ │ │ │ │ ├── HostedServices.java │ │ │ │ │ │ │ ├── InputEndpoint.java │ │ │ │ │ │ │ ├── InputEndpoints.java │ │ │ │ │ │ │ ├── LinuxProvisioningConfigurationSet.java │ │ │ │ │ │ │ ├── Listener.java │ │ │ │ │ │ │ ├── Listeners.java │ │ │ │ │ │ │ ├── ModelContextFactory.java │ │ │ │ │ │ │ ├── NetworkConfigurationSet.java │ │ │ │ │ │ │ ├── OSVirtualHardDisk.java │ │ │ │ │ │ │ ├── Operation.java │ │ │ │ │ │ │ ├── RestartRoleOperation.java │ │ │ │ │ │ │ ├── Role.java │ │ │ │ │ │ │ ├── RoleInstance.java │ │ │ │ │ │ │ ├── RoleInstanceList.java │ │ │ │ │ │ │ ├── RoleList.java │ │ │ │ │ │ │ ├── StartRoleOperation.java │ │ │ │ │ │ │ ├── StorageService.java │ │ │ │ │ │ │ ├── StorageServices.java │ │ │ │ │ │ │ ├── VirtualNetworkConfiguration.java │ │ │ │ │ │ │ ├── VirtualNetworkSite.java │ │ │ │ │ │ │ ├── VirtualNetworkSites.java │ │ │ │ │ │ │ ├── WinRM.java │ │ │ │ │ │ │ ├── WindowsProvisioningConfigurationSet.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── byon │ │ │ │ │ │ ├── ByonProvisioningDriver.java │ │ │ │ │ │ ├── CustomNodeImpl.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── context │ │ │ │ │ │ ├── DefaultProvisioningDriverClassContext.java │ │ │ │ │ │ ├── ProvisioningDriverClassContext.java │ │ │ │ │ │ ├── ProvisioningDriverClassContextAware.java │ │ │ │ │ │ ├── ValidationContext.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── jclouds │ │ │ │ │ │ ├── BootstrapLogsFilters.java │ │ │ │ │ │ ├── CloudAddressResolver.java │ │ │ │ │ │ ├── ConditionLatch.java │ │ │ │ │ │ ├── DefaultProvisioningDriver.java │ │ │ │ │ │ ├── EC2WindowsPasswordHandler.java │ │ │ │ │ │ ├── ManagementWebServiceInstaller.java │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── softlayer │ │ │ │ │ │ │ ├── SoftlayerProvisioningDriver.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── localcloud │ │ │ │ │ │ └── ConnectionLogsFilter.java │ │ │ │ │ │ ├── network │ │ │ │ │ │ ├── BaseNetworkDriver.java │ │ │ │ │ │ ├── FloatingIPAllocationRequest.java │ │ │ │ │ │ ├── NetworkDriverConfiguration.java │ │ │ │ │ │ ├── NetworkProvisioningException.java │ │ │ │ │ │ ├── RemoteNetworkProvisioningDriverAdapter.java │ │ │ │ │ │ ├── openstack │ │ │ │ │ │ │ ├── OpenstackNetworkDriver.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── openstack │ │ │ │ │ │ ├── JsonUtils.java │ │ │ │ │ │ ├── OpenStackBaseClient.java │ │ │ │ │ │ ├── OpenStackCloudifyDriver.java │ │ │ │ │ │ ├── OpenStackComputeClient.java │ │ │ │ │ │ ├── OpenStackNetworkClient.java │ │ │ │ │ │ ├── OpenStackNetworkConfigurationHelper.java │ │ │ │ │ │ ├── OpenStackResourcePrefixes.java │ │ │ │ │ │ ├── OpenstackException.java │ │ │ │ │ │ ├── OpenstackJsonSerializationException.java │ │ │ │ │ │ ├── OpenstackServerException.java │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── rest │ │ │ │ │ │ │ ├── ComputeLimits.java │ │ │ │ │ │ │ ├── Flavor.java │ │ │ │ │ │ │ ├── FloatingIp.java │ │ │ │ │ │ │ ├── HostRoute.java │ │ │ │ │ │ │ ├── Image.java │ │ │ │ │ │ │ ├── Limits.java │ │ │ │ │ │ │ ├── Network.java │ │ │ │ │ │ │ ├── NovaServer.java │ │ │ │ │ │ │ ├── NovaServerAddress.java │ │ │ │ │ │ │ ├── NovaServerNetwork.java │ │ │ │ │ │ │ ├── NovaServerResquest.java │ │ │ │ │ │ │ ├── NovaServerSecurityGroup.java │ │ │ │ │ │ │ ├── Port.java │ │ │ │ │ │ │ ├── Quota.java │ │ │ │ │ │ │ ├── RouteFixedIp.java │ │ │ │ │ │ │ ├── Router.java │ │ │ │ │ │ │ ├── RouterExternalGatewayInfo.java │ │ │ │ │ │ │ ├── RouterInterface.java │ │ │ │ │ │ │ ├── SecurityGroup.java │ │ │ │ │ │ │ ├── SecurityGroupRule.java │ │ │ │ │ │ │ ├── ServerFlavor.java │ │ │ │ │ │ │ ├── Status.java │ │ │ │ │ │ │ ├── Subnet.java │ │ │ │ │ │ │ ├── Tenant.java │ │ │ │ │ │ │ ├── TokenAccess.java │ │ │ │ │ │ │ ├── TokenInfo.java │ │ │ │ │ │ │ ├── TokenServiceCatalog.java │ │ │ │ │ │ │ ├── TokenServiceCatalogEndpoint.java │ │ │ │ │ │ │ ├── deserializer │ │ │ │ │ │ │ ├── AddressesDeserializer.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ ├── privateEc2 │ │ │ │ │ │ ├── AmazonS3Uploader.java │ │ │ │ │ │ ├── InstanceStateType.java │ │ │ │ │ │ ├── PrivateEC2CloudifyDriver.java │ │ │ │ │ │ ├── RegionUtils.java │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── parser │ │ │ │ │ │ │ ├── ParserUtils.java │ │ │ │ │ │ │ ├── PrivateEc2ParserException.java │ │ │ │ │ │ │ ├── beans │ │ │ │ │ │ │ ├── AWSEC2Instance.java │ │ │ │ │ │ │ ├── AWSEC2Volume.java │ │ │ │ │ │ │ ├── AWSResource.java │ │ │ │ │ │ │ ├── InstanceProperties.java │ │ │ │ │ │ │ ├── PrivateEc2Template.java │ │ │ │ │ │ │ ├── Tag.java │ │ │ │ │ │ │ ├── VolumeMapping.java │ │ │ │ │ │ │ ├── VolumeProperties.java │ │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ │ └── types │ │ │ │ │ │ │ │ ├── Base64Function.java │ │ │ │ │ │ │ │ ├── JoinFunction.java │ │ │ │ │ │ │ │ ├── RefValue.java │ │ │ │ │ │ │ │ ├── StringValue.java │ │ │ │ │ │ │ │ ├── ValueType.java │ │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ │ ├── deserializers │ │ │ │ │ │ │ ├── ResourcesDeserializer.java │ │ │ │ │ │ │ ├── ValueDeserializer.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── storage │ │ │ │ │ │ ├── BaseStorageDriver.java │ │ │ │ │ │ ├── RemoteStorageProvisioningDriverAdapter.java │ │ │ │ │ │ ├── StorageProvisioningDriver.java │ │ │ │ │ │ ├── StorageProvisioningException.java │ │ │ │ │ │ ├── VolumeDetails.java │ │ │ │ │ │ ├── aws │ │ │ │ │ │ │ ├── EbsStorageDriver.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ ├── openstack │ │ │ │ │ │ │ ├── OpenstackStorageDriver.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ └── validation │ │ │ │ │ │ ├── ValidationMessageType.java │ │ │ │ │ │ └── ValidationResultType.java │ │ │ │ │ ├── installer │ │ │ │ │ ├── AgentlessInstaller.java │ │ │ │ │ ├── AgentlessInstallerListener.java │ │ │ │ │ ├── EnvironmentFileBuilder.java │ │ │ │ │ ├── InstallationDetails.java │ │ │ │ │ ├── InstallerException.java │ │ │ │ │ ├── JschJdkLogger.java │ │ │ │ │ ├── filetransfer │ │ │ │ │ │ ├── CifsFileTransfer.java │ │ │ │ │ │ ├── FileTransfer.java │ │ │ │ │ │ ├── FileTransferFactory.java │ │ │ │ │ │ ├── ScpFileTransfer.java │ │ │ │ │ │ ├── SftpFileTransfer.java │ │ │ │ │ │ ├── VfsFileTransfer.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── remoteExec │ │ │ │ │ │ ├── BootstrapScriptErrors.java │ │ │ │ │ │ ├── NewSshExecutor.java │ │ │ │ │ │ ├── PowershellClient.java │ │ │ │ │ │ ├── PowershellClientException.java │ │ │ │ │ │ ├── RemoteExecutor.java │ │ │ │ │ │ ├── RemoteExecutorFactory.java │ │ │ │ │ │ ├── SshExecutor.java │ │ │ │ │ │ ├── WinrmExecutor.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── jclouds │ │ │ │ │ ├── JCloudsDeployer.java │ │ │ │ │ ├── WindowsServerEC2ReviseParsedImage.java │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── util │ │ │ │ │ ├── CalcUtils.java │ │ │ │ │ ├── FileUtils.java │ │ │ │ │ ├── GridCommandLineBuilder.java │ │ │ │ │ ├── InstallationDetailsBuilder.java │ │ │ │ │ ├── JCloudsUtils.java │ │ │ │ │ ├── LoggerOutputStream.java │ │ │ │ │ ├── ProvisioningDriverClassBuilder.java │ │ │ │ │ ├── SSHExec.java │ │ │ │ │ ├── ShellCommandBuilder.java │ │ │ │ │ ├── StringUtils.java │ │ │ │ │ ├── TarGzUtils.java │ │ │ │ │ ├── Utils.java │ │ │ │ │ └── package-info.java │ │ │ │ └── jclouds │ │ │ │ └── softlayer │ │ │ │ └── compute │ │ │ │ └── functions │ │ │ │ └── guest │ │ │ │ └── VirtualGuestToReducedNodeMetaData.java │ │ └── resources │ │ │ ├── ByonProvisioningDriverMessages.properties │ │ │ ├── DefaultProvisioningDriverMessages.properties │ │ │ ├── META-INF │ │ │ └── vfs-providers.xml │ │ │ ├── clouds │ │ │ ├── azure │ │ │ │ ├── azure-cloud.groovy │ │ │ │ ├── azure-cloud.properties │ │ │ │ └── upload │ │ │ │ │ ├── cloudify-overrides │ │ │ │ │ └── README │ │ │ │ │ └── pre-bootstrap.sh │ │ │ ├── azure_win │ │ │ │ ├── azure-cloud.groovy │ │ │ │ ├── azure-cloud.properties │ │ │ │ ├── upload-windows │ │ │ │ │ ├── bootstrap-client.ps1 │ │ │ │ │ ├── bootstrap-management.bat │ │ │ │ │ ├── bootstrap-management.ps1 │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ │ └── README │ │ │ │ └── upload │ │ │ │ │ ├── bootstrap-management.sh │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ └── README │ │ │ ├── byon │ │ │ │ ├── byon-cloud.groovy │ │ │ │ ├── byon-cloud.properties │ │ │ │ └── upload │ │ │ │ │ ├── cloudify-overrides │ │ │ │ │ └── README │ │ │ │ │ └── pre-bootstrap.sh │ │ │ ├── cloudstack-3.x │ │ │ │ ├── cloudstack-cloud.groovy │ │ │ │ ├── cloudstack-cloud.properties │ │ │ │ └── upload │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ └── README │ │ │ ├── ec2-win │ │ │ │ ├── ec2-win-cloud.groovy │ │ │ │ ├── ec2-win-cloud.properties │ │ │ │ └── upload │ │ │ │ │ ├── bootstrap-client.ps1 │ │ │ │ │ ├── bootstrap-management.bat │ │ │ │ │ ├── bootstrap-management.ps1 │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ └── README │ │ │ ├── ec2 │ │ │ │ ├── ec2-cloud.groovy │ │ │ │ ├── ec2-cloud.properties │ │ │ │ └── upload │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ └── README │ │ │ ├── exoscale │ │ │ │ ├── exoscale-cloud.groovy │ │ │ │ ├── exoscale-cloud.properties │ │ │ │ └── upload │ │ │ │ │ ├── cloudify-overrides │ │ │ │ │ └── README │ │ │ │ │ └── pre-bootstrap.sh │ │ │ ├── hp-folsom │ │ │ │ ├── hp-folsom-cloud.groovy │ │ │ │ ├── hp-folsom-cloud.properties │ │ │ │ └── upload │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ └── README │ │ │ ├── hp-grizzly │ │ │ │ ├── hp-grizzly-cloud.groovy │ │ │ │ ├── hp-grizzly-cloud.properties │ │ │ │ └── upload │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ └── README │ │ │ ├── hp-havana │ │ │ │ ├── hp-havana-cloud.groovy │ │ │ │ ├── hp-havana-cloud.properties │ │ │ │ └── upload │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ └── README │ │ │ ├── hp │ │ │ │ └── README │ │ │ ├── openstack-folsom │ │ │ │ ├── openstack-folsom-cloud.groovy │ │ │ │ ├── openstack-folsom-cloud.properties │ │ │ │ └── upload │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ └── README │ │ │ ├── openstack-grizzly │ │ │ │ ├── openstack-grizzly-cloud.groovy │ │ │ │ ├── openstack-grizzly-cloud.properties │ │ │ │ └── upload │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ └── README │ │ │ ├── openstack-havana │ │ │ │ ├── openstack-havana-cloud.groovy │ │ │ │ ├── openstack-havana-cloud.properties │ │ │ │ └── upload │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ └── README │ │ │ ├── openstack │ │ │ │ └── README │ │ │ ├── privateEc2 │ │ │ │ ├── privateEc2-cfn.properties │ │ │ │ ├── privateEc2-cfn.template │ │ │ │ ├── privateEc2-cloud.groovy │ │ │ │ ├── privateEc2-cloud.properties │ │ │ │ ├── spring-security.xml │ │ │ │ └── upload │ │ │ │ │ ├── cloudify-overrides │ │ │ │ │ └── README │ │ │ │ │ └── localregions.xml │ │ │ ├── rackspace │ │ │ │ ├── rackspace-cloud.groovy │ │ │ │ ├── rackspace-cloud.properties │ │ │ │ └── upload │ │ │ │ │ ├── cloudify-overrides │ │ │ │ │ └── README │ │ │ │ │ └── post-bootstrap.sh │ │ │ ├── softlayer-bm │ │ │ │ ├── softlayer-bm-cloud.groovy │ │ │ │ ├── softlayer-bm-cloud.properties │ │ │ │ └── upload │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ └── README │ │ │ ├── softlayer-cci │ │ │ │ ├── softlayer-cci-cloud.groovy │ │ │ │ ├── softlayer-cci-cloud.properties │ │ │ │ └── upload │ │ │ │ │ └── cloudify-overrides │ │ │ │ │ └── README │ │ │ └── softlayer-win │ │ │ │ ├── softlayer-win-cloud.groovy │ │ │ │ ├── softlayer-win-cloud.properties │ │ │ │ └── upload │ │ │ │ ├── bootstrap-client.ps1 │ │ │ │ ├── bootstrap-management.bat │ │ │ │ ├── bootstrap-management.ps1 │ │ │ │ └── cloudify-overrides │ │ │ │ └── README │ │ │ └── general │ │ │ └── bootstrap-management.sh │ └── test │ │ ├── java │ │ └── org │ │ │ └── cloudifysource │ │ │ └── esc │ │ │ ├── CompilationCloudFilesTest.java │ │ │ ├── EnvironmentFileBuilderTest.java │ │ │ ├── byon │ │ │ ├── ParseByonCloudNodesTest.java │ │ │ └── validateTemplatesTest.java │ │ │ ├── driver │ │ │ └── provisioning │ │ │ │ ├── MachineDetailsDocumentConverterTest.java │ │ │ │ ├── ProvisioningContextImplTest.java │ │ │ │ ├── StartMachineThrottlerTest.java │ │ │ │ ├── jclouds │ │ │ │ └── CloudAddressResolverTest.java │ │ │ │ ├── openstack │ │ │ │ ├── JsonUtilsTest.java │ │ │ │ ├── OpenStackCloudifyDriverValidationTest.java │ │ │ │ └── OpenStackNetworkConfigurationHelperTest.java │ │ │ │ ├── privateEc2 │ │ │ │ ├── PrivateEC2CloudifyDriverTest.java │ │ │ │ ├── RegionUtilsTest.java │ │ │ │ └── parser │ │ │ │ │ ├── PrivateEc2TemplateParserTest.java │ │ │ │ │ ├── beans │ │ │ │ │ └── PrivateEc2TemplateTest.java │ │ │ │ │ └── deserializers │ │ │ │ │ ├── SimpleValue.java │ │ │ │ │ └── ValueDeserializerTest.java │ │ │ │ └── softlayer │ │ │ │ └── SoftlayerProvisioningDriverTest.java │ │ │ ├── installer │ │ │ ├── FileTransferTest.java │ │ │ └── InstallerTest.java │ │ │ └── util │ │ │ ├── TarGzUtilsTest.java │ │ │ ├── UniqueFolderNameGeneratorTest.java │ │ │ └── UtilsTest.java │ │ └── resources │ │ ├── byon-gstring │ │ ├── testbyon-cloud.groovy │ │ ├── testbyon-cloud.properties │ │ └── upload │ │ │ └── Empty_File.txt │ │ ├── cfn_templates │ │ ├── EC2WithEBSSample.template │ │ ├── WordPress_Single_Instance_With_RDS.template │ │ ├── complete.template │ │ ├── externalConfig-cfn.properties │ │ ├── externalConfig-cfn.template │ │ ├── join.template │ │ ├── ref.template │ │ ├── static-cfn.template │ │ ├── static-with-volume-cfn.template │ │ ├── tags.template │ │ └── volume.template │ │ ├── cloud_driver │ │ ├── ec2-cloud.groovy │ │ ├── ec2-cloud.properties │ │ └── upload │ │ │ └── Empty_File.txt │ │ └── openstack │ │ ├── mappings │ │ └── ports-response.json │ │ ├── networks-configuration │ │ ├── networks-configuration-cloud.groovy │ │ └── upload │ │ │ └── Empty_File.txt │ │ └── validations │ │ ├── missingApplicationNetworkName-cloud.groovy │ │ ├── missingApplicationSubnetName-cloud.groovy │ │ ├── missingApplicationSubnetRange-cloud.groovy │ │ ├── missingManagementNetworkName-cloud.groovy │ │ ├── missingManagementSubnetName-cloud.groovy │ │ ├── missingManagementSubnetRange-cloud.groovy │ │ ├── missingNetworksForApplications-cloud.groovy │ │ ├── missingNetworksForManagements-cloud.groovy │ │ ├── missingOpenstackEndpoint-cloud.groovy │ │ ├── ok-cloud.groovy │ │ ├── upload │ │ └── Empty_File.txt │ │ ├── wrongCredentials-cloud.groovy │ │ ├── wrongFormatHardwareId-cloud.groovy │ │ ├── wrongFormatImageId-cloud.groovy │ │ ├── wrongImageIdResource-cloud.groovy │ │ └── wrongSecurityGroops-cloud.groovy ├── testResources │ └── byon │ │ ├── testbyon-cloud.groovy │ │ └── upload │ │ └── Empty_File.txt └── transaction.log ├── management-space ├── .gitignore ├── pom.xml └── src │ ├── main │ └── resources │ │ ├── META-INF │ │ └── spring │ │ │ └── pu.xml │ │ └── ManagementSpaceMapping.hbm.xml │ └── test │ └── java │ └── ManagementSpacePUTest.java ├── rest-client ├── pom.xml └── src │ └── main │ ├── java │ └── org │ │ └── cloudifysource │ │ └── restclient │ │ ├── ErrorStatusException.java │ │ ├── EventLoggingTailer.java │ │ ├── GSRestClient.java │ │ ├── InvocationResult.java │ │ ├── RestClient.java │ │ ├── RestClientExecutor.java │ │ ├── RestClientFacade.java │ │ ├── RestException.java │ │ ├── RestSSLSocketFactory.java │ │ ├── StringUtils.java │ │ ├── exceptions │ │ ├── RestClientException.java │ │ ├── RestClientHttpException.java │ │ ├── RestClientIOException.java │ │ ├── RestClientResponseException.java │ │ └── package-info.java │ │ ├── messages │ │ ├── MessagesUtils.java │ │ ├── RestClientMessageKeys.java │ │ └── package-info.java │ │ ├── package-info.java │ │ └── utils │ │ ├── NewRestClientUtils.java │ │ └── package-info.java │ └── resources │ └── MessagesBundle_RestClient.properties ├── restful ├── .gitignore ├── pom.xml ├── src │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── cloudifysource │ │ │ │ └── rest │ │ │ │ ├── ResponseConstants.java │ │ │ │ ├── RestConfiguration.java │ │ │ │ ├── RestConfigurationFactoryBean.java │ │ │ │ ├── SecurityPropagation.java │ │ │ │ ├── command │ │ │ │ ├── CommandManager.java │ │ │ │ ├── CommandObject.java │ │ │ │ └── CommandUtils.java │ │ │ │ ├── controllers │ │ │ │ ├── AdminAPIController.java │ │ │ │ ├── AlertController.java │ │ │ │ ├── AttributesController.java │ │ │ │ ├── BaseRestController.java │ │ │ │ ├── ConfigController.java │ │ │ │ ├── DeploymentsController.java │ │ │ │ ├── ElasticScaleConfigFactory.java │ │ │ │ ├── InfraController.java │ │ │ │ ├── ManagementController.java │ │ │ │ ├── RepoController.java │ │ │ │ ├── RestErrorException.java │ │ │ │ ├── RestServiceException.java │ │ │ │ ├── ServiceController.java │ │ │ │ ├── TemplatesController.java │ │ │ │ ├── UploadController.java │ │ │ │ ├── VersionValidateInterceptor.java │ │ │ │ ├── helpers │ │ │ │ │ ├── ControllerHelper.java │ │ │ │ │ ├── PropertiesOverridesMerger.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ │ ├── deploy │ │ │ │ ├── ApplicationDeployerRequest.java │ │ │ │ ├── ApplicationDeployerRunnable.java │ │ │ │ ├── DeploymentConfig.java │ │ │ │ ├── DeploymentFileHolder.java │ │ │ │ ├── ElasticDeploymentCreationException.java │ │ │ │ ├── ElasticProcessingUnitDeploymentFactory.java │ │ │ │ ├── ElasticProcessingUnitDeploymentFactoryImpl.java │ │ │ │ └── ServiceApplicationDependentProperties.java │ │ │ │ ├── doclet │ │ │ │ ├── RESTExampleRespone.java │ │ │ │ ├── RESTExamples.java │ │ │ │ ├── RESTRequestExampleGenerator.java │ │ │ │ ├── RESTResposneExampleGenerator.java │ │ │ │ ├── RequestBodyParamFilter.java │ │ │ │ └── package-info.java │ │ │ │ ├── events │ │ │ │ ├── EventsUtils.java │ │ │ │ ├── LogEntryMatcherProvider.java │ │ │ │ ├── LogEntryMatcherProviderKey.java │ │ │ │ ├── cache │ │ │ │ │ ├── AdminBasedGridServiceContainerProvider.java │ │ │ │ │ ├── EventsCache.java │ │ │ │ │ ├── EventsCacheKey.java │ │ │ │ │ ├── EventsCacheLoader.java │ │ │ │ │ ├── EventsCacheValue.java │ │ │ │ │ ├── GridServiceContainerProvider.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ │ ├── exceptions │ │ │ │ ├── ResourceNotFoundException.java │ │ │ │ └── package-info.java │ │ │ │ ├── interceptors │ │ │ │ ├── ApiVersionValidationAndRestResponseBuilderInterceptor.java │ │ │ │ └── package-info.java │ │ │ │ ├── internal │ │ │ │ ├── RestClientInternal.java │ │ │ │ └── package-info.java │ │ │ │ ├── out │ │ │ │ ├── OutputDispatcher.java │ │ │ │ └── OutputUtils.java │ │ │ │ ├── repo │ │ │ │ ├── CleanUploadDirRunnable.java │ │ │ │ ├── UploadRepo.java │ │ │ │ └── package-info.java │ │ │ │ ├── util │ │ │ │ ├── AdminFactoryBean.java │ │ │ │ ├── AdminTypeBlacklist.java │ │ │ │ ├── ApplicationDescriptionFactory.java │ │ │ │ ├── ApplicationInstallerRunnable.java │ │ │ │ ├── CollectionUtils.java │ │ │ │ ├── HttpException.java │ │ │ │ ├── IsolationUtils.java │ │ │ │ ├── LifecycleEventsContainer.java │ │ │ │ ├── NotFoundHttpException.java │ │ │ │ ├── OpenspacesDomainStatisticsAdapter.java │ │ │ │ ├── PrimitiveWrapper.java │ │ │ │ ├── RestPollingRunnable.java │ │ │ │ ├── RestUtils.java │ │ │ │ └── package-info.java │ │ │ │ └── validators │ │ │ │ ├── AddTemplatesValidationContext.java │ │ │ │ ├── AddTemplatesValidator.java │ │ │ │ ├── DumpMachineValidationContext.java │ │ │ │ ├── DumpMachineValidator.java │ │ │ │ ├── InstallApplicationValidationContext.java │ │ │ │ ├── InstallApplicationValidator.java │ │ │ │ ├── InstallServiceValidationContext.java │ │ │ │ ├── InstallServiceValidator.java │ │ │ │ ├── SetServiceInstancesValidationContext.java │ │ │ │ ├── SetServiceInstancesValidator.java │ │ │ │ ├── TemplatesValidationContext.java │ │ │ │ ├── TemplatesValidator.java │ │ │ │ ├── UninstallApplicationValidationContext.java │ │ │ │ ├── UninstallApplicationValidator.java │ │ │ │ ├── UninstallServiceValidationContext.java │ │ │ │ ├── UninstallServiceValidator.java │ │ │ │ ├── ValidateAddTemplate.java │ │ │ │ ├── ValidateApplicationExists.java │ │ │ │ ├── ValidateApplicationName.java │ │ │ │ ├── ValidateApplicationNotAlreadyDeployed.java │ │ │ │ ├── ValidateApplicationNotManagement.java │ │ │ │ ├── ValidateApplicationServices.java │ │ │ │ ├── ValidateCloudConfigurationFileSize.java │ │ │ │ ├── ValidateCloudOverridesFileSize.java │ │ │ │ ├── ValidateCustomCommandName.java │ │ │ │ ├── ValidateDebugSettings.java │ │ │ │ ├── ValidateDumpMachine.java │ │ │ │ ├── ValidateElasticServiceValidator.java │ │ │ │ ├── ValidateEsmExists.java │ │ │ │ ├── ValidateGsmState.java │ │ │ │ ├── ValidateInstanceMemory.java │ │ │ │ ├── ValidateOverridesFileSize.java │ │ │ │ ├── ValidateServiceExists.java │ │ │ │ ├── ValidateServiceName.java │ │ │ │ ├── ValidateServiceNotAlreadyDeployed.java │ │ │ │ ├── ValidateSetInstancesCount.java │ │ │ │ ├── ValidateStorageTemplateExists.java │ │ │ │ ├── ValidateTemplate.java │ │ │ │ ├── ValidateTemplateOperation.java │ │ │ │ └── package-info.java │ │ ├── resources │ │ │ └── MessagesBundle_en_US.properties │ │ └── webapp │ │ │ ├── META-INF │ │ │ ├── MANIFEST.MF │ │ │ └── spring │ │ │ │ └── jetty.pu.xml │ │ │ ├── WEB-INF │ │ │ ├── config.properties │ │ │ ├── http-intercepts.xml │ │ │ ├── spring-security.xml │ │ │ ├── springmvc-servlet.xml │ │ │ ├── views │ │ │ │ └── index.jsp │ │ │ └── web.xml │ │ │ └── resources │ │ │ ├── favicon.ico │ │ │ ├── logo.png │ │ │ └── restdoclet │ │ │ └── restdoclet.css │ └── test │ │ ├── java │ │ └── org │ │ │ └── cloudifysource │ │ │ └── rest │ │ │ ├── AttributesControllerTest.java │ │ │ ├── ControllerTest.java │ │ │ ├── GetServiceDescriptionTest.java │ │ │ ├── OpenspacesDomainStatisticsAdapterTest.java │ │ │ ├── SpringAutowiredTest.java │ │ │ ├── TestOverridesFileSizeLimitValidations.java │ │ │ ├── UploadControllerTest.java │ │ │ ├── UploadRepoTest.java │ │ │ ├── deploy │ │ │ └── DeploymentFactoryTest.java │ │ │ ├── doclet │ │ │ └── RestDocletTest.java │ │ │ ├── events │ │ │ ├── EventsUtilsTest.java │ │ │ ├── LogEntryMatcherProviderTest.java │ │ │ └── cache │ │ │ │ ├── EventsCacheLoaderTest.java │ │ │ │ └── EventsCacheTest.java │ │ │ └── validators │ │ │ ├── TestOverridesFileSizeLimitValidations.java │ │ │ ├── ValidateAddTemplateTest.java │ │ │ ├── ValidateApplicationExistsTest.java │ │ │ ├── ValidateApplicationNameTest.java │ │ │ ├── ValidateApplicationNotAlreadyDeployedTest.java │ │ │ ├── ValidateApplicationNotManagementTest.java │ │ │ ├── ValidateCloudConfigurationFileSizeTest.java │ │ │ ├── ValidateCloudOverridesFileSizeTest.java │ │ │ ├── ValidateCustomCommandNameTest.java │ │ │ ├── ValidateDebugSettingsTest.java │ │ │ ├── ValidateElasticServiceValidatorTest.java │ │ │ ├── ValidateEsmExistsTest.java │ │ │ ├── ValidateGsmStateTest.java │ │ │ ├── ValidateInstanceMemoryTest.java │ │ │ ├── ValidateOverridesFileSizeTest.java │ │ │ ├── ValidateServiceExistsTest.java │ │ │ ├── ValidateServiceNameTest.java │ │ │ ├── ValidateServiceNotAlreadyDeployedTest.java │ │ │ ├── ValidateSetInstancesCountTest.java │ │ │ ├── ValidateStorageTemplateExistsTest.java │ │ │ ├── ValidateTemplateOperationTest.java │ │ │ ├── ValidateTemplateTest.java │ │ │ └── ValidatorsTestsUtils.java │ │ └── resources │ │ ├── META-INF │ │ └── spring │ │ │ ├── applicationContext.xml │ │ │ ├── config.properties │ │ │ ├── webmvc-config-test.xml │ │ │ └── webmvc-config-upload-test.xml │ │ ├── deploy │ │ ├── DataGrid-service.groovy │ │ ├── ec2-cloud.groovy │ │ ├── ec2-cloud.properties │ │ ├── packedStatefulPU.zip │ │ ├── packedStatelessPU.zip │ │ ├── stateful-service.groovy │ │ ├── stateless-service.groovy │ │ ├── upload │ │ │ └── empty │ │ └── usm-service.groovy │ │ ├── restDoclet │ │ ├── .gitignore │ │ └── restDocletVelocityTemplate.vm │ │ ├── upload │ │ ├── test.rar │ │ ├── test.txt │ │ ├── test.zip │ │ └── test1.txt │ │ └── validators │ │ ├── byon │ │ ├── byon-cloud.groovy │ │ └── upload │ │ │ └── empty │ │ ├── simple-service.overrides │ │ ├── simple.groovy │ │ ├── simple │ │ ├── simple-service.groovy │ │ └── simpleIcon.png │ │ ├── simpleApp-application.overrides │ │ ├── simpleApp │ │ ├── simple │ │ │ ├── simple-service.groovy │ │ │ └── simpleIcon.png │ │ └── simpleApp-application.groovy │ │ ├── simpleAppTemplateNotExist │ │ ├── simple │ │ │ └── simple-service.groovy │ │ └── simpleApp-application.groovy │ │ ├── simpleAppWithOverrides │ │ ├── simple │ │ │ ├── simple-service.groovy │ │ │ └── simpleIcon.png │ │ ├── simpleApp-application.groovy │ │ └── simpleApp-application.overrides │ │ ├── simpleWithOverrides │ │ ├── simple-service.groovy │ │ ├── simple-service.overrides │ │ └── simpleIcon.png │ │ ├── smallLinuxService.groovy │ │ ├── template1service.groovy │ │ └── template5service.groovy ├── transaction.log └── tree.txt ├── security-ldap ├── .gitignore ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── cloudifysource │ └── securityldap │ ├── CustomLdapAuthGroupsPopulator.java │ ├── CustomLdapAuthenticationProvider.java │ ├── CustomLdapAuthoritiesPopulator.java │ ├── CustomLdapUserDetailsMapper.java │ ├── ExtendedLdapUserDetailsImpl.java │ └── LdapAuthGroupsPopulator.java ├── security ├── .gitignore ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── cloudifysource │ └── security │ ├── BooleanDelegatingFilterProxy.java │ ├── CloudifyAuthorizationDetails.java │ ├── CloudifyDaoAuthenticationProvider.java │ ├── CloudifyUser.java │ ├── CloudifyUserDetails.java │ ├── CloudifyUserDetailsService.java │ ├── CustomApproveAllPermissionEvaluator.java │ ├── CustomAuthenticationToken.java │ ├── CustomDenyAllPermissionEvaluator.java │ ├── CustomMethodSecurityEvaluationContext.java │ ├── CustomMethodSecurityExpressionRoot.java │ ├── CustomPermissionEvaluator.java │ ├── ExtendedAuthentication.java │ ├── ExtendedMethodSecurityExpressionHandler.java │ ├── SecuredObjectTypes.java │ └── SecurityConstants.java ├── third_party.md ├── utility-domain ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── cloudifysource │ │ └── utilitydomain │ │ ├── admin │ │ └── TimedAdmin.java │ │ ├── context │ │ ├── InvocationFuture.java │ │ ├── ServiceContextFactory.java │ │ ├── ServiceContextImpl.java │ │ ├── ServiceImpl.java │ │ ├── ServiceInstanceImpl.java │ │ ├── blockstorage │ │ │ ├── ServiceVolume.java │ │ │ ├── StorageFacadeImpl.java │ │ │ ├── VolumeState.java │ │ │ ├── VolumeUtils.java │ │ │ └── package-info.java │ │ ├── kvstore │ │ │ ├── AbstractAttributesAccessor.java │ │ │ ├── ApplicationAttributesAccessor.java │ │ │ ├── AttributesFacadeImpl.java │ │ │ ├── GlobalAttributesAccessor.java │ │ │ ├── InstanceAttributesAccessor.java │ │ │ └── ServiceAttributesAccessor.java │ │ ├── network │ │ │ ├── NetworkFacadeImpl.java │ │ │ └── package-info.java │ │ └── package-info.java │ │ ├── data │ │ ├── CloudConfigurationHolder.java │ │ ├── ServiceInstanceAttemptData.java │ │ └── reader │ │ │ └── ComputeTemplatesReader.java │ │ ├── kvstorage │ │ └── spaceentries │ │ │ ├── AbstractCloudifyAttribute.java │ │ │ ├── ApplicationCloudifyAttribute.java │ │ │ ├── GlobalCloudifyAttribute.java │ │ │ ├── InstanceCloudifyAttribute.java │ │ │ ├── ServiceCloudifyAttribute.java │ │ │ └── package-info.java │ │ └── openspaces │ │ ├── OpenspacesConstants.java │ │ └── OpenspacesDomainUtils.java │ └── test │ ├── java │ └── org │ │ └── cloudifysource │ │ └── utilitydomain │ │ ├── ComputeTemplatesReaderTest.java │ │ └── ReadTemplatesFileTest.java │ └── resources │ ├── ExternalDSLFiles │ ├── illegalDuplicateTemplates │ │ ├── linuxWithTomcatName-template.groovy │ │ ├── tomcat-template.groovy │ │ └── upload │ │ │ └── bla.pem │ ├── illegalMultipleTemplatesInOneFile │ │ ├── multiple-template.groovy │ │ └── upload │ │ │ └── bla.pem │ ├── templateFiles │ │ ├── linux-template.groovy │ │ ├── tomcat-template.groovy │ │ └── upload │ │ │ └── bla.pem │ └── templateFilesWithoutUpload │ │ ├── linux-template.groovy │ │ └── tomcat-template.groovy │ └── templates │ ├── test-template.groovy │ └── wrongFileTransferPackage-template.groovy └── version ├── README.md ├── pom.xml └── src └── main └── java └── com └── j_spaces └── kernel └── CloudifyVersion.java /.gitattributes: -------------------------------------------------------------------------------- 1 | # Expilicitly specify text file to be stored and normalized using lf line ending 2 | * text eol=lf 3 | 4 | # Leave binary files untouched 5 | *.jar binary 6 | *.exe binary 7 | *.dll binary 8 | *.png binary 9 | *.war binary 10 | *.zip binary 11 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | jdk: 3 | - oraclejdk7 4 | 5 | install: "mvn install -f ./cloudify/pom.xml -DskipTests=true" 6 | script: "mvn test -f ./cloudify/pom.xml" 7 | after_script: "ant -f ./cloudify/build.xml cloudify.zip" 8 | -------------------------------------------------------------------------------- /CLI/.gitignore: -------------------------------------------------------------------------------- 1 | /.checkstyle 2 | -------------------------------------------------------------------------------- /CLI/Archive/README.txt: -------------------------------------------------------------------------------- 1 | Temporary folder for commands that are no longer used, but should be available for developers to read. 2 | Some may be restored after after dynamic loading of commands is available. -------------------------------------------------------------------------------- /CLI/build.bat: -------------------------------------------------------------------------------- 1 | call mvn -DskipTests=true -f pom-all-local.xml install 2 | copy /y target\cli.jar ..\SGTest\tools\gigaspaces\tools\cli\cli.jar -------------------------------------------------------------------------------- /CLI/debug.bat: -------------------------------------------------------------------------------- 1 | mvndebug compile exec:java -Djava.util.logging.config.file=logging.properties -------------------------------------------------------------------------------- /CLI/src/main/assembly/assembly.xml: -------------------------------------------------------------------------------- 1 | 5 | one-jar 6 | 7 | jar 8 | 9 | false 10 | 11 | 12 | 13 | org.cloudifysource:CLI 14 | 15 | true 16 | 17 | 18 | 19 | org.cloudifysource:CLI 20 | 21 | true 22 | 23 | 24 | **/linux32/libjansi.so 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /CLI/src/main/java/org/cloudifysource/shell/AdminType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2011 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package org.cloudifysource.shell; 17 | 18 | /** 19 | * @author adaml 20 | * @since 2.0.0 21 | */ 22 | public enum AdminType { 23 | 24 | REST, 25 | ADMIN 26 | } 27 | -------------------------------------------------------------------------------- /CLI/src/main/java/org/cloudifysource/shell/exceptions/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2012 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | ******************************************************************************/ 16 | 17 | /** 18 | * Exception classes used in the CLI project. 19 | * 20 | * @since 2.0.0 21 | * 22 | * 23 | **/ 24 | 25 | package org.cloudifysource.shell.exceptions; 26 | -------------------------------------------------------------------------------- /CLI/src/main/java/org/cloudifysource/shell/proxy/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2012 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | ******************************************************************************/ 13 | 14 | /************************** 15 | * Proxy selection code. 16 | **/ 17 | package org.cloudifysource.shell.proxy; -------------------------------------------------------------------------------- /CLI/src/main/java/org/cloudifysource/shell/rest/inspect/application/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | ******************************************************************************/ 16 | 17 | package org.cloudifysource.shell.rest.inspect.application; 18 | 19 | -------------------------------------------------------------------------------- /CLI/src/main/java/org/cloudifysource/shell/rest/inspect/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | ******************************************************************************/ 16 | 17 | package org.cloudifysource.shell.rest.inspect; 18 | 19 | -------------------------------------------------------------------------------- /CLI/src/main/java/org/cloudifysource/shell/rest/inspect/service/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | ******************************************************************************/ 16 | 17 | package org.cloudifysource.shell.rest.inspect.service; 18 | 19 | -------------------------------------------------------------------------------- /CLI/src/main/java/org/cloudifysource/shell/validators/CloudifyAgentValidator.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package org.cloudifysource.shell.validators; 17 | 18 | public interface CloudifyAgentValidator extends CloudifyMachineValidator { 19 | 20 | } 21 | -------------------------------------------------------------------------------- /CLI/src/main/resources/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Archiver-Version: Plexus Archiver 3 | Created-By: Apache Maven 4 | Built-By: guy 5 | Build-Jdk: 1.5.0_22 6 | Main: org.openspaces.cloud.shell.GigaShellMain 7 | 8 | -------------------------------------------------------------------------------- /CLI/src/main/resources/META-INF/native/linux32/libjansi.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/CLI/src/main/resources/META-INF/native/linux32/libjansi.so -------------------------------------------------------------------------------- /CLI/src/main/resources/META-INF/shell/noninteractive.branding.properties: -------------------------------------------------------------------------------- 1 | ## 2 | ## Licensed to the Apache Software Foundation (ASF) under one 3 | ## or more contributor license agreements. See the NOTICE file 4 | ## distributed with this work for additional information 5 | ## regarding copyright ownership. The ASF licenses this file 6 | ## to you under the Apache License, Version 2.0 (the 7 | ## "License"); you may not use this file except in compliance 8 | ## with the License. You may obtain a copy of the License at 9 | ## 10 | ## http://www.apache.org/licenses/LICENSE-2.0 11 | ## 12 | ## Unless required by applicable law or agreed to in writing, 13 | ## software distributed under the License is distributed on an 14 | ## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | ## KIND, either express or implied. See the License for the 16 | ## specific language governing permissions and limitations 17 | ## under the License. 18 | ## 19 | 20 | welcome = Starting Non-Interactive Shell -------------------------------------------------------------------------------- /CLI/src/test/resources/applicationValidation/failed-groovy-application/groovy-application.groovy: -------------------------------------------------------------------------------- 1 | 2 | application { 3 | 4 | name="groovy" 5 | 6 | service { 7 | name = "groovy1" 8 | } 9 | 10 | service { 11 | name = "groovy2" 12 | dependsOn = ["groovy1"] 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /CLI/src/test/resources/applicationValidation/failed-groovy-application/groovy1/groovy1-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | name "groovy1" 6 | icon "icon.png" 7 | type "WEB_SERVER" 8 | elastic true 9 | lifecycle { start "run.groovy" } 10 | 11 | compute { 12 | template "Cloudify_Server" 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /CLI/src/test/resources/applicationValidation/failed-groovy-application/groovy1/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/CLI/src/test/resources/applicationValidation/failed-groovy-application/groovy1/icon.png -------------------------------------------------------------------------------- /CLI/src/test/resources/applicationValidation/failed-groovy-application/groovy1/run.groovy: -------------------------------------------------------------------------------- 1 | import org.cloudifysource.domain.context.ServiceContext 2 | import org.coudifysource.dsl.context.ServiceContextFactory 3 | 4 | 5 | ServiceContext context = ServiceContextFactory.getServiceContext() 6 | 7 | 8 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /CLI/src/test/resources/applicationValidation/groovy-application/groovy-application.groovy: -------------------------------------------------------------------------------- 1 | 2 | application { 3 | 4 | name="groovy" 5 | 6 | service { 7 | name = "groovy1" 8 | } 9 | 10 | service { 11 | name = "groovy2" 12 | dependsOn = ["groovy1"] 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /CLI/src/test/resources/applicationValidation/groovy-application/groovy1/groovy1-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | name "groovy1" 6 | icon "icon.png" 7 | type "WEB_SERVER" 8 | elastic true 9 | lifecycle { start "run.groovy" } 10 | 11 | compute { 12 | template "Cloudify_Server" 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /CLI/src/test/resources/applicationValidation/groovy-application/groovy1/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/CLI/src/test/resources/applicationValidation/groovy-application/groovy1/icon.png -------------------------------------------------------------------------------- /CLI/src/test/resources/applicationValidation/groovy-application/groovy1/run.groovy: -------------------------------------------------------------------------------- 1 | import org.cloudifysource.domain.context.ServiceContext 2 | import org.coudifysource.dsl.context.ServiceContextFactory 3 | 4 | 5 | ServiceContext context = ServiceContextFactory.getServiceContext() 6 | 7 | 8 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /CLI/src/test/resources/applicationValidation/groovy-application/groovy2/groovy2-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | name "groovy2" 6 | icon "icon.png" 7 | type "WEB_SERVER" 8 | elastic true 9 | lifecycle { start "run.groovy" } 10 | 11 | compute { 12 | template "HA_PROXY" 13 | } 14 | } -------------------------------------------------------------------------------- /CLI/src/test/resources/applicationValidation/groovy-application/groovy2/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/CLI/src/test/resources/applicationValidation/groovy-application/groovy2/icon.png -------------------------------------------------------------------------------- /CLI/src/test/resources/applicationValidation/groovy-application/groovy2/run.groovy: -------------------------------------------------------------------------------- 1 | import org.cloudifysource.domain.context.ServiceContext 2 | import org.cloudifysource.utilitydomain.context.ServiceContextFactory 3 | 4 | 5 | ServiceContext context = ServiceContextFactory.getServiceContext() 6 | 7 | 8 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /CLI/src/test/resources/sampleWar/README: -------------------------------------------------------------------------------- 1 | Just some test files used to create and modify zip files -------------------------------------------------------------------------------- /CLI/src/test/resources/sampleWar/index.html: -------------------------------------------------------------------------------- 1 | This is a test file -------------------------------------------------------------------------------- /CLI/src/test/resources/sampleWar2/README: -------------------------------------------------------------------------------- 1 | Just some test files used to create and modify zip files -------------------------------------------------------------------------------- /CLI/src/test/resources/sampleWar2/index.html: -------------------------------------------------------------------------------- 1 | This is a test file -------------------------------------------------------------------------------- /CLI/src/test/resources/sampleWar2/index2.html: -------------------------------------------------------------------------------- 1 | This is another test file -------------------------------------------------------------------------------- /CLI/src/test/resources/serviceValidation/failed-groovy-service/groovy1-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | naame "groovy1" 6 | icon "icon.png" 7 | type "WEB_SERVER" 8 | elastic true 9 | lifecycle { start "run.groovy" } 10 | 11 | compute { 12 | template "Cloudify_Server" 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /CLI/src/test/resources/serviceValidation/failed-groovy-service/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/CLI/src/test/resources/serviceValidation/failed-groovy-service/icon.png -------------------------------------------------------------------------------- /CLI/src/test/resources/serviceValidation/groovy-service/groovy1-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | name "groovy1" 6 | icon "icon.png" 7 | type "WEB_SERVER" 8 | elastic true 9 | lifecycle { start "run.groovy" } 10 | 11 | compute { 12 | template "Cloudify_Server" 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /CLI/src/test/resources/serviceValidation/groovy-service/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/CLI/src/test/resources/serviceValidation/groovy-service/icon.png -------------------------------------------------------------------------------- /CLI/src/test/resources/serviceValidation/groovy-service/run.groovy: -------------------------------------------------------------------------------- 1 | import org.cloudifysource.domain.context.ServiceContext 2 | import org.coudifysource.dsl.context.ServiceContextFactory 3 | 4 | 5 | ServiceContext context = ServiceContextFactory.getServiceContext() 6 | 7 | 8 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /USM/.gitignore: -------------------------------------------------------------------------------- 1 | /.checkstyle 2 | /transaction.log 3 | -------------------------------------------------------------------------------- /USM/build.bat: -------------------------------------------------------------------------------- 1 | rmdir /s /q target 2 | call mvn package 3 | if not exist target\usm.jar goto err 4 | copy target\usm.jar ..\SGTest\lib\usm\usm.jar 5 | goto exit 6 | :err 7 | echo BUILD ERROR 8 | :exit -------------------------------------------------------------------------------- /USM/resources/applications/simple/simple-application.groovy: -------------------------------------------------------------------------------- 1 | 2 | application { 3 | name="simple" 4 | 5 | 6 | service { 7 | name = "simple" 8 | type = "hello" 9 | } 10 | 11 | service { 12 | 13 | name = "simple2" 14 | dependsOn = ["simple"] 15 | } 16 | } -------------------------------------------------------------------------------- /USM/resources/applications/simple/simple/init.groovy: -------------------------------------------------------------------------------- 1 | import org.cloudifysource.domain.context.ServiceContext 2 | import org.cloudifysource.utilitydomain.context.ServiceContextFactory; 3 | 4 | 5 | println "Classpath is: " + System.getenv().get("CLASSPATH"); 6 | println "This is the init event" 7 | ServiceContext context = ServiceContextFactory.getServiceContext() 8 | 9 | println "Context: " + context 10 | println "Context Service: " + context.service 11 | println "Service Name: " + context.service.name 12 | println "Admin: " + context.admin 13 | println "Service Planned Instances: " + context.service.numberOfPlannedInstances 14 | println "Service Actual Instances: " + context.service.numberOfActualInstances 15 | if(context.service.numberOfActualInstances > 0) { 16 | context.service.instances.each { 17 | println "Service Instance ID: " + it.instanceId 18 | println "Service Instance Host Address: " + it.hostAddress 19 | println "Service Instance Host Name: " + it.hostName 20 | } 21 | } -------------------------------------------------------------------------------- /USM/resources/applications/simple/simple/run.bat: -------------------------------------------------------------------------------- 1 | set 2 | java -Dcom.sun.management.jmxremote.port=9988 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar simplejavaprocess.jar %1 %2 %3 %4 %5 -------------------------------------------------------------------------------- /USM/resources/applications/simple/simple/run.sh: -------------------------------------------------------------------------------- 1 | java -Dcom.sun.management.jmxremote.port=9988 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar simplejavaprocess.jar $1 $2 $3 $4 -------------------------------------------------------------------------------- /USM/resources/applications/simple/simple/simplejavaprocess.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/USM/resources/applications/simple/simple/simplejavaprocess.jar -------------------------------------------------------------------------------- /USM/resources/applications/simple/simple2/init.groovy: -------------------------------------------------------------------------------- 1 | import org.cloudifysource.domain.context.ServiceContext 2 | import org.cloudifysource.utilitydomain.context.ServiceContextFactory; 3 | 4 | 5 | println "Classpath is: " + System.getenv().get("CLASSPATH"); 6 | println "This is the init event" 7 | 8 | ServiceContext context = ServiceContextFactory.getServiceContext() 9 | 10 | println "Context: " + context 11 | println "Context Service: " + context.service 12 | println "Service Name: " + context.service.name 13 | println "Admin: " + context.admin 14 | println "Service Planned Instances: " + context.service.numberOfPlannedInstances 15 | println "Service Actual Instances: " + context.service.numberOfActualInstances 16 | if(context.service.numberOfActualInstances > 0) { 17 | context.service.instances.each { 18 | println "Service Instance ID: " + it.instanceId 19 | println "Service Instance Host Address: " + it.hostAddress 20 | println "Service Instance Host Name: " + it.hostName 21 | } 22 | } -------------------------------------------------------------------------------- /USM/resources/applications/simple/simple2/run.bat: -------------------------------------------------------------------------------- 1 | set 2 | java -Dcom.sun.management.jmxremote.port=9989 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar simplejavaprocess.jar -port 7778 -------------------------------------------------------------------------------- /USM/resources/applications/simple/simple2/run.sh: -------------------------------------------------------------------------------- 1 | java -Dcom.sun.management.jmxremote.port=9988 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar simplejavaprocess.jar -------------------------------------------------------------------------------- /USM/resources/applications/simple/simple2/simplejavaprocess.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/USM/resources/applications/simple/simple2/simplejavaprocess.jar -------------------------------------------------------------------------------- /USM/resources/test.groovy: -------------------------------------------------------------------------------- 1 | def ant = new AntBuilder() 2 | ant.sequential ({ 3 | echo("inside sequential") 4 | mkdir(dir:"install") 5 | gunzip( src:"apache-activemq-5.5.0-bin.tar.gz", dest:"install/apache-activemq-5.5.0-bin.tar") 6 | untar(src:"install/apache-activemq-5.5.0-bin.tar", dest:"install") 7 | }) 8 | -------------------------------------------------------------------------------- /USM/resources/usm-groovy/ext/groovy-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | name "groovy" 6 | type "UNDEFINED" 7 | 8 | elastic true 9 | numInstances 1 10 | maxAllowedInstances 1 11 | lifecycle { 12 | 13 | init { println "This is the init event" } 14 | preInstall {println "This is the preInstall event" } 15 | postInstall {println "This is the postInstall event"} 16 | preStart {println "This is the preStart event" } 17 | 18 | start "run.groovy" 19 | 20 | postStart {println "This is the postStart event" } 21 | preStop {println "This is the preStop event" } 22 | postStop {println "This is the postStop event" } 23 | shutdown {println "This is the shutdown event" } 24 | 25 | startDetection { 26 | new File(context.serviceDirectory + "/marker.txt").exists() 27 | } 28 | 29 | monitors { 30 | def time = System.currentTimeMillis() 31 | 32 | return [ 33 | "time" : time] 34 | } 35 | 36 | 37 | } 38 | } -------------------------------------------------------------------------------- /USM/resources/usm-groovy/ext/marker.txt: -------------------------------------------------------------------------------- 1 | MARKER -------------------------------------------------------------------------------- /USM/resources/usm-groovy/ext/run.bat: -------------------------------------------------------------------------------- 1 | echo hello 2 | -------------------------------------------------------------------------------- /USM/resources/usm-groovy/ext/run.groovy: -------------------------------------------------------------------------------- 1 | 2 | println "In run.groovy at " + new Date() 3 | new File("marker.txt").write("MARKER") 4 | 5 | sleep(5000) 6 | println "End of run.groovy" -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/context.groovy: -------------------------------------------------------------------------------- 1 | 2 | try { 3 | def context = org.cloudifysource.utilitydomain.context.ServiceContextFactory.getServiceContext() 4 | Thread.sleep(2000) 5 | println " context is: " + context 6 | } catch(Exception e) { 7 | println "EXCEPTION" 8 | println e 9 | e.printStackTrace() 10 | } 11 | System.exit(0) 12 | -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/context_command.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | println "context_command" 4 | //if (args && args[0].toFloat() > 0) numTweets = args[0] 5 | 6 | def context = org.cloudifysource.utilitydomain.context.ServiceContextFactory.getServiceContext() 7 | println "context is: " + context 8 | def serviceName = context.serviceName; 9 | println "Service name is: " + serviceName 10 | def service = context.waitForService(serviceName, 20, TimeUnit.SECONDS) 11 | if(service == null) { 12 | throw new Exception("Could not find service: " + serviceName) 13 | } 14 | println "service is: " + service 15 | 16 | def instance = service.waitForInstances(1, 10, TimeUnit.SECONDS) 17 | if(instance == null) { 18 | throw new Exception("Could not find instance of service in context") 19 | } 20 | 21 | println "instance is: " + instance 22 | 23 | 24 | -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/init.bat: -------------------------------------------------------------------------------- 1 | echo First Paremeter is: %1 2 | echo Second Paremeter is: %2 3 | echo Third Paremeter is: %3 4 | echo Fourth Paremeter is: %4 5 | pause -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/init.groovy: -------------------------------------------------------------------------------- 1 | println "init fired" 2 | 3 | println "init fired2" 4 | 5 | if(args == null) { 6 | throw new Exception("Expected three command line argument, got null") 7 | } 8 | if(args.length != 3) { 9 | throw new Exception("Expected three command line argument, got " + args.length) 10 | } 11 | println args[0] 12 | println args[1] 13 | println args[2] 14 | 15 | 16 | -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/post_start.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | println "postStart fired" 4 | 5 | if (args && args[0].toFloat() > 0) numTweets = args[0] 6 | 7 | def context = org.cloudifysource.utilitydomain.context.ServiceContextFactory.getServiceContext() 8 | println "context is: " + context 9 | def puName = context.clusterInfo.name; 10 | println "PU name is: " + puName 11 | println "Service name is: " + context.serviceName 12 | println "Application name is: " + context.applicationName 13 | 14 | def service = context.waitForService(context.serviceName, 20, TimeUnit.SECONDS) 15 | if(service == null) { 16 | throw new Exception("Could not find service: " + puName) 17 | } 18 | println "service is: " + service 19 | 20 | //def instance = service.waitForInstances(1, 10, TimeUnit.SECONDS) 21 | //if(instance == null) { 22 | // throw new Exception("Could not find instance of service in context") 23 | //} 24 | // 25 | //println "instance is: " + instance 26 | 27 | 28 | -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/pre_stop.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | println "preStop fired" 4 | 5 | if(args == null) { 6 | throw new Exception("Expected three command line argument, got null") 7 | } 8 | if(args.length != 3) { 9 | throw new Exception("Expected three command line argument, got " + args.length) 10 | } 11 | println args[0] 12 | println args[1] 13 | println args[2] 14 | 15 | 16 | -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/run.bat: -------------------------------------------------------------------------------- 1 | java -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar simplejavaprocess.jar %1 %2 %3 %4 %5 -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/run.sh: -------------------------------------------------------------------------------- 1 | nohup java -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar simplejavaprocess.jar $1 $2 $3 $4 $5 -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/simple-service.properties: -------------------------------------------------------------------------------- 1 | var1="Test Property number 1" 2 | var2="Test Property number 2" 3 | -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/simplejavaprocess.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/USM/resources/usm-simpleprocess/ext/simplejavaprocess.jar -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/someScript.groovy: -------------------------------------------------------------------------------- 1 | for (a in this.args) { 2 | println("Argument:" + a) 3 | } -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/test.properties: -------------------------------------------------------------------------------- 1 | var1="This is var 1" 2 | var2="This is var 2" 3 | -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/ext/usmlib/MyException.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/USM/resources/usm-simpleprocess/ext/usmlib/MyException.jar -------------------------------------------------------------------------------- /USM/resources/usm-simpleprocess/lib/MyException.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/USM/resources/usm-simpleprocess/lib/MyException.jar -------------------------------------------------------------------------------- /USM/src/main/java/org/cloudifysource/usm/events/InitListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2011 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package org.cloudifysource.usm.events; 17 | 18 | public interface InitListener extends USMEvent { 19 | 20 | EventResult onInit(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /USM/src/main/java/org/cloudifysource/usm/events/PostInstallListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2011 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package org.cloudifysource.usm.events; 17 | 18 | public interface PostInstallListener extends USMEvent { 19 | 20 | EventResult onPostInstall(); 21 | } 22 | -------------------------------------------------------------------------------- /USM/src/main/java/org/cloudifysource/usm/events/PreInstallListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2011 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package org.cloudifysource.usm.events; 17 | 18 | public interface PreInstallListener extends USMEvent { 19 | 20 | EventResult onPreInstall(); 21 | } 22 | -------------------------------------------------------------------------------- /USM/src/main/java/org/cloudifysource/usm/events/PreServiceStartListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2011 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package org.cloudifysource.usm.events; 17 | 18 | public interface PreServiceStartListener extends USMEvent{ 19 | EventResult onPreServiceStart(); 20 | } 21 | -------------------------------------------------------------------------------- /USM/src/main/java/org/cloudifysource/usm/events/PreServiceStopListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2011 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package org.cloudifysource.usm.events; 17 | 18 | public interface PreServiceStopListener extends USMEvent{ 19 | EventResult onPreServiceStop(); 20 | } 21 | -------------------------------------------------------------------------------- /USM/src/main/java/org/cloudifysource/usm/events/ShutdownListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2011 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package org.cloudifysource.usm.events; 17 | 18 | public interface ShutdownListener extends USMEvent { 19 | 20 | EventResult onShutdown(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /USM/src/main/java/org/cloudifysource/usm/events/StartListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2011 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package org.cloudifysource.usm.events; 17 | 18 | public interface StartListener extends PreStartListener, PostStartListener { 19 | 20 | 21 | } 22 | -------------------------------------------------------------------------------- /USM/src/main/java/org/cloudifysource/usm/events/StartReason.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2011 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package org.cloudifysource.usm.events; 17 | 18 | public enum StartReason { 19 | 20 | DEPLOY, 21 | PROCESS_FAILURE, 22 | USER_RESTART 23 | 24 | } 25 | -------------------------------------------------------------------------------- /USM/src/test/resources/debug/ext/echo.sh: -------------------------------------------------------------------------------- 1 | echo Echo from $1 -------------------------------------------------------------------------------- /USM/src/test/resources/debug/ext/nothing-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | 5 | 6 | service { 7 | name "nothing" 8 | type "WEB_SERVER" 9 | elastic true 10 | numInstances 1 11 | lifecycle { 12 | 13 | preInstall "echo.sh preInstall" 14 | locator { 15 | NO_PROCESS_LOCATORS 16 | } 17 | 18 | } 19 | } -------------------------------------------------------------------------------- /USM/src/test/resources/groovy/ext/groovy-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | 5 | 6 | service { 7 | name "groovy" 8 | type "WEB_SERVER" 9 | elastic true 10 | numInstances 1 11 | lifecycle { 12 | 13 | preStart { 14 | new File(context.serviceDirectory + "/marker.txt").delete() 15 | } 16 | start "run.groovy" 17 | 18 | 19 | startDetection { 20 | def file = new File(context.serviceDirectory + "/marker.txt") 21 | println "Checking if file exists: " + file 22 | new File(context.serviceDirectory + "/marker.txt").exists() 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /USM/src/test/resources/groovy/ext/run.groovy: -------------------------------------------------------------------------------- 1 | 2 | 3 | new File("marker.txt").write("MARKER") 4 | 5 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /USM/src/test/resources/retries-recovery/ext/nothing-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | name "groovyError" 6 | type "UNDEFINED" 7 | 8 | elastic true 9 | numInstances 1 10 | maxAllowedInstances 1 11 | retries retriesLimit 12 | 13 | lifecycle { 14 | 15 | locator { 16 | NO_PROCESS_LOCATORS 17 | } 18 | 19 | monitors { 20 | def time = System.currentTimeMillis() 21 | 22 | return [ 23 | "time" : time] 24 | } 25 | 26 | 27 | } 28 | } -------------------------------------------------------------------------------- /USM/src/test/resources/retries-recovery/ext/nothing-service.properties: -------------------------------------------------------------------------------- 1 | retriesLimit = 1 -------------------------------------------------------------------------------- /USM/src/test/resources/retries-recovery/ext/run.groovy: -------------------------------------------------------------------------------- 1 | 2 | 3 | new File("marker.txt").write("MARKER") 4 | 5 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /USM/src/test/resources/retries/ext/error-service.properties: -------------------------------------------------------------------------------- 1 | retriesLimit = 1 -------------------------------------------------------------------------------- /USM/src/test/resources/retries/ext/run.groovy: -------------------------------------------------------------------------------- 1 | 2 | 3 | new File("marker.txt").write("MARKER") 4 | 5 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /USM/src/test/resources/simple/ext/run.bat: -------------------------------------------------------------------------------- 1 | echo Started > marker.txt 2 | pause -------------------------------------------------------------------------------- /USM/src/test/resources/simple/ext/run.groovy: -------------------------------------------------------------------------------- 1 | 2 | 3 | new File("marker.txt").write("MARKER") 4 | 5 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /cloudify/build.properties: -------------------------------------------------------------------------------- 1 | 2 | gs.version=9.7.1 3 | gs.build.number=10811-296 4 | gs.milestone=ga 5 | s3.gs.publish.folder=9.7.1-10811-296-SNAPSHOT 6 | s3.gs.packages.publish.folder=9.7.1-SNAPSHOT 7 | 8 | 9 | cloudify.version=2.7.1 10 | cloudify.build.number=6300-6 11 | cloudify.milestone=ga 12 | jclouds.version=1.6.2-incubating -------------------------------------------------------------------------------- /cloudify/cloudify_checkstyle_suppressions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /cloudify/package_build/gigaspaces/START_HERE.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | GigaSpaces - Start Here 5 | 6 | 7 | 8 | 9 |

This page will be redirected. Click here if it does not happen.

10 | 11 | 12 | -------------------------------------------------------------------------------- /cloudify/package_build/gigaspaces/bin/cloudify.bat: -------------------------------------------------------------------------------- 1 | @rem This scripts invokes /tools/cli/cloudify.bat script 2 | @call "%~dp0\..\tools\cli\cloudify.bat" %* -------------------------------------------------------------------------------- /cloudify/package_build/gigaspaces/bin/cloudify.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This scripts invokes /tools/cli/cloudify.sh script 3 | `dirname $0`/../tools/cli/cloudify.sh $* -------------------------------------------------------------------------------- /cloudify/package_build/gs-webui/war/dynamic_props.js: -------------------------------------------------------------------------------- 1 | var ServicesDynamicProperties={ 2 | serviceName:"Service", 3 | serviceInstanceName:"Service Instance", 4 | servicesName:"Services", 5 | serviceInstancesName:"Service Instances", 6 | gsaName:"agent", 7 | gsmName:"deployer", 8 | gscName:"usm", 9 | esmName:"orchestrator", 10 | lusName:"discovery service", 11 | gsaInstancesName:"Agents", 12 | gsmInstancesName:"Deployers", 13 | gscInstancesName:"USMs", 14 | esmInstancesName:"Orchestrators", 15 | lusInstancesName:"Discovery Services", 16 | deployAction:"Install", 17 | undeployAction:"Uninstall" 18 | }; 19 | -------------------------------------------------------------------------------- /cloudify/tools/lib/ant/ant-contrib-1.0b3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/cloudify/tools/lib/ant/ant-contrib-1.0b3.jar -------------------------------------------------------------------------------- /cloudify/tools/lib/svn/svnClientAdapter.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/cloudify/tools/lib/svn/svnClientAdapter.jar -------------------------------------------------------------------------------- /cloudify/tools/lib/svn/svnant.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/cloudify/tools/lib/svn/svnant.jar -------------------------------------------------------------------------------- /cloudify/tools/lib/svn/svnjavahl.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/cloudify/tools/lib/svn/svnjavahl.jar -------------------------------------------------------------------------------- /cloudify/tools/lib/svn/svnkit.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/cloudify/tools/lib/svn/svnkit.jar -------------------------------------------------------------------------------- /domain/.gitignore: -------------------------------------------------------------------------------- 1 | /.checkstyle 2 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/AbstractBasicWidget.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain; 2 | 3 | public class AbstractBasicWidget { 4 | 5 | private String metric; 6 | 7 | public String getMetric() { 8 | return metric; 9 | } 10 | 11 | public void setMetric(String metric) { 12 | this.metric = metric; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/AppSharedIsolationSLADescriptor.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain; 2 | 3 | import org.cloudifysource.domain.internal.CloudifyDSLEntity; 4 | 5 | /** 6 | * This class defines a service deployment which is shared across all machines 7 | * that are provisioned for the same application in the cluster. 8 | * Each service instance will be allocated according to the requirements specified. 9 | * @author elip 10 | * 11 | */ 12 | @CloudifyDSLEntity(name = "appShared", clazz = AppSharedIsolationSLADescriptor.class, allowInternalNode = true, 13 | allowRootNode = false, parent = "isolationSLA") 14 | public class AppSharedIsolationSLADescriptor extends SharedIsolationSLADescriptor { 15 | 16 | 17 | 18 | @Override 19 | public String toString() { 20 | return "AppSharedIsolationSLADescriptor [instanceMemoryMB=" 21 | + getInstanceMemoryMB() + ", instanceCpuCores=" + getInstanceCpuCores() 22 | + ", useManagement=" + isUseManagement() + "]"; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/BalanceGauge.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain; 2 | 3 | import org.cloudifysource.domain.internal.CloudifyDSLEntity; 4 | 5 | 6 | @CloudifyDSLEntity(name = "balanceGauge", clazz = MetricGroup.class, allowInternalNode = true, 7 | allowRootNode = false, parent = "widgetGroup") 8 | public class BalanceGauge extends AbstractBasicWidget implements Widget { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/BarLineChart.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain; 2 | 3 | import org.cloudifysource.domain.internal.CloudifyDSLEntity; 4 | 5 | @CloudifyDSLEntity(name = "barLineChart", clazz = MetricGroup.class, allowInternalNode = true, 6 | allowRootNode = false, parent = "widgetGroup") 7 | public class BarLineChart extends AbstractBasicWidget implements Widget { 8 | 9 | private Unit axisYUnit = Unit.REGULAR; 10 | 11 | public Unit getAxisYUnit() { 12 | return axisYUnit; 13 | } 14 | 15 | public void setAxisYUnit(Unit axisYUnit) { 16 | this.axisYUnit = axisYUnit; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/MetricGroup.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain; 2 | 3 | import java.util.List; 4 | 5 | import org.cloudifysource.domain.internal.CloudifyDSLEntity; 6 | 7 | @CloudifyDSLEntity(name = "metricGroup", clazz = MetricGroup.class, allowInternalNode = true, 8 | allowRootNode = false, parent = "userInterface") 9 | public class MetricGroup { 10 | private String name; 11 | private List metrics; 12 | 13 | public String getName() { 14 | return name; 15 | } 16 | public void setName(String name) { 17 | this.name = name; 18 | } 19 | public List getMetrics() { 20 | return (List) metrics; 21 | } 22 | public void setMetrics(List metrics) { 23 | this.metrics = metrics; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/TenantSharedIsolationSLADescriptor.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain; 2 | 3 | import org.cloudifysource.domain.internal.CloudifyDSLEntity; 4 | 5 | /** 6 | * This class defines a service deployment which is shared across all machines that are provisioned for the same tenant 7 | * in the cluster. Each service instance will be allocated according to the requirements specified. 8 | * 9 | * @author elip 10 | * 11 | */ 12 | @CloudifyDSLEntity(name = "tenantShared", clazz = TenantSharedIsolationSLADescriptor.class, allowInternalNode = true, 13 | allowRootNode = false, parent = "isolationSLA") 14 | public class TenantSharedIsolationSLADescriptor extends SharedIsolationSLADescriptor { 15 | 16 | @Override 17 | public String toString() { 18 | return "TenantSharedIsolationSLADescriptor [instanceMemoryMB=" 19 | + getInstanceMemoryMB() + ", instanceCpuCores=" + getInstanceCpuCores() 20 | + ", useManagement=" + isUseManagement() + "]"; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/Unit.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain; 2 | 3 | public enum Unit { 4 | REGULAR, 5 | PERCENTAGE, 6 | MEMORY, 7 | DURATION 8 | } 9 | 10 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/UserInterface.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import org.cloudifysource.domain.internal.CloudifyDSLEntity; 7 | 8 | @CloudifyDSLEntity(name = "userInterface", clazz = UserInterface.class, allowInternalNode = true, 9 | allowRootNode = false, parent = "service") 10 | public class UserInterface { 11 | 12 | private List metricGroups = new ArrayList(); 13 | private List widgetGroups = new ArrayList(); 14 | 15 | public List getMetricGroups() { 16 | return metricGroups; 17 | } 18 | public void setMetricGroups(List metricGroups) { 19 | this.metricGroups = metricGroups; 20 | } 21 | public List getWidgetGroups() { 22 | return widgetGroups; 23 | } 24 | public void setWidgetGroups(List widgetGroups) { 25 | this.widgetGroups = widgetGroups; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/Widget.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain; 2 | 3 | public interface Widget { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/WidgetGroup.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain; 2 | 3 | import java.util.List; 4 | 5 | import org.cloudifysource.domain.internal.CloudifyDSLEntity; 6 | 7 | @CloudifyDSLEntity(name = "widgetGroup", clazz = WidgetGroup.class, allowInternalNode = true, 8 | allowRootNode = false, parent = "userInterface") 9 | public class WidgetGroup { 10 | 11 | private String name; 12 | private String title; 13 | private List widgets; 14 | public String getName() { 15 | return name; 16 | } 17 | public String getTitle(){ 18 | return title == null ? getName() : title; 19 | } 20 | public void setName(String name) { 21 | this.name = name; 22 | } 23 | public void setTtile(String title){ 24 | this.title = title; 25 | } 26 | public List getWidgets() { 27 | return (List) widgets; 28 | } 29 | public void setWidgets(List widgets) { 30 | this.widgets = widgets; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/cloud/GridComponent.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.cloud; 2 | 3 | 4 | /****** 5 | * Abstract grid component configuration. 6 | * 7 | * @author adaml 8 | * @since 2.5.0 9 | */ 10 | public abstract class GridComponent { 11 | private String minMemory; 12 | private String maxMemory; 13 | 14 | public String getMinMemory() { 15 | return minMemory; 16 | } 17 | 18 | public void setMinMemory(final String minMemory) { 19 | this.minMemory = minMemory; 20 | } 21 | 22 | public String getMaxMemory() { 23 | return maxMemory; 24 | } 25 | 26 | public void setMaxMemory(final String maxMemory) { 27 | this.maxMemory = maxMemory; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/cloud/ScriptLanguages.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.cloud; 2 | 3 | /****** 4 | * Enum for supported script languages. 5 | * 6 | * @author barakme 7 | * @since 2.5.0 8 | * 9 | */ 10 | public enum ScriptLanguages { 11 | /** 12 | * Linux shell script. 13 | */ 14 | LINUX_SHELL, 15 | /**** 16 | * Windows batch file. 17 | */ 18 | WINDOWS_BATCH 19 | 20 | } -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/cloud/compute/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2011 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | *******************************************************************************/ 13 | package org.cloudifysource.domain.cloud.compute; -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/cloud/storage/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author elip 6 | * 7 | */ 8 | package org.cloudifysource.domain.cloud.storage; -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/internal/statistics/EachSingleInstanceStatistics.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.internal.statistics; 2 | 3 | import org.cloudifysource.domain.statistics.EachSingleInstanceStatisticsConfig; 4 | import org.cloudifysource.domain.statistics.InstancesStatisticsCalculation; 5 | import org.cloudifysource.domain.statistics.InstancesStatisticsConfig; 6 | 7 | /** 8 | * 9 | * @author itaif 10 | * @since 2.1 11 | */ 12 | 13 | public class EachSingleInstanceStatistics implements InstancesStatisticsCalculation { 14 | 15 | /** 16 | * Creates a configuration that returns each instance statistics as it is 17 | */ 18 | @Override 19 | public InstancesStatisticsConfig createInstancesStatistics() { 20 | return new EachSingleInstanceStatisticsConfig(); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/network/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | *******************************************************************************/ 13 | /******* 14 | * Network related domain objects. 15 | */ 16 | package org.cloudifysource.domain.network; 17 | 18 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/AbstractConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class AbstractConfig { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/AverageInstancesStatisticsConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class AverageInstancesStatisticsConfig extends InstancesStatisticsConfig { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/AverageTimeWindowStatisticsConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class AverageTimeWindowStatisticsConfig extends TimeWindowStatisticsConfig { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/CpuPercentageTimeWindowStatisticsConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class CpuPercentageTimeWindowStatisticsConfig extends TimeWindowStatisticsConfig { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/EachSingleInstanceStatisticsConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class EachSingleInstanceStatisticsConfig extends InstancesStatisticsConfig { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/InstancesStatisticsCalculation.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | 4 | /** 5 | * 6 | * @author adaml 7 | * 8 | */ 9 | public interface InstancesStatisticsCalculation { 10 | /** 11 | * Creates a configuration that reduces values of a metric from several service instances, into a single value. 12 | */ 13 | public InstancesStatisticsConfig createInstancesStatistics(); 14 | } 15 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/InstancesStatisticsConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class InstancesStatisticsConfig extends AbstractConfig { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/MaximumInstancesStatisticsConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class MaximumInstancesStatisticsConfig extends InstancesStatisticsConfig { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/MaximumTimeWindowStatisticsConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class MaximumTimeWindowStatisticsConfig extends TimeWindowStatisticsConfig { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/MinimumInstancesStatisticsConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class MinimumInstancesStatisticsConfig extends InstancesStatisticsConfig { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/MinimumTimeWindowStatisticsConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class MinimumTimeWindowStatisticsConfig extends TimeWindowStatisticsConfig { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/PercentileInstancesStatisticsConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class PercentileInstancesStatisticsConfig extends InstancesStatisticsConfig { 9 | 10 | private double percentile; 11 | 12 | public double getPercentile() { 13 | return percentile; 14 | } 15 | 16 | public void setPercentile(final double percentile) { 17 | this.percentile = percentile; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/PercentileTimeWindowStatisticsConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class PercentileTimeWindowStatisticsConfig extends TimeWindowStatisticsConfig { 9 | 10 | private double percentile; 11 | 12 | public double getPercentile() { 13 | return percentile; 14 | } 15 | 16 | public void setPercentile(final double percentile) { 17 | this.percentile = percentile; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/ServiceStatisticsCalculation.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | 4 | /** 5 | * @see StatisticsCalculationFactory 6 | * @author itaif 7 | * @since 2.1 8 | */ 9 | public class ServiceStatisticsCalculation { 10 | 11 | private final InstancesStatisticsCalculation instancesStatistics; 12 | private final TimeWindowStatisticsCalculation timeStatistics; 13 | 14 | public ServiceStatisticsCalculation(final InstancesStatisticsCalculation instancesStatistics, 15 | final TimeWindowStatisticsCalculation timeStatistics) { 16 | this.instancesStatistics = instancesStatistics; 17 | this.timeStatistics = timeStatistics; 18 | } 19 | 20 | public TimeWindowStatisticsCalculation getTimeStatistics() { 21 | return timeStatistics; 22 | } 23 | 24 | public InstancesStatisticsCalculation getInstancesStatistics() { 25 | return instancesStatistics; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/StatisticsCalculation.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public interface StatisticsCalculation extends InstancesStatisticsCalculation , TimeWindowStatisticsCalculation{ 9 | 10 | } 11 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/ThroughputTimeWindowStatisticsConfig.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | /** 4 | * 5 | * @author adaml 6 | * 7 | */ 8 | public class ThroughputTimeWindowStatisticsConfig extends TimeWindowStatisticsConfig { 9 | 10 | 11 | } 12 | -------------------------------------------------------------------------------- /domain/src/main/java/org/cloudifysource/domain/statistics/TimeWindowStatisticsCalculation.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.domain.statistics; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | /** 6 | * 7 | * @author adaml 8 | * 9 | */ 10 | public interface TimeWindowStatisticsCalculation { 11 | 12 | /** 13 | * Creates a configuration that reduces values of a metric time series, into a single value. 14 | */ 15 | public TimeWindowStatisticsConfig createTimeWindowStatistics(long timeWindow, TimeUnit timeUnit); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /dsl-backwards/README.md: -------------------------------------------------------------------------------- 1 | DSL For Backwards Compatability Support 2 | ======================================= 3 | 4 | The purpose of this module is to provide support for recipes written for cloudify 2.6 and below, to be able to run on the latest cloudify installation. 5 | 6 | If your recipe contains any one of the following imports: 7 | 8 | ``` 9 | import org.cloudifysource.dsl.context.ServiceContext 10 | import org.cloudifysource.dsl.context.ServiceContextFactory 11 | import org.cloudifysource.dsl.context.Service 12 | import org.cloudifysource.dsl.context.ServiceInstance 13 | ``` 14 | 15 | Than this module is required and should be placed under the ${CLOUDIFY_HOME}/lib/platform/cloudify folder. 16 | -------------------------------------------------------------------------------- /dsl/cloudify.bat: -------------------------------------------------------------------------------- 1 | @rem This scripts invokes /tools/cli/cloudify.bat script 2 | @call "%~dp0\..\tools\cli\cloudify.bat %*" -------------------------------------------------------------------------------- /dsl/src/main/java/org/cloudifysource/dsl/rest/request/SetApplicationAttributesRequest.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.dsl.rest.request; 2 | 3 | import java.util.Map; 4 | 5 | /** 6 | * A POJO representing a request to setApplicationAttributes command via the REST Gateway. 7 | * It holds the requested attributes names and values in a map. 8 | * 9 | * A JSON serialization of this POJO may be used as the request body of the above mentioned REST command. 10 | * @author elip 11 | * 12 | */ 13 | public class SetApplicationAttributesRequest { 14 | 15 | private Map attributes; 16 | 17 | public Map getAttributes() { 18 | return attributes; 19 | } 20 | 21 | public void setAttributes(final Map attributes) { 22 | this.attributes = attributes; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /dsl/src/main/java/org/cloudifysource/dsl/rest/response/DeleteServiceInstanceAttributeResponse.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.dsl.rest.response; 2 | 3 | /** 4 | * A POJO representing a response to deleteServiceInstanceAttribute command via the REST Gateway. 5 | * It holds the previous value of deleted attribute 6 | * 7 | * This POJO will be used when constructing the {@link Response} object by calling {@code Response#setResponse(Object)} 8 | * @author elip 9 | * 10 | */ 11 | public class DeleteServiceInstanceAttributeResponse { 12 | 13 | private Object previousValue; 14 | 15 | public Object getPreviousValue() { 16 | return previousValue; 17 | } 18 | 19 | public void setPreviousValue(Object previousValue) { 20 | this.previousValue = previousValue; 21 | } 22 | 23 | 24 | } 25 | -------------------------------------------------------------------------------- /dsl/src/main/java/org/cloudifysource/dsl/utils/ReflectionUtils.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.dsl.utils; 2 | 3 | import java.lang.reflect.Method; 4 | 5 | public class ReflectionUtils { 6 | 7 | public static String getHomeDir() { 8 | final String gsEnvClassName = "org.cloudifysource.utilitydomain.openspaces.OpenspacesDomainUtils"; 9 | try { 10 | final Object envObject = Class.forName(gsEnvClassName).newInstance(); 11 | final Method homeDirMethod = envObject.getClass().getMethod("getHomeDirectory"); 12 | return (String) homeDirMethod.invoke(envObject, (Object[]) null); 13 | } catch (Exception e) { 14 | //Failed since openspaces is not in classpath. 15 | //This is expected to happen. 16 | return ""; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/dynamicNodeTemplate/dynamicNode-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | SMALL_LINUX : computeTemplate{ 3 | machineMemoryMB 1600 4 | remoteDirectory "/tmp/gs-files" 5 | username "username" 6 | password "password" 7 | localDirectory "upload" 8 | custom ([ 9 | "start-machine" : { 10 | return "pc-lab110" 11 | }, 12 | "stop-machine" : { ip -> 13 | System.setProperty("stopMachine", ip) 14 | return true 15 | } 16 | ]) 17 | privileged true 18 | } 19 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/dynamicNodeTemplate/upload/bla.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/ExternalDSLFiles/dynamicNodeTemplate/upload/bla.pem -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalDuplicateTemplate/group1/linux-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | LINUX : computeTemplate{ 3 | 4 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 5 | machineMemoryMB 1600 6 | hardwareId "Small" 7 | localDirectory "upload" 8 | 9 | username "LINUX" 10 | password "ENTER_PASSWORD" 11 | 12 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 13 | } 14 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalDuplicateTemplate/group1/tomcat1-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TOMCAT : template { 3 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 4 | machineMemoryMB 1600 5 | hardwareId "Small" 6 | localDirectory "upload" 7 | 8 | username "TOMCAT" 9 | password "ENTER_PASSWORD" 10 | 11 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 12 | } 13 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalDuplicateTemplate/group2/tomcat2-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TOMCAT2 : template { 3 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 4 | machineMemoryMB 1600 5 | hardwareId "Small" 6 | localDirectory "upload" 7 | 8 | username "TOMCAT2" 9 | password "ENTER_PASSWORD" 10 | 11 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 12 | } 13 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalDuplicateTemplate/group2/tomcat3-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TOMCAT : template { 3 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 4 | machineMemoryMB 1600 5 | hardwareId "Small" 6 | localDirectory "upload" 7 | 8 | username "TOMCAT" 9 | password "ENTER_PASSWORD" 10 | 11 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 12 | } 13 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalDuplicateTemplateFilesNames/group1/linux-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | LINUX : computeTemplate{ 3 | 4 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 5 | machineMemoryMB 1600 6 | hardwareId "Small" 7 | localDirectory "upload" 8 | 9 | username "LINUX" 10 | password "ENTER_PASSWORD" 11 | 12 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 13 | } 14 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalDuplicateTemplateFilesNames/group1/tomcat-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TOMCAT : template { 3 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 4 | machineMemoryMB 1600 5 | hardwareId "Small" 6 | localDirectory "upload" 7 | 8 | username "TOMCAT" 9 | password "ENTER_PASSWORD" 10 | 11 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 12 | } 13 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalDuplicateTemplateFilesNames/group2/tomcat-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TOMCAT : template { 3 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 4 | machineMemoryMB 1600 5 | hardwareId "Small" 6 | localDirectory "upload" 7 | 8 | username "TOMCAT" 9 | password "ENTER_PASSWORD" 10 | 11 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 12 | } 13 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalDuplicateTemplateFilesNames/group2/tomcat2-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TOMCAT2 : template { 3 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 4 | machineMemoryMB 1600 5 | hardwareId "Small" 6 | localDirectory "upload" 7 | 8 | username "TOMCAT2" 9 | password "ENTER_PASSWORD" 10 | 11 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 12 | } 13 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalDynamicNodeTemplateDefineOnlyStopMachine/dynamicNode-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | SMALL_LINUX : computeTemplate{ 3 | machineMemoryMB 1600 4 | remoteDirectory "/tmp/gs-files" 5 | username "username" 6 | password "password" 7 | localDirectory "upload" 8 | custom ([ 9 | "stopMachine" : { 10 | System.setProperty("stopMachine", "stopped") 11 | } 12 | ]) 13 | privileged true 14 | } 15 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalDynamicNodeTemplateDefineOnlyStopMachine/upload/bla.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/ExternalDSLFiles/illegalDynamicNodeTemplateDefineOnlyStopMachine/upload/bla.pem -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalDynamicNodeTemplateWithNodesList/dynamicNode-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | SMALL_LINUX : computeTemplate{ 3 | machineMemoryMB 1600 4 | remoteDirectory "/tmp/gs-files" 5 | username "username" 6 | password "password" 7 | localDirectory "upload" 8 | custom ([ 9 | "startMachine" : { 10 | return "pc-lab110" 11 | }, 12 | "stopMachine" : { 13 | System.setProperty("stopMachine", "stopped") 14 | }, 15 | "nodesList" : ([ 16 | ([ 17 | "id" : "1", 18 | "host-list" : "pc-lab1" 19 | ]) 20 | ]) 21 | ]) 22 | privileged true 23 | } 24 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalDynamicNodeTemplateWithNodesList/upload/bla.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/ExternalDSLFiles/illegalDynamicNodeTemplateWithNodesList/upload/bla.pem -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalTemplateFileName/tomcatTemplate.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TOMCAT : template { 3 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 4 | machineMemoryMB 1600 5 | hardwareId "Small" 6 | localDirectory "upload" 7 | 8 | username "TOMCAT" 9 | password "ENTER_PASSWORD" 10 | 11 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 12 | } 13 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/illegalTemplateFileName/upload/bla.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/ExternalDSLFiles/illegalTemplateFileName/upload/bla.pem -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/loadScalingRule/scalingRule.groovy: -------------------------------------------------------------------------------- 1 | scalingRule { 2 | 3 | serviceStatistics { 4 | metric "Total Process Cpu Time" 5 | timeStatistics Statistics.averageCpuPercentage 6 | instancesStatistics Statistics.maximum 7 | movingTimeRangeInSeconds 20 8 | } 9 | 10 | highThreshold { 11 | value 40 12 | instancesIncrease 1 13 | } 14 | 15 | lowThreshold { 16 | value 25 17 | instancesDecrease 1 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/loadScalingRule/simple-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit; 2 | 3 | service { 4 | name "tomcat" 5 | type "WEB_SERVER" 6 | 7 | 8 | lifecycle { start "tomcat_start.groovy" } 9 | 10 | 11 | scaleCooldownInSeconds 20 12 | samplingPeriodInSeconds 1 13 | 14 | // Defines an automatic scaling rule based on "counter" metric value 15 | scalingRules ([ 16 | load("scalingRule.groovy") 17 | ]) 18 | 19 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/loadScalingRules/scalingRules.groovy: -------------------------------------------------------------------------------- 1 | ([ 2 | scalingRule { 3 | 4 | serviceStatistics { 5 | metric "Total Process Cpu Time" 6 | timeStatistics Statistics.averageCpuPercentage 7 | instancesStatistics Statistics.maximum 8 | movingTimeRangeInSeconds 20 9 | } 10 | 11 | highThreshold { 12 | value 40 13 | instancesIncrease 1 14 | } 15 | 16 | lowThreshold { 17 | value 25 18 | instancesDecrease 1 19 | } 20 | } 21 | ]) -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/loadScalingRules/simple-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit; 2 | 3 | service { 4 | name "tomcat" 5 | type "WEB_SERVER" 6 | 7 | 8 | lifecycle { 9 | start "tomcat_start.groovy" 10 | } 11 | 12 | 13 | scaleCooldownInSeconds 20 14 | samplingPeriodInSeconds 1 15 | 16 | // Defines an automatic scaling rule based on "counter" metric value 17 | scalingRules load("scalingRules.groovy") 18 | 19 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/templateFiles.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/ExternalDSLFiles/templateFiles.zip -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/templteFilesInDir.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/ExternalDSLFiles/templteFilesInDir.zip -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/tomcat/tomcat-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TOMCAT : template { 3 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 4 | machineMemoryMB 1600 5 | hardwareId "Small" 6 | localDirectory "upload" 7 | 8 | username "TOMCAT" 9 | password "ENTER_PASSWORD" 10 | 11 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 12 | } 13 | ] -------------------------------------------------------------------------------- /dsl/src/test/resources/ExternalDSLFiles/tomcat/upload/bla.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/ExternalDSLFiles/tomcat/upload/bla.pem -------------------------------------------------------------------------------- /dsl/src/test/resources/PackagerValidation/BasicTest/groovy-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | 5 | 6 | service { 7 | name "groovy" 8 | type "WEB_SERVER" 9 | elastic true 10 | numInstances 1 11 | lifecycle { 12 | 13 | init { println "This is the init event" } 14 | preInstall {println "This is the preInstall event" } 15 | install { throw new Exception("This is a failure test") } 16 | 17 | start "run.groovy" 18 | 19 | 20 | startDetection { 21 | new File(context.serviceDirectory + "/marker.txt").exists() 22 | } 23 | 24 | locator { 25 | println "Sleeping for 5 secs" 26 | sleep(5000) 27 | def query = "Exe.Cwd.eq=" + context.serviceDirectory+",Args.*.eq=org.codehaus.groovy.tools.GroovyStarter" 28 | println "qeury is: " + query 29 | def pids = ServiceUtils.ProcessUtils.getPidsWithQuery(query) 30 | 31 | println "LOCATORS GOT: " + pids 32 | return pids; 33 | } 34 | } 35 | 36 | 37 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/PackagerValidation/BasicTest/run.groovy: -------------------------------------------------------------------------------- 1 | 2 | 3 | new File("marker.txt").write("MARKER") 4 | 5 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /dsl/src/test/resources/applications/bad-applications/syntax-error-in-service/bad-application.groovy: -------------------------------------------------------------------------------- 1 | application { 2 | name "bad" 3 | service { 4 | name = "nothing" 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/applications/bad-applications/syntax-error-in-service/nothing/nothing-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | name "groovyError" 6 | type "UNDEFINED" 7 | 8 | elastic true 9 | numInstances 1 10 | maxAllowedInstances 1 11 | 12 | lifecycle { 13 | 14 | locator { 15 | NO_PROCESS_LOCATORS 16 | } 17 | 18 | monitors { 19 | def time = System.currentTimeMillis() 20 | 21 | return [ 22 | "time" : time] 23 | } 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /dsl/src/test/resources/applications/network/sample-network-application/sample-application.groovy: -------------------------------------------------------------------------------- 1 | 2 | application { 3 | name="travel" 4 | 5 | service { 6 | name = "mysql" 7 | } 8 | 9 | service { 10 | name = "tomcat" 11 | dependsOn = ["mysql"] 12 | } 13 | 14 | 15 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/clouds/installer/upload/empty.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/clouds/installer/upload/empty.txt -------------------------------------------------------------------------------- /dsl/src/test/resources/clouds/network/basic/upload/empty.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/clouds/network/basic/upload/empty.txt -------------------------------------------------------------------------------- /dsl/src/test/resources/debug/printContext/debugPublicKey: -------------------------------------------------------------------------------- 1 | ssh-rsa SSH_keys_placed_here_will_be_merged_into_the_debugged_machine's_authorized_keys 2 | -------------------------------------------------------------------------------- /dsl/src/test/resources/debug/printContext/printContext.groovy: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env groovy 2 | 3 | outputFile = "/tmp/debugOut${new Date().toString().split(" ")[3]}" 4 | new File(outputFile).createNewFile() 5 | System.out = new PrintStream(new FileOutputStream(outputFile)) 6 | 7 | println("Welcome to printContext.groovy\n") 8 | 9 | import org.cloudifysource.utilitydomain.context.ServiceContextFactory 10 | import org.cloudifysource.domain.context.ServiceContext 11 | 12 | ServiceContext context = ServiceContextFactory.getServiceContext() 13 | println("\nBelow are the context properties for this instance:\n${context}") 14 | 15 | println() 16 | context.getProperties().each{println it} -------------------------------------------------------------------------------- /dsl/src/test/resources/debug/printContext/sayHello.sh: -------------------------------------------------------------------------------- 1 | logger -it "say" "Hello" -------------------------------------------------------------------------------- /dsl/src/test/resources/enums/upload/empty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/enums/upload/empty -------------------------------------------------------------------------------- /dsl/src/test/resources/groovyFileValidation/badImport.groovy: -------------------------------------------------------------------------------- 1 | import bla.bla.bla -------------------------------------------------------------------------------- /dsl/src/test/resources/groovyFileValidation/empty.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/groovyFileValidation/empty.groovy -------------------------------------------------------------------------------- /dsl/src/test/resources/groovyFileValidation/serviceWithGrab-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit; 2 | 3 | // test for grab 4 | @Grab(group='commons-lang', module='commons-lang', version='2.4') 5 | import org.apache.commons.lang.WordUtils 6 | 7 | service { 8 | name WordUtils.capitalize("tomcat") 9 | type "WEB_SERVER" 10 | 11 | 12 | lifecycle { start "tomcat_start.groovy" } 13 | 14 | 15 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/groovyFileValidation/simple.groovy: -------------------------------------------------------------------------------- 1 | println "Som text here" -------------------------------------------------------------------------------- /dsl/src/test/resources/groovyFileValidation/simpleStorage-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "simpleStorage" 3 | type "UNDEFINED" 4 | 5 | lifecycle { 6 | 7 | //init { println "This is the init event" } 8 | 9 | preInstall {println "This is the preInstall event" } 10 | postInstall {println "This is the postInstall event"} 11 | 12 | // preStart {println "This is the preStart event" } 13 | 14 | start (["Linux":"run.sh"]) 15 | 16 | postStart {println "This is the postStart event" } 17 | 18 | preStop {println "This is the preStop event" } 19 | postStop {println "This is the postStop event" } 20 | shutdown {println "This is the shutdown event" } 21 | } 22 | 23 | compute { 24 | template "SMALL_LINUX" 25 | } 26 | 27 | storage { 28 | template "SMALL_BLOCK" 29 | } 30 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/inheritance/mapMerge/a/a-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | name "A" 6 | type "UNDEFINED" 7 | 8 | lifecycle { 9 | 10 | start "run.groovy" 11 | 12 | 13 | 14 | } 15 | 16 | customCommands ([ 17 | "cmdA" :"AAA" 18 | ]) 19 | 20 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/inheritance/mapMerge/a/run.groovy: -------------------------------------------------------------------------------- 1 | 2 | 3 | new File("marker.txt").write("MARKER") 4 | 5 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /dsl/src/test/resources/inheritance/mapMerge/b/b-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | extend "../a" 6 | name "B" 7 | 8 | type "UNDEFINED" 9 | 10 | lifecycle { 11 | 12 | start "run.groovy" 13 | 14 | 15 | 16 | } 17 | 18 | customCommands ([ 19 | "cmdB" :"BBB" 20 | ]) 21 | 22 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/inheritance/mapMerge/b/run.groovy: -------------------------------------------------------------------------------- 1 | 2 | 3 | new File("marker.txt").write("MARKER") 4 | 5 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /dsl/src/test/resources/inheritance/mapOverride/a/a-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | name "A" 6 | type "UNDEFINED" 7 | 8 | lifecycle { 9 | 10 | start "run.groovy" 11 | 12 | 13 | 14 | } 15 | 16 | customCommands ([ 17 | "cmdA" :"AAA" 18 | ]) 19 | 20 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/inheritance/mapOverride/a/run.groovy: -------------------------------------------------------------------------------- 1 | 2 | 3 | new File("marker.txt").write("MARKER") 4 | 5 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /dsl/src/test/resources/inheritance/mapOverride/b/b-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | extend "../a" 6 | name "B" 7 | 8 | type "UNDEFINED" 9 | 10 | lifecycle { 11 | 12 | start "run.groovy" 13 | 14 | 15 | 16 | } 17 | 18 | customCommands ([ 19 | "cmdA" :null 20 | ]) 21 | 22 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/inheritance/mapOverride/b/run.groovy: -------------------------------------------------------------------------------- 1 | 2 | 3 | new File("marker.txt").write("MARKER") 4 | 5 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplication/overridesTestApplication-application.overrides: -------------------------------------------------------------------------------- 1 | applicationName = "overridesTestApplicationOverriden" 2 | numInstancesProperty = 3 -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplication/overridesTestApplication-application.properties: -------------------------------------------------------------------------------- 1 | applicationName = "overridesTestApplication" 2 | numInstancesProperty = 5 3 | applicationIcon = "applicationIcon" -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplication/service1/applicationIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/overridesTest/apps/overridesTestApplication/service1/applicationIcon.png -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplication/service1/service1-service.overrides: -------------------------------------------------------------------------------- 1 | serviceName = "overridenService1" 2 | numInstancesProperty = 11 3 | -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplication/service1/service1-service.properties: -------------------------------------------------------------------------------- 1 | serviceName = "service1" 2 | numInstancesProperty = 1 -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplication/service2/applicationIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/overridesTest/apps/overridesTestApplication/service2/applicationIcon.png -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplication/service2/service2-service.properties: -------------------------------------------------------------------------------- 1 | serviceName = "service2" 2 | numInstancesProperty = 2 -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplicationWithoutOverridesFile/overridesTestApplicationWithoutOverridesFile-application.properties: -------------------------------------------------------------------------------- 1 | applicationName = "overridesTestApplication" 2 | numInstancesProperty = 5 3 | applicationIcon = "applicationIcon" -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplicationWithoutOverridesFile/service1/applicationIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/overridesTest/apps/overridesTestApplicationWithoutOverridesFile/service1/applicationIcon.png -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplicationWithoutOverridesFile/service1/service1-service.overrides: -------------------------------------------------------------------------------- 1 | serviceName = "overridenService1" 2 | numInstancesProperty = 11 3 | -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplicationWithoutOverridesFile/service1/service1-service.properties: -------------------------------------------------------------------------------- 1 | serviceName = "service1" 2 | numInstancesProperty = 1 -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplicationWithoutOverridesFile/service2/applicationIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/overridesTest/apps/overridesTestApplicationWithoutOverridesFile/service2/applicationIcon.png -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/apps/overridesTestApplicationWithoutOverridesFile/service2/service2-service.properties: -------------------------------------------------------------------------------- 1 | serviceName = "service2" 2 | numInstancesProperty = 2 -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/overridesFiles/cassandraWithoutOverridesFile.overrides: -------------------------------------------------------------------------------- 1 | serviceName = "overridesTest" 2 | lifecycle_init = "${serviceName}_install.groovy" 3 | numInstances = 3 -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/overridesFiles/overridesTestApplicationWithoutOverridesFile.overrides: -------------------------------------------------------------------------------- 1 | applicationName = "overridesTestApplicationOverriden" 2 | numInstancesProperty = 3 -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/services/cassandra/Apache-cassandra-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/overridesTest/services/cassandra/Apache-cassandra-icon.png -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/services/cassandra/README.md: -------------------------------------------------------------------------------- 1 | # Cassandra 2 | 3 | **Status**: **Under Construction** 4 | **Description**: Cassandra 5 | **Maintainer**: Cloudify 6 | **Maintainer email**: cloudifysource@gigaspaces.com 7 | **Contributors**: [Uri Cohen](https://github.com/uric) 8 | **Homepage**: [http://www.cloudifysource.org](http://www.cloudifysource.org) 9 | **License**: Apache 2.0 10 | **Release Date**: *Under Construction* 11 | 12 | Synopsis 13 | -------- 14 | 15 | This folder contains a service recipe for Cassandra, which is a highly scalable, eventually consistent, distributed, structured key-value store. 16 | 17 | * Note that this recipe is under construction. We will test it and release it asap. 18 | -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/services/cassandra/cassandra-service.overrides: -------------------------------------------------------------------------------- 1 | serviceName = "overridesTest" 2 | lifecycle_init = "${serviceName}_install.groovy" 3 | numInstances = 3 4 | -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/services/cassandra/cassandra-service.properties: -------------------------------------------------------------------------------- 1 | serviceName = "cassandra" 2 | numInstances = 1 3 | lifecycle_init = "cassandra_install.groovy" -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/services/cassandraWithoutOverridesFile/cassandra/Apache-cassandra-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/overridesTest/services/cassandraWithoutOverridesFile/cassandra/Apache-cassandra-icon.png -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/services/cassandraWithoutOverridesFile/cassandra/README.md: -------------------------------------------------------------------------------- 1 | # Cassandra 2 | 3 | **Status**: **Under Construction** 4 | **Description**: Cassandra 5 | **Maintainer**: Cloudify 6 | **Maintainer email**: cloudifysource@gigaspaces.com 7 | **Contributors**: [Uri Cohen](https://github.com/uric) 8 | **Homepage**: [http://www.cloudifysource.org](http://www.cloudifysource.org) 9 | **License**: Apache 2.0 10 | **Release Date**: *Under Construction* 11 | 12 | Synopsis 13 | -------- 14 | 15 | This folder contains a service recipe for Cassandra, which is a highly scalable, eventually consistent, distributed, structured key-value store. 16 | 17 | * Note that this recipe is under construction. We will test it and release it asap. 18 | -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/services/cassandraWithoutOverridesFile/cassandra/cassandra-service.properties: -------------------------------------------------------------------------------- 1 | version = "0.8.7" 2 | serviceName = "cassandra" 3 | numInstances = 1 4 | lifecycle_init = "cassandra_install.groovy" -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/services/service1/application.overrides: -------------------------------------------------------------------------------- 1 | numInstancesProperty = 3 -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/services/service1/application.properties: -------------------------------------------------------------------------------- 1 | applicationIcon = "applicationIcon" 2 | numInstancesProperty = 2 -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/services/service1/applicationIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/src/test/resources/overridesTest/services/service1/applicationIcon.png -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/services/service1/service1-service.overrides: -------------------------------------------------------------------------------- 1 | serviceName = "overridenService1" 2 | numInstancesProperty = 11 3 | -------------------------------------------------------------------------------- /dsl/src/test/resources/overridesTest/services/service1/service1-service.properties: -------------------------------------------------------------------------------- 1 | serviceName = "service1" 2 | numInstancesProperty = 1 -------------------------------------------------------------------------------- /dsl/src/test/resources/resourceDownloader/dummyTestResource.txt: -------------------------------------------------------------------------------- 1 | this is a dummy file. -------------------------------------------------------------------------------- /dsl/src/test/resources/resourceDownloader/testResource.txt: -------------------------------------------------------------------------------- 1 | This is a test resource. -------------------------------------------------------------------------------- /dsl/src/test/resources/resourceDownloader/testResource.txt.md5: -------------------------------------------------------------------------------- 1 | e92f4d845677d7f2e324b489eb0c43bd *testResource.txt -------------------------------------------------------------------------------- /dsl/src/test/resources/resourceDownloader/testResource.txt.sha1: -------------------------------------------------------------------------------- 1 | 4a679a038001bc6cdb6a335888b1b47b61f519dd *testResource.txt -------------------------------------------------------------------------------- /dsl/src/test/resources/resourceDownloader/testResource.txt.sha256: -------------------------------------------------------------------------------- 1 | 8cf111c122d47f124d63a141d95de266bbf7a761af7020871d28e3fb4c9a7f0f *testResource.txt -------------------------------------------------------------------------------- /dsl/src/test/resources/resourceDownloader/testResource.txt.sha384: -------------------------------------------------------------------------------- 1 | 54562dbcbac10018579908ae0afd7b6bcc23308ba59dc7994935828801aa23c54fa7191d7837a3781486f362d05a1a7f *testResource.txt -------------------------------------------------------------------------------- /dsl/src/test/resources/resourceDownloader/testResource.txt.sha512: -------------------------------------------------------------------------------- 1 | 35c96b43a5e52914c08b75c80af53a7298433adf47b86bbefd115b15827596d450edcca3b4be190c194e3693921ab843415a9330dc9eb063812dc4d3c8a37e6d *testResource.txt -------------------------------------------------------------------------------- /dsl/src/test/resources/resourceDownloader/testResourceFormatted.txt.md5: -------------------------------------------------------------------------------- 1 | e92f4d845677d7f2e324b489eb0c43bd -------------------------------------------------------------------------------- /dsl/src/test/resources/resourceDownloader/testResourceFormatted.txt.sha1: -------------------------------------------------------------------------------- 1 | 4a679a038001bc6cdb6a335888b1b47b61f519dd -------------------------------------------------------------------------------- /dsl/src/test/resources/resourceDownloader/testResourceFormatted.txt.sha256: -------------------------------------------------------------------------------- 1 | 8cf111c122d47f124d63a141d95de266bbf7a761af7020871d28e3fb4c9a7f0f -------------------------------------------------------------------------------- /dsl/src/test/resources/resourceDownloader/testResourceFormatted.txt.sha384: -------------------------------------------------------------------------------- 1 | 54562dbcbac10018579908ae0afd7b6bcc23308ba59dc7994935828801aa23c54fa7191d7837a3781486f362d05a1a7f -------------------------------------------------------------------------------- /dsl/src/test/resources/resourceDownloader/testResourceFormatted.txt.sha512: -------------------------------------------------------------------------------- 1 | 35c96b43a5e52914c08b75c80af53a7298433adf47b86bbefd115b15827596d450edcca3b4be190c194e3693921ab843415a9330dc9eb063812dc4d3c8a37e6d -------------------------------------------------------------------------------- /dsl/src/test/resources/services/bad-services/syntax-error/nothing-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | name "groovyError" 6 | type "UNDEFINED" 7 | 8 | elastic true 9 | numInstances 1 10 | maxAllowedInstances 1 11 | 12 | lifecycle { 13 | 14 | locator { 15 | NO_PROCESS_LOCATORS 16 | } 17 | 18 | monitors { 19 | def time = System.currentTimeMillis() 20 | 21 | return [ 22 | "time" : time] 23 | } 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /dsl/src/test/resources/services/invalidProperties/nothing-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | name "groovyError" 6 | type "UNDEFINED" 7 | 8 | elastic true 9 | numInstances 1 10 | maxAllowedInstances 1 11 | retries retriesLimit 12 | 13 | lifecycle { 14 | 15 | locator { 16 | NO_PROCESS_LOCATORS 17 | } 18 | 19 | monitors { 20 | def time = System.currentTimeMillis() 21 | 22 | return [ 23 | "time" : time] 24 | } 25 | 26 | 27 | } 28 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/services/invalidProperties/nothing-service.properties: -------------------------------------------------------------------------------- 1 | retriesLimit = "a" -------------------------------------------------------------------------------- /dsl/src/test/resources/services/invalidPropertiesFile/nothing-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | 4 | service { 5 | name "groovyError" 6 | type "UNDEFINED" 7 | 8 | elastic true 9 | numInstances 1 10 | maxAllowedInstances 1 11 | retries retriesLimit 12 | 13 | lifecycle { 14 | 15 | locator { 16 | NO_PROCESS_LOCATORS 17 | } 18 | 19 | monitors { 20 | def time = System.currentTimeMillis() 21 | 22 | return [ 23 | "time" : time] 24 | } 25 | 26 | 27 | } 28 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/services/invalidPropertiesFile/nothing-service.properties: -------------------------------------------------------------------------------- 1 | retriesLimit = "a -------------------------------------------------------------------------------- /dsl/src/test/resources/services/logger/SomeClass.groovy: -------------------------------------------------------------------------------- 1 | class SomeClass { 2 | def testPrintln() { 3 | println "Test Class println" 4 | 5 | } 6 | 7 | 8 | def testPrint() { 9 | print "Test " 10 | print "Class " 11 | println "print" 12 | 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /dsl/src/test/resources/services/misc/stopDetectionScript-service.groovy: -------------------------------------------------------------------------------- 1 | 2 | service { 3 | 4 | name "simple" 5 | 6 | type "WEB_SERVER" 7 | numInstances 1 8 | compute { 9 | //the templeate name is reference to template definition in the cloud driver 10 | template "BIG_LINUX_32" 11 | 12 | } 13 | lifecycle { 14 | 15 | start (["Win.*":"run.bat", "Linux":"run.sh", "Mac.*":"run.sh"]) 16 | 17 | stopDetection "stopDetecion.sh" 18 | } 19 | 20 | 21 | 22 | } -------------------------------------------------------------------------------- /dsl/testResources/applications/ApplicationValidationTest/appMissingServiceIconTest/appMissingServiceIconTest-application.groovy: -------------------------------------------------------------------------------- 1 | application { 2 | service { 3 | name = "simple" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /dsl/testResources/applications/ApplicationValidationTest/appWithEmptyNameTest/appWithEmptyNameTest-application.groovy: -------------------------------------------------------------------------------- 1 | application { 2 | name="" 3 | 4 | service { 5 | name = "simple" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /dsl/testResources/applications/ApplicationValidationTest/appWithInvalidNameTest/appWithInvalidNameTest-application.groovy: -------------------------------------------------------------------------------- 1 | application { 2 | name="my[1]app" 3 | 4 | service { 5 | name = "simple" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /dsl/testResources/applications/ApplicationValidationTest/appWithoutNameTest/appWithoutNameTest-application.groovy: -------------------------------------------------------------------------------- 1 | application { 2 | service { 3 | name = "simple" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /dsl/testResources/applications/ApplicationValidationTest/appWithoutNameTest/simple/simple-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | extend "../../appWithEmptyNameTest/simple" 3 | } 4 | -------------------------------------------------------------------------------- /dsl/testResources/applications/simple/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/testResources/applications/simple/icon.png -------------------------------------------------------------------------------- /dsl/testResources/applications/simple/icon2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/testResources/applications/simple/icon2.jpg -------------------------------------------------------------------------------- /dsl/testResources/applications/simple/service1/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/testResources/applications/simple/service1/icon.png -------------------------------------------------------------------------------- /dsl/testResources/applications/simple/service2/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/testResources/applications/simple/service2/icon.png -------------------------------------------------------------------------------- /dsl/testResources/applications/simple/simple-application.groovy: -------------------------------------------------------------------------------- 1 | 2 | application { 3 | name="simple" 4 | 5 | service { 6 | name = "service1" 7 | } 8 | service { 9 | name = "service2" 10 | icon = "icon2.jpg" 11 | } 12 | 13 | 14 | 15 | } -------------------------------------------------------------------------------- /dsl/testResources/cassandra/Apache-cassandra-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/testResources/cassandra/Apache-cassandra-icon.png -------------------------------------------------------------------------------- /dsl/testResources/cassandra/cassandra_bare_essentials-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "cassandra" 3 | type "WEB_SERVER" 4 | lifecycle{ 5 | 6 | init "cassandra_install.groovy" 7 | 8 | start ([ 9 | "Windows.*": "install\\bin\\cassandra.bat" ]) 10 | postStart "cassandra_create_schema.bat" 11 | }} -------------------------------------------------------------------------------- /dsl/testResources/cassandra/cassandra_create_schema.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | set CLASSPATH= 3 | 4 | echo creating cassandra schema in 10 seconds 5 | ping 1.2.3.4 -n 1 -w 10000 > nul 2>&1 6 | 7 | if not exist createschema.log goto createschema 8 | del /q createschema.log > nul 2>&1 9 | 10 | :createschema 11 | call install\bin\cassandra-cli.bat -host localhost -port 9160 -f cassandraSchema.txt >createschema.log 2>&1 12 | if errorlevel 1 goto checkalreadyexists 13 | type createschema.log 14 | echo created cassandra schema 15 | goto end 16 | 17 | :checkalreadyexists 18 | findstr /snip /c:"Keyspace already exists" createschema.log 19 | if errorlevel 1 goto err 20 | echo cassandra schema already exists 21 | goto end 22 | 23 | :err 24 | echo cannot create cassandra schema 25 | type createschema.log 26 | del /q createschema.log 27 | exit 1 28 | 29 | :end 30 | del /q createschema.log 31 | exit 0 -------------------------------------------------------------------------------- /dsl/testResources/cloud/ec2-overrides-with-file/ec2-cloud.overrides: -------------------------------------------------------------------------------- 1 | myUser="OverridesTestUser" 2 | myApiKey="OverridesTestApiKey" 3 | myKeyPair="OverridesTestKeyPair" 4 | myImageId="OverridesTestImageId" -------------------------------------------------------------------------------- /dsl/testResources/cloud/ec2-overrides-with-file/ec2-cloud.properties: -------------------------------------------------------------------------------- 1 | myUser="TestUser" 2 | myApiKey="TestApiKey" 3 | myKeyPair="TestKeyPair" 4 | myKeyFile="TestKeyFile.pem" 5 | myImageId="TestImageId" -------------------------------------------------------------------------------- /dsl/testResources/cloud/ec2-overrides-with-file/upload/TestKeyFile.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/testResources/cloud/ec2-overrides-with-file/upload/TestKeyFile.pem -------------------------------------------------------------------------------- /dsl/testResources/cloud/ec2-overrides-with-script/ec2-cloud.properties: -------------------------------------------------------------------------------- 1 | myUser="TestUser" 2 | myApiKey="TestApiKey" 3 | myKeyPair="TestKeyPair" 4 | myKeyFile="TestKeyFile.pem" 5 | myImageId="TestImageId" -------------------------------------------------------------------------------- /dsl/testResources/cloud/ec2-overrides-with-script/upload/TestKeyFile.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/testResources/cloud/ec2-overrides-with-script/upload/TestKeyFile.pem -------------------------------------------------------------------------------- /dsl/testResources/cloud/ec2-with-component-config/upload/TestKeyFile.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/testResources/cloud/ec2-with-component-config/upload/TestKeyFile.pem -------------------------------------------------------------------------------- /dsl/testResources/groovy-public-provisioning-with-management/run.groovy: -------------------------------------------------------------------------------- 1 | 2 | 3 | new File("marker.txt").write("MARKER") 4 | 5 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /dsl/testResources/groovy-public-provisioning/run.groovy: -------------------------------------------------------------------------------- 1 | 2 | 3 | new File("marker.txt").write("MARKER") 4 | 5 | sleep(Long.MAX_VALUE) -------------------------------------------------------------------------------- /dsl/testResources/testparsing/duplicatePUService.groovy: -------------------------------------------------------------------------------- 1 | 2 | service { 3 | lifecycle { 4 | 5 | } 6 | 7 | lifecycle { 8 | 9 | } 10 | 11 | 12 | } 13 | -------------------------------------------------------------------------------- /dsl/testResources/testparsing/externalLoad/lifecycle.groovy: -------------------------------------------------------------------------------- 1 | lifecycle { 2 | init "iisproxy_install.groovy" 3 | start "iisproxy_start.groovy" 4 | } -------------------------------------------------------------------------------- /dsl/testResources/testparsing/externalLoad/test_loading.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | 3 | name "iisproxy" 4 | numInstances 2 5 | type "WEB_SERVER" 6 | maxAllowedInstances 2 7 | lifecycle load("lifecycle.groovy") 8 | userInterface load("ui.groovy") 9 | 10 | customCommands ([ 11 | "custom_command" : { 12 | name,port -> 13 | pattern = "^${name}/(.*)" 14 | } 15 | ]) 16 | 17 | } -------------------------------------------------------------------------------- /dsl/testResources/testparsing/externalLoad/test_loading_error.groovy: -------------------------------------------------------------------------------- 1 | 2 | service { 3 | 4 | name "iisproxy" 5 | numInstances 2 6 | maxAllowedInstances 2 7 | lifecycle load("lifecycle.groovy") 8 | userInterface load("ui_MISSING.groovy") 9 | 10 | 11 | 12 | } -------------------------------------------------------------------------------- /dsl/testResources/testparsing/externalLoad/ui.groovy: -------------------------------------------------------------------------------- 1 | userInterface { 2 | metricGroups = [ 3 | metricGroup{ 4 | name = "process" 5 | metrics = ["cpu", "memory"] 6 | } 7 | ] 8 | widgetGroups = [ 9 | widgetGroup{ 10 | name ="cpu" 11 | widgets = [ 12 | balanceGauge{metric = "cpu"}, 13 | barLineChart{metric = "cpu"} 14 | ] 15 | }, 16 | widgetGroup { 17 | name = "memory" 18 | widgets = [ 19 | balanceGauge { metric = "memory" }, 20 | barLineChart{ metric = "memory" 21 | axisYUnit Unit.PERCENTAGE 22 | } 23 | ] 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /dsl/testResources/testparsing/test_features-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "test features" 3 | url "http://" + InetAddress.localHost.hostName + ":8080" 4 | type "WEB_SERVER" 5 | 6 | lifecycle{ 7 | 8 | init "test_parsing_base_install.groovy" 9 | 10 | start ([ "Linux":"tomcat_start.groovy" , 11 | "Windows.*": "tomcat_start.groovy" 12 | ]) 13 | 14 | postStart { 15 | println "post start" 16 | } 17 | 18 | preStop (["Win.*":"catalina-stop.bat", 19 | "Linux":"./catalina-stop.sh"]) 20 | 21 | } 22 | } 23 | 24 | 25 | -------------------------------------------------------------------------------- /dsl/testResources/testparsing/test_location-aware-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | 3 | name "iisproxy" 4 | type "WEB_SERVER" 5 | locationAware true 6 | elastic true 7 | numInstances 2 8 | maxAllowedInstances 2 9 | 10 | } -------------------------------------------------------------------------------- /dsl/testResources/testparsing/test_no_locators_statement-service.groovy: -------------------------------------------------------------------------------- 1 | 2 | service { 3 | 4 | name "iisproxy" 5 | numInstances 2 6 | maxAllowedInstances 2 7 | type "WEB_SERVER" 8 | 9 | lifecycle{ 10 | 11 | init "test_parsing_base_install.groovy" 12 | 13 | start ([ "Linux":"tomcat_start.groovy" , 14 | "Windows.*": "tomcat_start.groovy" 15 | ]) 16 | 17 | postStart { 18 | println "post start" 19 | } 20 | 21 | preStop (["Win.*":"catalina-stop.bat", 22 | "Linux":"./catalina-stop.sh"]) 23 | 24 | locator { 25 | NO_PROCESS_LOCATORS 26 | } 27 | } 28 | 29 | 30 | 31 | } -------------------------------------------------------------------------------- /dsl/testResources/testparsing/test_parsing_base-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "test parsing base" 3 | type "WEB_SERVER" 4 | lifecycle{ 5 | 6 | init "test_parsing_base_install.groovy" 7 | 8 | start ([ "Linux":"tomcat_start.groovy" , 9 | "Windows.*": "tomcat_start.groovy" 10 | ]) 11 | 12 | postStart { 13 | println "post start" 14 | } 15 | 16 | preStop (["Win.*":"catalina-stop.bat", 17 | "Linux":"./catalina-stop.sh"]) 18 | 19 | } 20 | } 21 | 22 | 23 | -------------------------------------------------------------------------------- /dsl/testResources/testparsing/test_parsing_extend-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | extend "test_parsing_base-service.groovy" 3 | name "test parsing extend" 4 | 5 | lifecycle{ 6 | 7 | init "test_parsing_extend_install.groovy" 8 | 9 | stop { 10 | println "stop" 11 | } 12 | 13 | } 14 | } 15 | 16 | 17 | -------------------------------------------------------------------------------- /dsl/testResources/testparsing/test_parsing_extend_illegal-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "test parsing extend" 3 | 4 | lifecycle{ 5 | extend "test_parsing_base-service.groovy" 6 | 7 | init "test_parsing_extend_install.groovy" 8 | 9 | stop { 10 | println "stop" 11 | } 12 | 13 | } 14 | } 15 | 16 | 17 | -------------------------------------------------------------------------------- /dsl/testResources/testparsing/test_parsing_extend_illegal_nested-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "test parsing extend" 3 | extend "test_parsing_base-service.groovy" 4 | 5 | lifecycle{ 6 | 7 | init "test_parsing_extend_install.groovy" 8 | 9 | stop { 10 | println "stop" 11 | } 12 | 13 | } 14 | } 15 | 16 | 17 | -------------------------------------------------------------------------------- /dsl/testResources/testparsing/test_parsing_extend_two_level-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | extend "test_parsing_extend-service.groovy" 3 | name "test parsing extend two level" 4 | 5 | lifecycle{ 6 | 7 | install "install" 8 | 9 | start "start" 10 | } 11 | } 12 | 13 | 14 | -------------------------------------------------------------------------------- /dsl/testResources/testparsing/test_parsing_on_duplicate_property_in_inner_class-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.atomic.AtomicLong; 2 | 3 | // This service is a mock for recipe parsing unit test 4 | service { 5 | 6 | name "scalingRules" 7 | type "WEB_SERVER" 8 | lifecycle { 9 | 10 | init { println "This is the init event" } 11 | init { println "This is the init event" } 12 | start "run.groovy" 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /dsl/testResources/testparsing/test_parsing_on_duplicate_property_in_service_class-service.groovy: -------------------------------------------------------------------------------- 1 | // This service is a mock for recipe parsing unit test 2 | service { 3 | icon "icon.jpg" 4 | icon "icon.jpg" 5 | name "scalingRules" 6 | 7 | lifecycle { 8 | 9 | init { println "This is the init event" } 10 | start "run.groovy" 11 | } 12 | 13 | } -------------------------------------------------------------------------------- /dsl/testResources/testparsing/test_property_in_custom_command-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | 3 | name "iisproxy" 4 | type "WEB_SERVER" 5 | numInstances 2 6 | maxAllowedInstances 2 7 | lifecycle { 8 | init "iisproxy_install.groovy" 9 | start "iisproxy_start.groovy" 10 | } 11 | 12 | 13 | customCommands ([ 14 | "custom_command" : { 15 | name,port -> 16 | pattern = "^${name}/(.*)" 17 | } 18 | ]) 19 | 20 | } -------------------------------------------------------------------------------- /dsl/testResources/testparsing/upload/readme.txt: -------------------------------------------------------------------------------- 1 | Upload folder must exist to pass cloud parsing validation test -------------------------------------------------------------------------------- /dsl/testResources/tomcat/catalina-run.bat: -------------------------------------------------------------------------------- 1 | set CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dweb.port=80 2 | set CATALINA_HOME=%~dp0install 3 | set CLASSPATH= 4 | install\bin\catalina.bat run -------------------------------------------------------------------------------- /dsl/testResources/tomcat/catalina-run.sh: -------------------------------------------------------------------------------- 1 | echo executing start script 2 | export CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dweb.port=80" 3 | export CATALINA_HOME="$PWD/install" 4 | echo CATALINA_HOME is $CATALINA_HOME 5 | set CLASSPATH= 6 | chmod +x install/bin/* 7 | echo calling catalina.sh run 8 | install/bin/catalina.sh run 9 | -------------------------------------------------------------------------------- /dsl/testResources/tomcat/catalina-stop.bat: -------------------------------------------------------------------------------- 1 | set CATALINA_HOME=%~dp0install 2 | install\bin\catalina.bat stop 3 | -------------------------------------------------------------------------------- /dsl/testResources/tomcat/catalina-stop.sh: -------------------------------------------------------------------------------- 1 | export CATALINA_HOME="$PWD/install" 2 | echo CATALINA_HOME is $CATALINA_HOME 3 | 4 | install/bin/catalina.sh stop 5 | -------------------------------------------------------------------------------- /dsl/testResources/tomcat/overwrite/lib/TomcatSessionClustering-0.0.1-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/testResources/tomcat/overwrite/lib/TomcatSessionClustering-0.0.1-SNAPSHOT.jar -------------------------------------------------------------------------------- /dsl/testResources/tomcat/tomcat.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/testResources/tomcat/tomcat.gif -------------------------------------------------------------------------------- /dsl/transaction.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/dsl/transaction.log -------------------------------------------------------------------------------- /esc-commands/.gitignore: -------------------------------------------------------------------------------- 1 | /.checkstyle 2 | -------------------------------------------------------------------------------- /esc-commands/src/main/resources/META-INF/shell/commands: -------------------------------------------------------------------------------- 1 | org.cloudifysource.esc.shell.commands.BootstrapCloud 2 | org.cloudifysource.esc.shell.commands.TeardownCloud 3 | # org.cloudifysource.esc.shell.commands.GetCloudManagers -------------------------------------------------------------------------------- /esc-commands/src/main/resources/MessagesBundle-esc.properties: -------------------------------------------------------------------------------- 1 | ESC_MARKER = THIS IS THE ESC MARKER 2 | 3 | -------------------------------------------------------------------------------- /esc/.gitignore: -------------------------------------------------------------------------------- 1 | /.checkstyle 2 | /test-output 3 | -------------------------------------------------------------------------------- /esc/assembly-zip.xml: -------------------------------------------------------------------------------- 1 | 5 | zip-with-dependencies 6 | 7 | zip 8 | 9 | false 10 | 11 | 12 | ${project.basedir}/target 13 | / 14 | 15 | esm.jar 16 | 17 | 18 | 19 | 20 | 21 | 22 | / 23 | true 24 | false 25 | runtime 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /esc/log4j.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/client/RoleDetails.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package org.cloudifysource.esc.driver.provisioning.azure.client; 5 | 6 | /** 7 | * @author elip 8 | * 9 | */ 10 | public class RoleDetails { 11 | 12 | private String privateIp; 13 | private String publicIp; 14 | private String id; 15 | 16 | public String getId() { 17 | return id; 18 | } 19 | 20 | public void setId(final String id) { 21 | this.id = id; 22 | } 23 | 24 | public String getPrivateIp() { 25 | return privateIp; 26 | } 27 | 28 | public void setPrivateIp(final String privateIp) { 29 | this.privateIp = privateIp; 30 | } 31 | 32 | public String getPublicIp() { 33 | return publicIp; 34 | } 35 | 36 | public void setPublicIp(final String publicIp) { 37 | this.publicIp = publicIp; 38 | } 39 | 40 | 41 | 42 | } 43 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/AddressSpace.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.azure.model; 2 | 3 | import javax.xml.bind.annotation.XmlElement; 4 | import javax.xml.bind.annotation.XmlType; 5 | 6 | /** 7 | * 8 | * @author elip 9 | * 10 | */ 11 | @XmlType(name = "AddressSpace") 12 | public class AddressSpace { 13 | 14 | private String addressPrefix; 15 | 16 | @XmlElement(name = "AddressPrefix") 17 | public String getAddressPrefix() { 18 | return addressPrefix; 19 | } 20 | 21 | public void setAddressPrefix(final String addressPrefix) { 22 | this.addressPrefix = addressPrefix; 23 | } 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/ConfigurationSet.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.azure.model; 2 | 3 | import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; 4 | 5 | 6 | /** 7 | * 8 | * @author elip 9 | * 10 | */ 11 | 12 | @XmlJavaTypeAdapter(ConfigurationSetAdapter.class) 13 | public abstract class ConfigurationSet { 14 | 15 | public static final String WINDOWS_PROVISIONING_CONFIGURATION = "WindowsProvisioningConfiguration"; 16 | public static final String LINUX_PROVISIONING_CONFIGURATION = "LinuxProvisioningConfiguration"; 17 | public static final String NETWORK_PROVISIONING_CONFIGURATION = "NetworkConfiguration"; 18 | } 19 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/Error.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.azure.model; 2 | 3 | import javax.xml.bind.annotation.XmlElement; 4 | import javax.xml.bind.annotation.XmlRootElement; 5 | import javax.xml.bind.annotation.XmlType; 6 | 7 | /** 8 | * 9 | * @author elip 10 | * 11 | */ 12 | @XmlRootElement(name = "Error") 13 | @XmlType(propOrder = {"code" , "message" }) 14 | public class Error { 15 | 16 | private String code; 17 | private String message; 18 | 19 | @XmlElement(name = "Code") 20 | public String getCode() { 21 | return code; 22 | } 23 | 24 | public void setCode(final String code) { 25 | this.code = code; 26 | } 27 | 28 | @XmlElement(name = "Message") 29 | public String getMessage() { 30 | return message; 31 | } 32 | 33 | public void setMessage(final String message) { 34 | this.message = message; 35 | } 36 | 37 | 38 | } 39 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/GlobalNetworkConfiguration.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.azure.model; 2 | 3 | import javax.xml.bind.annotation.XmlElement; 4 | import javax.xml.bind.annotation.XmlRootElement; 5 | 6 | /** 7 | * 8 | * @author elip 9 | * 10 | */ 11 | @XmlRootElement(name = "NetworkConfiguration") 12 | public class GlobalNetworkConfiguration { 13 | 14 | private VirtualNetworkConfiguration virtualNetworkConfiguration; 15 | 16 | @XmlElement(name = "VirtualNetworkConfiguration") 17 | public VirtualNetworkConfiguration getVirtualNetworkConfiguration() { 18 | return virtualNetworkConfiguration; 19 | } 20 | 21 | public void setVirtualNetworkConfiguration( 22 | final VirtualNetworkConfiguration virtualNetworkConfiguration) { 23 | this.virtualNetworkConfiguration = virtualNetworkConfiguration; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/InputEndpoints.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.azure.model; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * 11 | * @author elip 12 | * 13 | */ 14 | @XmlType 15 | public class InputEndpoints { 16 | 17 | @Override 18 | public String toString() { 19 | return "InputEndpoints [inputEndpoints=" + inputEndpoints + "]"; 20 | } 21 | 22 | private List inputEndpoints = new ArrayList(); 23 | 24 | @XmlElement(name = "InputEndpoint") 25 | public List getInputEndpoints() { 26 | return inputEndpoints; 27 | } 28 | 29 | public void setInputEndpoints(final List inputEndpoints) { 30 | this.inputEndpoints = inputEndpoints; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/Listener.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.azure.model; 2 | 3 | import javax.xml.bind.annotation.XmlElement; 4 | import javax.xml.bind.annotation.XmlType; 5 | 6 | /** 7 | * 8 | * @author mourouvi (fastconnect) 9 | * 10 | */ 11 | 12 | @XmlType(name="Listener") 13 | public class Listener { 14 | 15 | private String protocol; 16 | private String certificateThumbprint; 17 | 18 | @XmlElement(required=true, name="Protocol") 19 | public String getProtocol() { 20 | return protocol; 21 | } 22 | public void setProtocol(String protocol) { 23 | this.protocol = protocol; 24 | } 25 | 26 | @XmlElement(name="CertificateThumbprint") 27 | public String getCertificateThumbprint() { 28 | return certificateThumbprint; 29 | } 30 | public void setCertificateThumbprint(String certificateThumbprint) { 31 | this.certificateThumbprint = certificateThumbprint; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/Listeners.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.azure.model; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * 11 | * @author mourouvi (fastconnect) 12 | * 13 | */ 14 | 15 | @XmlType(name="Listeners") 16 | public class Listeners { 17 | 18 | private List listeners = new ArrayList(); 19 | 20 | @XmlElement(name = "Listener") 21 | public List getListeners() { 22 | return listeners; 23 | } 24 | 25 | public void setListeners(List listeners) { 26 | this.listeners = listeners; 27 | } 28 | 29 | @Override 30 | public String toString() { 31 | return "Listeners [Listeners=" + listeners + "]"; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/RestartRoleOperation.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.azure.model; 2 | 3 | import javax.xml.bind.annotation.XmlElement; 4 | import javax.xml.bind.annotation.XmlRootElement; 5 | import javax.xml.bind.annotation.XmlType; 6 | 7 | /** 8 | * @author elip 9 | * 10 | */ 11 | @XmlRootElement(name = "RestartRoleOperation") 12 | @XmlType(propOrder = {"operationType" }) 13 | public class RestartRoleOperation { 14 | 15 | private String operationType = "RestartRoleOperation"; 16 | 17 | @XmlElement(name = "OperationType") 18 | public String getOperationType() { 19 | return operationType; 20 | } 21 | 22 | public void setOperationType(final String operationType) { 23 | this.operationType = operationType; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/RoleInstanceList.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package org.cloudifysource.esc.driver.provisioning.azure.model; 5 | 6 | import java.util.ArrayList; 7 | import java.util.Iterator; 8 | import java.util.List; 9 | 10 | import javax.xml.bind.annotation.XmlElement; 11 | import javax.xml.bind.annotation.XmlType; 12 | 13 | /** 14 | * @author elip 15 | * 16 | */ 17 | 18 | @XmlType(name = "RoleInstanceList") 19 | public class RoleInstanceList implements Iterable { 20 | 21 | private List roleInstances = new ArrayList(); 22 | 23 | @Override 24 | public Iterator iterator() { 25 | return roleInstances.iterator(); 26 | } 27 | 28 | @XmlElement(name = "RoleInstance") 29 | public List getRoleInstances() { 30 | return roleInstances; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/RoleList.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.azure.model; 2 | 3 | import java.util.ArrayList; 4 | 5 | import java.util.Iterator; 6 | import java.util.List; 7 | 8 | import javax.xml.bind.annotation.XmlElement; 9 | import javax.xml.bind.annotation.XmlType; 10 | 11 | /** 12 | * 13 | * @author elip 14 | * 15 | */ 16 | @XmlType(name = "RoleList") 17 | public class RoleList implements Iterable { 18 | 19 | private List roles = new ArrayList(); 20 | 21 | @Override 22 | public Iterator iterator() { 23 | return roles.iterator(); 24 | } 25 | 26 | @XmlElement(name = "Role") 27 | public List getRoles() { 28 | return roles; 29 | } 30 | 31 | public void setRoles(final List roles) { 32 | this.roles = roles; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/StartRoleOperation.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package org.cloudifysource.esc.driver.provisioning.azure.model; 5 | 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlRootElement; 8 | 9 | /** 10 | * @author elip 11 | * 12 | */ 13 | 14 | @XmlRootElement(name = "StartRoleOperation") 15 | public class StartRoleOperation { 16 | 17 | private String operationType = "StartRoleOperation"; 18 | 19 | @XmlElement(name = "OperationType") 20 | public String getOperationType() { 21 | return operationType; 22 | } 23 | 24 | public void setOperationType(final String operationType) { 25 | this.operationType = operationType; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/StorageService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package org.cloudifysource.esc.driver.provisioning.azure.model; 5 | 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * @author elip 11 | * 12 | */ 13 | 14 | @XmlType(name = "StorageService", propOrder = {"url" , "serviceName" }) 15 | public class StorageService { 16 | 17 | private String url; 18 | private String serviceName; 19 | 20 | @XmlElement(name = "Url") 21 | public String getUrl() { 22 | return url; 23 | } 24 | public void setUrl(final String url) { 25 | this.url = url; 26 | } 27 | 28 | @XmlElement(name = "ServiceName") 29 | public String getServiceName() { 30 | return serviceName; 31 | } 32 | public void setServiceName(final String serviceName) { 33 | this.serviceName = serviceName; 34 | } 35 | 36 | 37 | 38 | } 39 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/VirtualNetworkConfiguration.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.azure.model; 2 | 3 | import javax.xml.bind.annotation.XmlElement; 4 | import javax.xml.bind.annotation.XmlType; 5 | 6 | /** 7 | * 8 | * @author elip 9 | * 10 | */ 11 | @XmlType(name = "VirtualNetworkConfiguration") 12 | public class VirtualNetworkConfiguration { 13 | 14 | private VirtualNetworkSites virtualNetworkSites; 15 | 16 | @XmlElement(name = "VirtualNetworkSites") 17 | public VirtualNetworkSites getVirtualNetworkSites() { 18 | return virtualNetworkSites; 19 | } 20 | 21 | public void setVirtualNetworkSites(final VirtualNetworkSites virtualNetworkSites) { 22 | this.virtualNetworkSites = virtualNetworkSites; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/azure/model/WinRM.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.azure.model; 2 | 3 | import javax.xml.bind.annotation.XmlElement; 4 | import javax.xml.bind.annotation.XmlType; 5 | 6 | /** 7 | * WinRM model 8 | * @author mourouvi (fastconnect) 9 | * 10 | */ 11 | @XmlType(name= "WinRM") 12 | public class WinRM { 13 | 14 | private Listeners listeners; 15 | 16 | @XmlElement(name="Listeners") 17 | public Listeners getListeners() { 18 | return listeners; 19 | } 20 | 21 | public void setListeners(Listeners listeners) { 22 | this.listeners = listeners; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/context/ProvisioningDriverClassContext.java: -------------------------------------------------------------------------------- 1 | 2 | package org.cloudifysource.esc.driver.provisioning.context; 3 | 4 | import java.util.concurrent.Callable; 5 | 6 | /** 7 | * The shared context of all provisioning drivers from the same concrete class. 8 | * @author itaif 9 | * 10 | */ 11 | public interface ProvisioningDriverClassContext { 12 | 13 | Object getOrCreate(String key, Callable factory) throws Exception; 14 | } 15 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/privateEc2/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | ******************************************************************************/ 13 | package org.cloudifysource.esc.driver.provisioning.privateEc2; 14 | 15 | /********************************** 16 | * Private EC2 Driver classes. 17 | */ 18 | 19 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/privateEc2/parser/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | ******************************************************************************/ 13 | package org.cloudifysource.esc.driver.provisioning.privateEc2.parser; 14 | 15 | /** 16 | * Amazon CloudFormation parser classes. 17 | */ 18 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/storage/StorageProvisioningException.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.storage; 2 | 3 | /** 4 | * Dedicated exception for storage provisioning errors. 5 | * @author elip 6 | * 7 | */ 8 | public class StorageProvisioningException extends Exception { 9 | 10 | public StorageProvisioningException(final String message) { 11 | super(message); 12 | } 13 | 14 | public StorageProvisioningException(final Exception e) { 15 | super(e); 16 | } 17 | 18 | public StorageProvisioningException(final String message, final Exception e) { 19 | super(message, e); 20 | } 21 | 22 | public StorageProvisioningException() { 23 | super(); 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/storage/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author elip 6 | * 7 | */ 8 | package org.cloudifysource.esc.driver.provisioning.storage; -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/validation/ValidationMessageType.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.validation; 2 | 3 | /** 4 | * Types of validation messages, determines the message display (indentation level). 5 | * 6 | * @author noak 7 | * @since 2.6 8 | */ 9 | public enum ValidationMessageType { 10 | 11 | /********* 12 | * Top level validation message, printed without indentation. 13 | */ 14 | TOP_LEVEL_VALIDATION_MESSAGE, 15 | 16 | /********* 17 | * Group message, printed with a small indentation. 18 | */ 19 | GROUP_VALIDATION_MESSAGE, 20 | 21 | /********* 22 | * Entry validation message, printed with a large indentation. 23 | */ 24 | ENTRY_VALIDATION_MESSAGE 25 | } 26 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/driver/provisioning/validation/ValidationResultType.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.esc.driver.provisioning.validation; 2 | 3 | /** 4 | * Types of validation results. 5 | * 6 | * @author noak 7 | * @since 2.6 8 | */ 9 | public enum ValidationResultType { 10 | 11 | /********* 12 | * Indicates the validation ended successfully. 13 | */ 14 | OK, 15 | 16 | /********* 17 | * Indicates the validation ended with a warning. 18 | */ 19 | WARNING, 20 | 21 | /********* 22 | * Indicates the validation failed. 23 | */ 24 | ERROR 25 | } 26 | -------------------------------------------------------------------------------- /esc/src/main/java/org/cloudifysource/esc/util/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2012 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package org.cloudifysource.esc.util; 17 | 18 | /********************************** 19 | * Utility classes for the esc project. 20 | * 21 | */ 22 | 23 | -------------------------------------------------------------------------------- /esc/src/main/resources/ByonProvisioningDriverMessages.properties: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | 17 | validating_all_templates = Validating all templates 18 | 19 | validating_template = Starting validation of template "{0}" -------------------------------------------------------------------------------- /esc/src/main/resources/META-INF/vfs-providers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/azure/azure-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - Enter your cloud provider account credentials here 2 | 3 | subscriptionId="ENTER_SUBSCRIPTION_ID_HERE" 4 | username="ENTER_USER_NAME_HERE" 5 | password="ENTER_PASSWORD_HERE" 6 | pfxFile="ENTER_PFX_FILE_HERE" 7 | pfxPassword="ENTER_PFX_PASSWORD_HERE" -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/azure/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/azure/upload/pre-bootstrap.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | HOST_NAME=`hostname` 4 | echo -e "#! /bin/bash\n echo $PASSWORD" > $WORKING_HOME_DIRECTORY/password.sh 5 | chmod +x $WORKING_HOME_DIRECTORY/password.sh 6 | SUDO_ASKPASS=$WORKING_HOME_DIRECTORY/password.sh 7 | export SUDO_ASKPASS 8 | 9 | # add localhost mapping to /etc/hosts 10 | echo "$MACHINE_IP_ADDRESS $HOST_NAME" | sudo -A tee -a /etc/hosts 11 | 12 | # enable current user to run sudo without a password 13 | USER=`whoami` 14 | echo "$USER ALL=(ALL) NOPASSWD :ALL" | sudo -A tee -a /etc/sudoers 15 | 16 | # delete the password script 17 | rm $WORKING_HOME_DIRECTORY/password.sh -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/azure_win/azure-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - Enter your cloud provider account credentials here 2 | 3 | subscriptionId="your-sub-id" 4 | username="Administrator" 5 | password="your-admin-password" 6 | pfxFile="your-pfx-file" 7 | pfxPassword="your-pfx-password" 8 | affinityGroup="your-affinity-group" 9 | affinityLocation="East US" 10 | netWorksite="you-network-site" 11 | netAddress="10.0.0.0/8" 12 | storageAccount="your-storage-id" 13 | -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/azure_win/upload-windows/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. 2 | -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/azure_win/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. 2 | -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/byon/byon-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - Enter your cloud provider account credentials here 2 | 3 | username="ENTER_USER_NAME_HERE" 4 | password="ENTER_PASSWORD_HERE" 5 | keyFile= 6 | 7 | // Management persistence configuration. Replace with a string path to activate. 'null' indicates no persistence. 8 | persistencePath=null -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/byon/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/byon/upload/pre-bootstrap.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # BYON machines may be dirty 4 | echo checking for previous java installation 5 | if [ -d "~/java" ]; then 6 | echo cleaning java installation from home directory 7 | rm -rf ~/java 8 | fi 9 | 10 | echo checking for previous gigaspaces installation 11 | if [ -d "~/gigaspaces" ]; then 12 | echo cleaning gigaspaces installation from home directory 13 | rm -rf ~/gigaspaces 14 | fi -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/cloudstack-3.x/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/ec2-win/ec2-win-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - Enter your cloud provider account credentials here 2 | 3 | user="ENTER_USER_HERE" 4 | apiKey="ENTER_API_KEY_HERE" 5 | keyFile="ENTER_KEY_FILE_HERE" 6 | keyPair="ENTER_KEY_PAIR_HERE" 7 | 8 | // Advanced usage 9 | 10 | imageId="us-east-1/ami-9ed834f6" 11 | hardwareId="m1.large" 12 | locationId="us-east-1c" 13 | linuxImageId="us-east-1/ami-35792c5c" 14 | linuxHardwareId="m1.small" -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/ec2-win/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/ec2/ec2-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - You must enter your cloud provider account credentials 2 | 3 | user="ENTER_USER_HERE" 4 | apiKey="ENTER_API_KEY_HERE" 5 | keyFile="ENTER_KEY_FILE_HERE" 6 | keyPair="ENTER_KEY_PAIR_HERE" 7 | 8 | // Advanced usage 9 | 10 | hardwareId="m1.small" 11 | mediumHardwareId="m1.medium" 12 | locationId="us-east-1" 13 | linuxImageId="us-east-1/ami-35792c5c" 14 | ubuntuImageId="us-east-1/ami-82fa58eb" 15 | // Management persistence configuration. Replace with a string path to activate. 'null' indicates no persistence. 16 | persistencePath=null -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/ec2/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/exoscale/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/exoscale/upload/pre-bootstrap.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | HOST_NAME=`hostname` 4 | echo "$MACHINE_IP_ADDRESS $HOST_NAME" | sudo -A tee -a /etc/hosts 5 | 6 | #disable firewall 7 | os=`uname -a` 8 | if [[ $os =~ .*Ubuntu.* ]]; then 9 | service ufw stop 10 | else 11 | service iptables stop 12 | fi 13 | 14 | #disable deprecated cloud-init repo. This patch is temporary as this is an exoscale image issue and should be resolved eventually. 15 | os_dist=`cat /etc/*-release` 16 | if [[ $os_dist =~ .*CentOS.* ]]; then 17 | echo Renaming deprecated repository 'cloud-init.repo' 18 | mv /etc/yum.repos.d/cloud-init.repo /etc/yum.repos.d/cloud-init.repo.old 19 | fi 20 | -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/hp-folsom/hp-folsom-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - Enter your cloud provider account credentials here 2 | user="ENTER_USER_HERE" 3 | tenant="ENTER_TENANT_NAME_HERE" 4 | apiKey="ENTER_API_KEY_HERE" 5 | keyFile="ENTER_KEY_FILE_HERE" 6 | keyPair="ENTER_KEY_PAIR_HERE" 7 | securityGroup="ENTER_SECURITY_GROUP_HERE" 8 | 9 | // Advanced usage 10 | hardwareId="az-2.region-a.geo-1/102" 11 | linuxImageId="az-2.region-a.geo-1/67478" 12 | ubuntuImageId="az-2.region-a.geo-1/67070" 13 | // Management persistence configuration. Replace with a string path to activate. 'null' indicates no persistence. 14 | persistencePath=null -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/hp-folsom/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/hp-grizzly/hp-grizzly-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - Enter your cloud provider account credentials here 2 | user="ENTER_USER_HERE" // enter the Horizon console user name 3 | apiKey="ENTER_API_KEY_HERE" // enter the Horizon console password 4 | tenant="ENTER_TENANT_NAME_HERE" 5 | keyFile="ENTER_KEY_FILE_HERE" 6 | keyPair="ENTER_KEY_PAIR_HERE" 7 | 8 | openstackUrl="https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0/" 9 | smallHardwareId="region-b.geo-1/101" 10 | mediumHardwareId="region-b.geo-1/102" 11 | linuxImageId="region-b.geo-1/202e7659-f7c6-444a-8b32-872fe2ed080c" 12 | ubuntuImageId="region-b.geo-1/8c096c29-a666-4b82-99c4-c77dc70cfb40" 13 | // Management persistence configuration. Replace with a string path to activate. 'null' indicates no persistence. 14 | persistencePath=null -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/hp-grizzly/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/hp-havana/hp-havana-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - Enter your cloud provider account credentials here 2 | user="ENTER_USER_HERE" // enter the Horizon console user name 3 | apiKey="ENTER_API_KEY_HERE" // enter the Horizon console password 4 | tenant="ENTER_TENANT_NAME_HERE" 5 | keyFile="ENTER_KEY_FILE_HERE" 6 | keyPair="ENTER_KEY_PAIR_HERE" 7 | 8 | openstackUrl="https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0/" 9 | hardwareId="region-b.geo-1/102" 10 | linuxImageId="region-b.geo-1/202e7659-f7c6-444a-8b32-872fe2ed080c" 11 | ubuntuImageId="region-b.geo-1/8c096c29-a666-4b82-99c4-c77dc70cfb40" 12 | // Management persistence configuration. Replace with a string path to activate. 'null' indicates no persistence. 13 | persistencePath=null -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/hp-havana/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/hp/README: -------------------------------------------------------------------------------- 1 | Refer to hp-folsom, hp-grizzly or hp-havana for version-specific configuration -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/openstack-folsom/openstack-folsom-cloud.properties: -------------------------------------------------------------------------------- 1 | 2 | // Credentials - Enter your cloud provider account credentials here 3 | user="ENTER_USER_HERE" 4 | tenant="ENTER_TENANT_NAME_HERE" 5 | apiKey="ENTER_API_KEY_HERE" 6 | keyFile="ENTER_KEY_FILE_HERE" 7 | keyPair="ENTER_KEY_PAIR_HERE" 8 | securityGroup="ENTER_SECURITY_GROUP_HERE" 9 | 10 | // For instance: "https://:5000/v2.0/" 11 | openstackUrl="ENTER_OPENSTACK_URL_HERE" 12 | 13 | hardwareId="ENTER_HARDWARE_FLAVOR_HERE" 14 | linuxImageId="ENTER_IMAGE_ID_HERE" 15 | // Management persistence configuration. Replace with a string path to activate. 'null' indicates no persistence. 16 | persistencePath=null 17 | -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/openstack-folsom/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/openstack-grizzly/openstack-grizzly-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - Enter your cloud provider account credentials here 2 | user="ENTER_USER_HERE" // enter the Horizon console user name 3 | apiKey="ENTER_API_KEY_HERE" // enter the Horizon console password 4 | tenant="ENTER_TENANT_NAME_HERE" 5 | keyFile="ENTER_KEY_FILE_HERE" 6 | keyPair="ENTER_KEY_PAIR_HERE" 7 | 8 | // For instance: "https://:5000/v2.0/" 9 | openstackUrl="ENTER_OPENSTACK_URL_HERE" 10 | 11 | // For instance: hardwareId="RegionOne/2" 12 | mediumHardwareId="ENTER_SMALL_HARDWARE_FLAVOR_HERE" 13 | smallHardwareId="ENTER_MEDIUM_HARDWARE_FLAVOR_HERE" 14 | imageId="ENTER_IMAGE_ID_HERE" 15 | availabilityZone="ENTER_AVAILABILITY_ZONE_HERE" 16 | // Management persistence configuration. Replace with a string path to activate. 'null' indicates no persistence. 17 | persistencePath=null 18 | -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/openstack-grizzly/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/openstack-havana/openstack-havana-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - Enter your cloud provider account credentials here 2 | user="ENTER_USER_HERE" // enter the Horizon console user name 3 | apiKey="ENTER_API_KEY_HERE" // enter the Horizon console password 4 | tenant="ENTER_TENANT_NAME_HERE" 5 | keyFile="ENTER_KEY_FILE_HERE" 6 | keyPair="ENTER_KEY_PAIR_HERE" 7 | 8 | // For instance: "https://:5000/v2.0/" 9 | openstackUrl="ENTER_OPENSTACK_URL_HERE" 10 | 11 | // For instance: hardwareId="RegionOne/2" 12 | mediumHardwareId="ENTER_SMALL_HARDWARE_FLAVOR_HERE" 13 | smallHardwareId="ENTER_MEDIUM_HARDWARE_FLAVOR_HERE" 14 | imageId="ENTER_IMAGE_ID_HERE" 15 | availabilityZone="ENTER_AVAILABILITY_ZONE_HERE" 16 | // Management persistence configuration. Replace with a string path to activate. 'null' indicates no persistence. 17 | persistencePath=null 18 | -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/openstack-havana/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/openstack/README: -------------------------------------------------------------------------------- 1 | Refer to openstack-folsom, openstack-grizzly or openstack-havana for version-specific configuration -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/privateEc2/privateEc2-cfn.properties: -------------------------------------------------------------------------------- 1 | imageId="ami-d9d6a6b0" 2 | keyName="KEY_PAIR_NAME" -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/privateEc2/privateEc2-cloud.properties: -------------------------------------------------------------------------------- 1 | accessKey="YOUR_ACCESS_KEY" 2 | apiKey="YOUR_API_KEY" 3 | keyFile="YOUR_KEY_FILE" 4 | keyPair="YOUR_KEY_PAIR" 5 | bucketName="S3_BUCKET_NAME" 6 | bucketLocationId="S3_BUCKET_LOCATION_ID" 7 | debugMode="true" 8 | 9 | imageId="us-east-1/ami-d9d6a6b0" 10 | locationId="us-east-1" -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/privateEc2/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/rackspace/rackspace-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - Enter your cloud provider account credentials here 2 | user="ENTER_USER_HERE" 3 | apiKey="ENTER_API_KEY_HERE" 4 | tenantId="ENTER_TENANT_ID" 5 | 6 | 7 | // Advanced usage 8 | hardwareId="DFW/4" 9 | mediumHardwareId="DFW/5" 10 | locationId="DFW" 11 | // centOS 6.5 12 | linuxImageId="DFW/a84b1592-6817-42da-a57c-3c13f3cfc1da" 13 | // Ubuntu 12.04 14 | ubuntuImageId="DFW/f9b690bf-88eb-43c2-99cf-391f2558732e" 15 | 16 | // Management persistence configuration. Replace with a string path to activate. 'null' indicates no persistence. 17 | persistencePath=null -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/rackspace/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/rackspace/upload/post-bootstrap.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # shutdown the internal firewall. 4 | iptables -P INPUT ACCEPT 5 | iptables -P OUTPUT ACCEPT 6 | iptables -P FORWARD ACCEPT 7 | iptables -F -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/softlayer-bm/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/softlayer-cci/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/main/resources/clouds/softlayer-win/upload/cloudify-overrides/README: -------------------------------------------------------------------------------- 1 | This folder should contain any files you might want to use to override in Cloudify installation. -------------------------------------------------------------------------------- /esc/src/test/resources/byon-gstring/testbyon-cloud.properties: -------------------------------------------------------------------------------- 1 | IP="pc-lab100" -------------------------------------------------------------------------------- /esc/src/test/resources/byon-gstring/upload/Empty_File.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/esc/src/test/resources/byon-gstring/upload/Empty_File.txt -------------------------------------------------------------------------------- /esc/src/test/resources/cfn_templates/externalConfig-cfn.properties: -------------------------------------------------------------------------------- 1 | imageId="ami-23d9a94a" 2 | keyName="cloudify" -------------------------------------------------------------------------------- /esc/src/test/resources/cfn_templates/externalConfig-cfn.template: -------------------------------------------------------------------------------- 1 | { 2 | "Resources":{ 3 | "ec2instance":{ 4 | "Type":"AWS::EC2::Instance", 5 | "Properties":{ 6 | "ImageId":imageId, 7 | "InstanceType":"t1.micro", 8 | "AvailabilityZone":"eu-west-1c", 9 | "SecurityGroups":["cloudify","default"], 10 | "KeyName":keyName, 11 | "Volumes" : [{ 12 | "VolumeId" : { 13 | "Ref":"smallVolume" 14 | }, 15 | "Device" : "/dev/sdk" 16 | }] 17 | } 18 | }, 19 | "smallVolume" : { 20 | "Type" : "AWS::EC2::Volume", 21 | "Properties" : { 22 | "Size" : "1", 23 | "AvailabilityZone" : "eu-west-1c" 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /esc/src/test/resources/cfn_templates/join.template: -------------------------------------------------------------------------------- 1 | { 2 | "Resources":{ 3 | "someService":{ 4 | "Type":"AWS::EC2::Instance", 5 | "Properties":{ 6 | "ImageId":"ami-d30a15a7", 7 | "InstanceType":"m1.medium", 8 | "AvailabilityZone":"eu-west-1c", 9 | "SecurityGroups":["cloudify","default"], 10 | "KeyName":"cloudify", 11 | "UserData" : { "Fn::Base64" : { "Fn::Join" : ["\n", [ 12 | "export NIC_ADDR=`hostname`", 13 | "export JAVA_HOME=/home/ubuntu/java" 14 | ]]}} 15 | } 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /esc/src/test/resources/cfn_templates/ref.template: -------------------------------------------------------------------------------- 1 | { 2 | "Resources":{ 3 | "ec2instance":{ 4 | "Type":"AWS::EC2::Instance", 5 | "Properties":{ 6 | "ImageId":"ami-89b1a3fd", 7 | "InstanceType":"t1.micro", 8 | "AvailabilityZone":"eu-west-1c", 9 | "SecurityGroups":["cloudify","default"], 10 | "KeyName":"cloudify", 11 | "Volumes" : [{ 12 | "VolumeId" : { 13 | "Ref":"smallVolume" 14 | }, 15 | "Device" : "/dev/sdk" 16 | }] 17 | } 18 | }, 19 | "smallVolume" : { 20 | "Type" : "AWS::EC2::Volume", 21 | "Properties" : { 22 | "Size" : "1", 23 | "AvailabilityZone" : "eu-west-1c" 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /esc/src/test/resources/cfn_templates/static-cfn.template: -------------------------------------------------------------------------------- 1 | { 2 | "Resources":{ 3 | "static":{ 4 | "Type":"AWS::EC2::Instance", 5 | "Properties":{ 6 | "ImageId":"ami-89b1a3fd", 7 | "InstanceType":"t1.micro", 8 | "SecurityGroups":["cloudify","default"], 9 | "KeyName":"cloudify" 10 | } 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /esc/src/test/resources/cfn_templates/static-with-volume-cfn.template: -------------------------------------------------------------------------------- 1 | { 2 | "Resources":{ 3 | "someService":{ 4 | "Type":"AWS::EC2::Instance", 5 | "Properties":{ 6 | "ImageId":"ami-d30a15a7", 7 | "InstanceType":"m1.medium", 8 | "AvailabilityZone":"eu-west-1c", 9 | "SecurityGroups":["cloudify","default"], 10 | "KeyName":"cloudify", 11 | "Volumes" : [{ 12 | "VolumeId" : {"Ref" : "smallVolume"}, 13 | "Device" : "/dev/sdk" 14 | }] 15 | } 16 | }, 17 | "smallVolume" : { 18 | "Type" : "AWS::EC2::Volume", 19 | "Properties" : { 20 | "Size" : "1", 21 | "AvailabilityZone" : "eu-west-1c" 22 | } 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /esc/src/test/resources/cfn_templates/tags.template: -------------------------------------------------------------------------------- 1 | { 2 | "Resources":{ 3 | "someService":{ 4 | "Type":"AWS::EC2::Instance", 5 | "Properties":{ 6 | "ImageId":"ami-d30a15a7", 7 | "InstanceType":"m1.medium", 8 | "AvailabilityZone":"eu-west-1c", 9 | "SecurityGroups":["cloudify","default"], 10 | "KeyName":"cloudify", 11 | "Volumes" : [{ 12 | "VolumeId" : {"Ref" : "smallVolume"}, 13 | "Device" : "/dev/sdk" 14 | }], 15 | "Tags" : [ 16 | {"Key": "Instance","Value": "someInstanceTag"} 17 | ] 18 | } 19 | }, 20 | "smallVolume" : { 21 | "Type" : "AWS::EC2::Volume", 22 | "Properties" : { 23 | "Size" : "1", 24 | "AvailabilityZone" : "eu-west-1c", 25 | "Tags" : [ 26 | {"Key": "Volume1","Value": "someVolumeTag1"}, 27 | {"Key": "Volume2","Value": "someVolumeTag2"} 28 | ] 29 | } 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /esc/src/test/resources/cfn_templates/volume.template: -------------------------------------------------------------------------------- 1 | { 2 | "Resources":{ 3 | "someService":{ 4 | "Type":"AWS::EC2::Instance", 5 | "Properties":{ 6 | "ImageId":"ami-d30a15a7", 7 | "InstanceType":"m1.medium", 8 | "AvailabilityZone":"eu-west-1c", 9 | "SecurityGroups":["cloudify","default"], 10 | "KeyName":"cloudify", 11 | "Volumes" : [{ 12 | "VolumeId" : { 13 | "Ref" : "smallVolume" 14 | }, 15 | "Device" : "/dev/sdk" 16 | }], 17 | "UserData" : "export NIC_ADDR=`hostname`\nexport JAVA_HOME=/home/ubuntu/java\nexport LOOKUPLOCATORS=$LUS_IP_ADDRESS\nnohup /home/ubuntu/gigaspaces/bin/cloudify.sh start-agent -timeout 30 --verbose > /home/ubuntu/output.txt\n" 18 | } 19 | }, 20 | "smallVolume" : { 21 | "Type" : "AWS::EC2::Volume", 22 | "Properties" : { 23 | "Size" : "1", 24 | "AvailabilityZone" : "eu-west-1c" 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /esc/src/test/resources/cloud_driver/ec2-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - You must enter your cloud provider account credentials 2 | 3 | user="ENTER_USER_HERE" 4 | apiKey="ENTER_API_KEY_HERE" 5 | keyFile="Empty_File.txt" 6 | keyPair="ENTER_KEY_PAIR_HERE" 7 | 8 | // Advanced usage 9 | 10 | hardwareId="m1.small" 11 | mediumHardwareId="m1.medium" 12 | locationId="us-east-1" 13 | linuxImageId="us-east-1/ami-35792c5c" 14 | ubuntuImageId="us-east-1/ami-82fa58eb" 15 | // Management persistence configuration. Replace with a string path to activate. 'null' indicates no persistence. 16 | persistencePath=null -------------------------------------------------------------------------------- /esc/src/test/resources/cloud_driver/upload/Empty_File.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/esc/src/test/resources/cloud_driver/upload/Empty_File.txt -------------------------------------------------------------------------------- /esc/src/test/resources/openstack/networks-configuration/upload/Empty_File.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/esc/src/test/resources/openstack/networks-configuration/upload/Empty_File.txt -------------------------------------------------------------------------------- /esc/src/test/resources/openstack/validations/upload/Empty_File.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/esc/src/test/resources/openstack/validations/upload/Empty_File.txt -------------------------------------------------------------------------------- /esc/testResources/byon/upload/Empty_File.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/esc/testResources/byon/upload/Empty_File.txt -------------------------------------------------------------------------------- /esc/transaction.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/esc/transaction.log -------------------------------------------------------------------------------- /management-space/.gitignore: -------------------------------------------------------------------------------- 1 | /.settings 2 | /target 3 | /.classpath 4 | /.project 5 | -------------------------------------------------------------------------------- /rest-client/src/main/java/org/cloudifysource/restclient/exceptions/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | ******************************************************************************/ 16 | 17 | package org.cloudifysource.restclient.exceptions; -------------------------------------------------------------------------------- /rest-client/src/main/java/org/cloudifysource/restclient/messages/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | ******************************************************************************/ 16 | 17 | package org.cloudifysource.restclient.messages; -------------------------------------------------------------------------------- /rest-client/src/main/java/org/cloudifysource/restclient/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | ******************************************************************************/ 16 | 17 | package org.cloudifysource.restclient.utils; -------------------------------------------------------------------------------- /rest-client/src/main/resources/MessagesBundle_RestClient.properties: -------------------------------------------------------------------------------- 1 | upload_file_doesnt_exist = the upload file [{0}] doesn't exist. 2 | upload_file_not_file = the upload file [{0}] is not a file. 3 | upload_file_missing = The file to upload in the upload request is null. 4 | serialization_error = Failed creating post entity for {0}. 5 | execute_request_failed - Failed to execute request to {0}. 6 | read_response_body_failed = failed to read the response's body. 7 | http_failure = Got an HTTP failure [{0}] while sending a request to {1} 8 | invalid_url = Invalid URL: "{0}" 9 | URL_not_found = The specified URL could not be resolved: {0} 10 | no_permission_access_is_denied = Permission not granted, access is denied. 11 | unauthorized = Unauthorized [{0}] when trying to access {1} 12 | deployment_id_missing = [{0}] - deployment ID is missing. 13 | failed_to_locate_application = Application [{0}] could not be found. 14 | failed_to_locate_service = Service [{0}] could not be found. -------------------------------------------------------------------------------- /restful/.gitignore: -------------------------------------------------------------------------------- 1 | /.checkstyle 2 | /velocity.log 3 | -------------------------------------------------------------------------------- /restful/src/main/java/org/cloudifysource/rest/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2013 GigaSpaces Technologies Ltd. All rights reserved 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | ******************************************************************************/ 13 | /** 14 | * @author yael 15 | * 16 | */ 17 | package org.cloudifysource.rest.internal; -------------------------------------------------------------------------------- /restful/src/main/webapp/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /restful/src/main/webapp/WEB-INF/config.properties: -------------------------------------------------------------------------------- 1 | # This is the multicast lookup group that the admin client will connect to 2 | restful.lookupGroups=localcloud 3 | 4 | # This is the unicast lookup locator that the admin client will connect to 5 | restful.lookupLocators= 6 | 7 | # The name of the Cloudify management space 8 | restful.managementSpaceName=cloudifyManagementSpace 9 | 10 | # The folder used for temporary files 11 | restful.temporaryFolder= 12 | 13 | #Security propagation: NONE, CLUSTER(use the user details as the cluster user details as well) 14 | security.propagation=NONE -------------------------------------------------------------------------------- /restful/src/main/webapp/resources/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/src/main/webapp/resources/favicon.ico -------------------------------------------------------------------------------- /restful/src/main/webapp/resources/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/src/main/webapp/resources/logo.png -------------------------------------------------------------------------------- /restful/src/test/java/org/cloudifysource/rest/events/cache/EventsCacheTest.java: -------------------------------------------------------------------------------- 1 | package org.cloudifysource.rest.events.cache; 2 | 3 | import org.junit.Test; 4 | 5 | /** 6 | * TODO: Write a short summary of this type's roles and responsibilities. 7 | * 8 | * @author Eli Polonsky 9 | * @since 0.1 10 | */ 11 | public class EventsCacheTest { 12 | 13 | @Test 14 | public void testCacheCleanup() throws Exception { 15 | 16 | } 17 | 18 | @Test 19 | public void testRefresh() throws Exception { 20 | 21 | } 22 | 23 | @Test 24 | public void testGet() throws Exception { 25 | 26 | } 27 | 28 | @Test 29 | public void testGetIfExists() throws Exception { 30 | 31 | } 32 | 33 | @Test 34 | public void testPut() throws Exception { 35 | 36 | } 37 | 38 | @Test 39 | public void testAdd() throws Exception { 40 | 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /restful/src/test/resources/META-INF/spring/config.properties: -------------------------------------------------------------------------------- 1 | # This is the multicast lookup group that the admin client will connect to 2 | restful.lookupGroups= 3 | 4 | # This is the unicast lookup locator that the admin client will connect to 5 | restful.lookupLocators= 6 | 7 | # The name of the Cloudify management space 8 | restful.managementSpaceName=cloudifyManagementSpace 9 | 10 | # The folder used for temporary files 11 | restful.temporaryFolder= 12 | 13 | #Security propagation: NONE, CLUSTER(use the user details as the cluster user details as well) 14 | security.propagation=NONE 15 | 16 | # The size limit of an uploaded file in bytes 17 | upload.uploadSizeLimitBytes=100000000 -------------------------------------------------------------------------------- /restful/src/test/resources/deploy/DataGrid-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | 3 | name "datagrid" 4 | type "CACHE" 5 | elastic true 6 | 7 | dataGrid { 8 | 9 | sla { 10 | memoryCapacity 128 11 | maxMemoryCapacity 256 12 | highlyAvailable false 13 | memoryCapacityPerContainer 128 14 | } 15 | 16 | contextProperties ([ 17 | //this is the usual deployment properties mechanism 18 | "cluster-config.mirror-service.interval-opers":"1000" 19 | ]) 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /restful/src/test/resources/deploy/ec2-cloud.properties: -------------------------------------------------------------------------------- 1 | // Credentials - You must enter your cloud provider account credentials 2 | 3 | user="ENTER_USER_HERE" 4 | apiKey="ENTER_API_KEY_HERE" 5 | keyFile="ENTER_KEY_FILE_HERE" 6 | keyPair="ENTER_KEY_PAIR_HERE" 7 | 8 | // Advanced usage 9 | 10 | hardwareId="m1.small" 11 | locationId="us-east-1" 12 | linuxImageId="us-east-1/ami-35792c5c" 13 | ubuntuImageId="us-east-1/ami-82fa58eb" 14 | // Management persistence configuration. Replace with a string path to activate. 'null' indicates no persistence. 15 | persistencePath=null -------------------------------------------------------------------------------- /restful/src/test/resources/deploy/packedStatefulPU.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/src/test/resources/deploy/packedStatefulPU.zip -------------------------------------------------------------------------------- /restful/src/test/resources/deploy/packedStatelessPU.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/src/test/resources/deploy/packedStatelessPU.zip -------------------------------------------------------------------------------- /restful/src/test/resources/deploy/stateful-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | 3 | name "stateful" 4 | elastic true 5 | 6 | statefulProcessingUnit { 7 | 8 | binaries "stateful.jar" //can be a folder, or a war file 9 | 10 | sla { 11 | memoryCapacity 256 12 | maxMemoryCapacity 512 13 | highlyAvailable true 14 | memoryCapacityPerContainer 128 15 | } 16 | 17 | contextProperties ([ 18 | //this is the usual deployment properties mechanism 19 | "cluster-config.mirror-service.interval-opers":"1000" 20 | ]) 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /restful/src/test/resources/deploy/stateless-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | 3 | name "statelessPU" 4 | numInstances 1 5 | elastic true 6 | statelessProcessingUnit { 7 | 8 | binaries "servlet.war" //can be a folder, or a war file 9 | 10 | sla { 11 | //memoryCapacity 128 12 | //maxMemoryCapacity 256 13 | highlyAvailable true 14 | memoryCapacityPerContainer 128 15 | } 16 | contextProperties ([ 17 | //this is the usual deployment properties mechanism 18 | "com.gs.dummy":"value" 19 | ]) 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /restful/src/test/resources/deploy/upload/empty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/src/test/resources/deploy/upload/empty -------------------------------------------------------------------------------- /restful/src/test/resources/deploy/usm-service.groovy: -------------------------------------------------------------------------------- 1 | import java.util.concurrent.TimeUnit 2 | 3 | import org.hyperic.sigar.FileSystem; 4 | import org.hyperic.sigar.Sigar; 5 | 6 | import com.gigaspaces.internal.sigar.SigarHolder; 7 | 8 | 9 | service { 10 | name "groovy" 11 | type "WEB_SERVER" 12 | elastic true 13 | numInstances 1 14 | maxAllowedInstances 2 15 | 16 | isolationSLA { 17 | global { 18 | instanceCpuCores 0 19 | instanceMemoryMB 128 20 | useManagement false 21 | } 22 | } 23 | 24 | lifecycle { 25 | 26 | init { println "This is the init event" } 27 | preInstall {println "This is the preInstall event" } 28 | postInstall {println "This is the post install event"} 29 | preStart {println "This is the preStart event" } 30 | start "run.groovy" 31 | preStop {println "This is the preStop event" } 32 | postStop {println "This is the postStop event" } 33 | } 34 | 35 | compute { 36 | 37 | template "SMALL_LINUX" 38 | } 39 | 40 | storage { 41 | 42 | template "SMALL_BLOCK" 43 | } 44 | } -------------------------------------------------------------------------------- /restful/src/test/resources/restDoclet/.gitignore: -------------------------------------------------------------------------------- 1 | /restdoclet.html 2 | -------------------------------------------------------------------------------- /restful/src/test/resources/upload/test.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/src/test/resources/upload/test.rar -------------------------------------------------------------------------------- /restful/src/test/resources/upload/test.txt: -------------------------------------------------------------------------------- 1 | upload test -------------------------------------------------------------------------------- /restful/src/test/resources/upload/test.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/src/test/resources/upload/test.zip -------------------------------------------------------------------------------- /restful/src/test/resources/upload/test1.txt: -------------------------------------------------------------------------------- 1 | upload test -------------------------------------------------------------------------------- /restful/src/test/resources/validators/byon/upload/empty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/src/test/resources/validators/byon/upload/empty -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simple-service.overrides: -------------------------------------------------------------------------------- 1 | iconName = "simpleIcon" 2 | -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simple.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "simple" 3 | type "UNDEFINED" 4 | 5 | lifecycle { 6 | 7 | preInstall {println "This is the preInstall event" } 8 | postInstall {println "This is the postInstall event"} 9 | postStart {println "This is the postStart event" } 10 | preStop {println "This is the preStop event" } 11 | postStop {println "This is the postStop event" } 12 | shutdown {println "This is the shutdown event" } 13 | } 14 | } -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simple/simple-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "simple" 3 | icon "${iconName}.png" 4 | type "UNDEFINED" 5 | 6 | lifecycle { 7 | 8 | init {println "This is the init event" } 9 | 10 | preInstall {println "This is the preInstall event" } 11 | postInstall {println "This is the postInstall event"} 12 | 13 | preStart {println "This is the preStart event" } 14 | 15 | start (["Win.*":"run.bat", "Linux":"run.sh"]) 16 | 17 | postStart {println "This is the postStart event" } 18 | 19 | preStop {println "This is the preStop event" } 20 | postStop {println "This is the postStop event" } 21 | shutdown {println "This is the shutdown event" } 22 | } 23 | } -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simple/simpleIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/src/test/resources/validators/simple/simpleIcon.png -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleApp-application.overrides: -------------------------------------------------------------------------------- 1 | applicationName = "simpleApp" 2 | iconName = "simpleIcon" 3 | -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleApp/simple/simple-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "simple" 3 | icon "simpleIcon.png" 4 | type "UNDEFINED" 5 | 6 | lifecycle { 7 | 8 | init {println "This is the init event" } 9 | 10 | preInstall {println "This is the preInstall event" } 11 | postInstall {println "This is the postInstall event"} 12 | 13 | preStart {println "This is the preStart event" } 14 | 15 | start (["Win.*":"run.bat", "Linux":"run.sh"]) 16 | 17 | postStart {println "This is the postStart event" } 18 | 19 | preStop {println "This is the preStop event" } 20 | postStop {println "This is the postStop event" } 21 | shutdown {println "This is the shutdown event" } 22 | } 23 | } -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleApp/simple/simpleIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/src/test/resources/validators/simpleApp/simple/simpleIcon.png -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleApp/simpleApp-application.groovy: -------------------------------------------------------------------------------- 1 | 2 | application { 3 | name = "simpleApp" 4 | 5 | service { 6 | name = "simple" 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleAppTemplateNotExist/simple/simple-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "simple" 3 | type "UNDEFINED" 4 | 5 | lifecycle { 6 | 7 | preInstall {println "This is the preInstall event" } 8 | postInstall {println "This is the postInstall event"} 9 | postStart {println "This is the postStart event" } 10 | preStop {println "This is the preStop event" } 11 | postStop {println "This is the postStop event" } 12 | shutdown {println "This is the shutdown event" } 13 | } 14 | 15 | compute { 16 | template "NOT_EXIST_TEMPLATE" 17 | } 18 | } -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleAppTemplateNotExist/simpleApp-application.groovy: -------------------------------------------------------------------------------- 1 | 2 | application { 3 | name = "simpleApp" 4 | 5 | service { 6 | name = "simple" 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleAppWithOverrides/simple/simple-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "simple" 3 | icon "${iconName}.png" 4 | type "UNDEFINED" 5 | 6 | lifecycle { 7 | 8 | init {println "This is the init event" } 9 | 10 | preInstall {println "This is the preInstall event" } 11 | postInstall {println "This is the postInstall event"} 12 | 13 | preStart {println "This is the preStart event" } 14 | 15 | start (["Win.*":"run.bat", "Linux":"run.sh"]) 16 | 17 | postStart {println "This is the postStart event" } 18 | 19 | preStop {println "This is the preStop event" } 20 | postStop {println "This is the postStop event" } 21 | shutdown {println "This is the shutdown event" } 22 | } 23 | } -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleAppWithOverrides/simple/simpleIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/src/test/resources/validators/simpleAppWithOverrides/simple/simpleIcon.png -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleAppWithOverrides/simpleApp-application.groovy: -------------------------------------------------------------------------------- 1 | 2 | application { 3 | name = applicationName 4 | 5 | service { 6 | name = "simple" 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleAppWithOverrides/simpleApp-application.overrides: -------------------------------------------------------------------------------- 1 | applicationName = "simpleApp" 2 | iconName = "simpleIcon" 3 | -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleWithOverrides/simple-service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "simple" 3 | icon "${iconName}.png" 4 | type "UNDEFINED" 5 | 6 | lifecycle { 7 | 8 | init {println "This is the init event" } 9 | 10 | preInstall {println "This is the preInstall event" } 11 | postInstall {println "This is the postInstall event"} 12 | 13 | preStart {println "This is the preStart event" } 14 | 15 | start (["Win.*":"run.bat", "Linux":"run.sh"]) 16 | 17 | postStart {println "This is the postStart event" } 18 | 19 | preStop {println "This is the preStop event" } 20 | postStop {println "This is the postStop event" } 21 | shutdown {println "This is the shutdown event" } 22 | } 23 | } -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleWithOverrides/simple-service.overrides: -------------------------------------------------------------------------------- 1 | iconName = "simpleIcon" 2 | -------------------------------------------------------------------------------- /restful/src/test/resources/validators/simpleWithOverrides/simpleIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/src/test/resources/validators/simpleWithOverrides/simpleIcon.png -------------------------------------------------------------------------------- /restful/src/test/resources/validators/smallLinuxService.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "smallLinuxService" 3 | type "UNDEFINED" 4 | 5 | lifecycle { 6 | 7 | preInstall {println "This is the preInstall event" } 8 | postInstall {println "This is the postInstall event"} 9 | postStart {println "This is the postStart event" } 10 | preStop {println "This is the preStop event" } 11 | postStop {println "This is the postStop event" } 12 | shutdown {println "This is the shutdown event" } 13 | } 14 | 15 | compute { 16 | template "SMALL_LINUX" 17 | } 18 | } -------------------------------------------------------------------------------- /restful/src/test/resources/validators/template1service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "template1service" 3 | type "UNDEFINED" 4 | 5 | lifecycle { 6 | 7 | preInstall {println "This is the preInstall event" } 8 | postInstall {println "This is the postInstall event"} 9 | postStart {println "This is the postStart event" } 10 | preStop {println "This is the preStop event" } 11 | postStop {println "This is the postStop event" } 12 | shutdown {println "This is the shutdown event" } 13 | } 14 | 15 | compute { 16 | template "TEMPLATE_1" 17 | } 18 | } -------------------------------------------------------------------------------- /restful/src/test/resources/validators/template5service.groovy: -------------------------------------------------------------------------------- 1 | service { 2 | name "template5service" 3 | type "UNDEFINED" 4 | 5 | lifecycle { 6 | 7 | preInstall {println "This is the preInstall event" } 8 | postInstall {println "This is the postInstall event"} 9 | postStart {println "This is the postStart event" } 10 | preStop {println "This is the preStop event" } 11 | postStop {println "This is the postStop event" } 12 | shutdown {println "This is the shutdown event" } 13 | } 14 | 15 | compute { 16 | template "TEMPLATE_5" 17 | } 18 | } -------------------------------------------------------------------------------- /restful/transaction.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/restful/transaction.log -------------------------------------------------------------------------------- /security-ldap/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | -------------------------------------------------------------------------------- /security/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | -------------------------------------------------------------------------------- /utility-domain/src/test/resources/ExternalDSLFiles/illegalDuplicateTemplates/linuxWithTomcatName-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TOMCAT : computeTemplate{ 3 | 4 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 5 | machineMemoryMB 1600 6 | hardwareId "Small" 7 | localDirectory "upload" 8 | 9 | username "SMALL_LINUX" 10 | password "ENTER_PASSWORD" 11 | 12 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 13 | } 14 | ] -------------------------------------------------------------------------------- /utility-domain/src/test/resources/ExternalDSLFiles/illegalDuplicateTemplates/tomcat-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TOMCAT : template { 3 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 4 | machineMemoryMB 1600 5 | hardwareId "Small" 6 | localDirectory "upload" 7 | 8 | username "TOMCAT" 9 | password "ENTER_PASSWORD" 10 | 11 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 12 | } 13 | ] -------------------------------------------------------------------------------- /utility-domain/src/test/resources/ExternalDSLFiles/illegalDuplicateTemplates/upload/bla.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/utility-domain/src/test/resources/ExternalDSLFiles/illegalDuplicateTemplates/upload/bla.pem -------------------------------------------------------------------------------- /utility-domain/src/test/resources/ExternalDSLFiles/illegalMultipleTemplatesInOneFile/multiple-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | SMALL_LINUX : computeTemplate{ 3 | 4 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 5 | machineMemoryMB 1600 6 | hardwareId "Small" 7 | localDirectory "upload" 8 | 9 | username "SMALL_LINUX" 10 | password "ENTER_PASSWORD" 11 | 12 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 13 | }, 14 | 15 | TOMCAT : computeTemplate{ 16 | 17 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 18 | machineMemoryMB 1600 19 | hardwareId "Small" 20 | localDirectory "upload" 21 | 22 | username "TOMCAT" 23 | password "ENTER_PASSWORD" 24 | 25 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 26 | 27 | } 28 | ] -------------------------------------------------------------------------------- /utility-domain/src/test/resources/ExternalDSLFiles/illegalMultipleTemplatesInOneFile/upload/bla.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/utility-domain/src/test/resources/ExternalDSLFiles/illegalMultipleTemplatesInOneFile/upload/bla.pem -------------------------------------------------------------------------------- /utility-domain/src/test/resources/ExternalDSLFiles/templateFiles/linux-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | SMALL_LINUX : computeTemplate{ 3 | 4 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 5 | machineMemoryMB 1600 6 | hardwareId "Small" 7 | localDirectory "upload" 8 | 9 | username "SMALL_LINUX" 10 | password "ENTER_PASSWORD" 11 | 12 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 13 | } 14 | ] -------------------------------------------------------------------------------- /utility-domain/src/test/resources/ExternalDSLFiles/templateFiles/tomcat-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TOMCAT : template { 3 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 4 | machineMemoryMB 1600 5 | hardwareId "Small" 6 | localDirectory "upload" 7 | 8 | username "TOMCAT" 9 | password "ENTER_PASSWORD" 10 | 11 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 12 | } 13 | ] -------------------------------------------------------------------------------- /utility-domain/src/test/resources/ExternalDSLFiles/templateFiles/upload/bla.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CloudifySource/cloudify/8d9ccc4196f3f90e58d3b0e028c571b6c3c5c4ed/utility-domain/src/test/resources/ExternalDSLFiles/templateFiles/upload/bla.pem -------------------------------------------------------------------------------- /utility-domain/src/test/resources/ExternalDSLFiles/templateFilesWithoutUpload/linux-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | SMALL_LINUX : computeTemplate{ 3 | 4 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 5 | machineMemoryMB 1600 6 | hardwareId "Small" 7 | localDirectory "upload" 8 | 9 | username "SMALL_LINUX" 10 | password "ENTER_PASSWORD" 11 | 12 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 13 | } 14 | ] -------------------------------------------------------------------------------- /utility-domain/src/test/resources/ExternalDSLFiles/templateFilesWithoutUpload/tomcat-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TOMCAT : template { 3 | imageId "OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd" 4 | machineMemoryMB 1600 5 | hardwareId "Small" 6 | localDirectory "upload" 7 | 8 | username "TOMCAT" 9 | password "ENTER_PASSWORD" 10 | 11 | remoteDirectory "/home/ENTER_USER_NAME/gs-files" 12 | } 13 | ] -------------------------------------------------------------------------------- /utility-domain/src/test/resources/templates/test-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TEMPLATE_NAME : computeTemplate{ 3 | 4 | machineMemoryMB 1600 5 | remoteDirectory "/tmp/gs-files" 6 | username "tgrid" 7 | password "tgrid" 8 | 9 | localDirectory "." 10 | 11 | custom ([ 12 | "nodesList" : ([ 13 | ([ 14 | "id" : "1", 15 | "host-list" : "192.168.9.101" 16 | ]) 17 | ]) 18 | ]) 19 | 20 | // enable sudo. 21 | privileged false 22 | 23 | } 24 | ] -------------------------------------------------------------------------------- /utility-domain/src/test/resources/templates/wrongFileTransferPackage-template.groovy: -------------------------------------------------------------------------------- 1 | [ 2 | TEMPLATE_NAME : computeTemplate{ 3 | 4 | machineMemoryMB 1600 5 | remoteDirectory "/tmp/gs-files" 6 | username "tgrid" 7 | password "tgrid" 8 | 9 | localDirectory "." 10 | fileTransfer org.cloudifysource.dsl.cloud.FileTransferModes.SCP 11 | custom ([ 12 | "nodesList" : ([ 13 | ([ 14 | "id" : "1", 15 | "host-list" : "192.168.9.101" 16 | ]) 17 | ]) 18 | ]) 19 | 20 | // enable sudo. 21 | privileged false 22 | 23 | } 24 | ] -------------------------------------------------------------------------------- /version/README.md: -------------------------------------------------------------------------------- 1 | # Cloudify Version 2 | 3 | This sub-module is a hook into the GigaSpaces XAP service grid, defining the version of Cloudify as it will appear in the service grid. -------------------------------------------------------------------------------- /version/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | 5 | cloudify 6 | org.cloudifysource 7 | 2.7.1-SNAPSHOT 8 | ../cloudify 9 | 10 | 11 | jar 12 | version 13 | version 14 | 15 | 16 | com.gigaspaces 17 | gs-openspaces 18 | provided 19 | 20 | 21 | 22 | 23 | version 24 | 25 | --------------------------------------------------------------------------------