public interface VanillaSoftwareProcess extends AbstractVanillaProcess
SoftwareProcess entity that runs commands from an archive.
Downloads and unpacks the archive indicated (optionally) then runs the management commands (scripts) indicated (relative to the root of the archive if supplied, otherwise in a tmp working dir) to manage. Uses config keys to identify the files or commands to use.
In the simplest mode, simply provide either:
AbstractVanillaProcess.DOWNLOAD_URL containing a ./start.sh
AbstractVanillaProcess.LAUNCH_COMMAND
PID_FILE unless one of the options below is supported.
The start command can be a complex bash command, downloading and unpacking files, and handling the PID_FILE requirement.
For example export MY_PID_FILE=$PID_FILE ; ./my_start.sh or nohup ./start.sh & ; echo $! > $PID_FILE ; sleep 5.
You can supply both AbstractVanillaProcess.DOWNLOAD_URL and AbstractVanillaProcess.LAUNCH_COMMAND configuration as well..
In addition, you can supply an AbstractVanillaProcess.INSTALL_COMMAND and / or a AbstractVanillaProcess.CUSTOMIZE_COMMAND to reduce the complexity
of the AbstractVanillaProcess.LAUNCH_COMMAND, and to avoid repeating actions that are unnecessary in subsequent launches.
By default the PID is used to stop the process using kill followed by kill -9 if needed and restart
is implemented by stopping the process and then running VanillaSoftwareProcessSshDriver.launch(), but it is
possible to override this behavior through config keys:
AbstractVanillaProcess.CHECK_RUNNING_COMMAND
AbstractVanillaProcess.STOP_COMMAND
SoftwareProcess.PID_FILE to use
SoftwareProcess.ChildStartableMode, SoftwareProcess.RestartSoftwareParameters, SoftwareProcess.StopSoftwareParametersEntity.AdjunctSupport<T extends EntityAdjunct>, Entity.EnricherSupport, Entity.GroupSupport, Entity.PolicySupport, Entity.SensorSupportBrooklynObject.RelationSupport<T extends BrooklynObject>, BrooklynObject.SubscriptionSupport, BrooklynObject.TagSupportConfigurable.ConfigurationSupportStartable.RestartEffectorBody, Startable.StartEffectorBody, Startable.StopEffectorBody| Modifier and Type | Field and Description |
|---|---|
static ConfigKey<java.lang.Boolean> |
USE_SSH_MONITORING |
CHECK_RUNNING_COMMAND, CUSTOMIZE_COMMAND, DOWNLOAD_URL, INSTALL_COMMAND, LAUNCH_COMMAND, STOP_COMMAND, SUGGESTED_VERSIONADD_OPEN_INBOUND_PORTS_EFFECTOR, ADDRESS, ARCHIVE_DIRECTORY_NAME_FORMAT, CHILDREN_STARTABLE_MODE, CUSTOMIZE_FILES, CUSTOMIZE_LATCH, CUSTOMIZE_TEMPLATES, DONT_REQUIRE_TTY_FOR_SUDO, DOWNLOAD_ADDON_URLS, ENTITY_STARTED, EXPANDED_INSTALL_DIR, HOSTNAME, INBOUND_PORTS_AUTO_INFER, INBOUND_PORTS_CONFIG_REGEX, INSTALL_DIR, INSTALL_FILES, INSTALL_LATCH, INSTALL_RESOURCES_LATCH, INSTALL_TEMPLATES, INSTALL_UNIQUE_LABEL, LAUNCH_LATCH, LIFECYCLE_EFFECTOR_TASKS, MAXIMUM_REBIND_SENSOR_CONNECT_DELAY, OPEN_IPTABLES, PID_FILE, POST_CUSTOMIZE_COMMAND, POST_INSTALL_COMMAND, POST_LAUNCH_COMMAND, PRE_CUSTOMIZE_COMMAND, PRE_INSTALL_COMMAND, PRE_INSTALL_FILES, PRE_INSTALL_TEMPLATES, PRE_LAUNCH_COMMAND, PROVISIONING_LOCATION, PROVISIONING_PROPERTIES, REQUIRED_OPEN_LOGIN_PORTS, RETRIEVE_USAGE_METRICS, RUN_DIR, RUNTIME_FILES, RUNTIME_RESOURCES_LATCH, RUNTIME_TEMPLATES, SERVICE_PROCESS_IS_RUNNING, SERVICE_PROCESS_IS_RUNNING_POLL_PERIOD, SERVICE_STATE_ACTUAL, SERVICE_STATE_EXPECTED, SETUP_LATCH, SHELL_ENVIRONMENT, SKIP_ENTITY_START_IF_RUNNING, SKIP_INSTALLATION, START_LATCH, START_TIMEOUT, STOP_IPTABLES, STOP_LATCH, SUBNET_ADDRESS, SUBNET_HOSTNAME, TEMPLATE_SUBSTITUTIONSRESTART, SERVICE_UP, START, STOPpopulateServiceNotUpDiagnosticsaddChild, addChild, addFeed, clearParent, enrichers, getApplication, getApplicationId, getAttribute, getChildren, getConfig, getCreationTime, getDisplayName, getEntityType, getIconUrl, getId, getLocations, getParent, groups, invoke, policies, relations, removeChild, sensors, setDisplayName, setParentgetCatalogItemId, getCatalogItemIdSearchPath, subscriptions, tagsconfig, getConfigstatic final ConfigKey<java.lang.Boolean> USE_SSH_MONITORING