Deployment Preflight Check
When an application is deployed, a preflight check can be performed to ensure that all required applications are in sync and running.
The preflight check consists of two phases:
The way in which the preflight check is done depends on whether you are using the Administrator GUI or the CLI, as described in the following section.
Administrator GUI
When you deploy an application using the Administrator GUI, the preflight check is performed by default. If any of the required applications or dependencies is determined to be out of sync during the optPreFlight phase, they are brought into sync before continuing. If any of the dependencies are determined to not be in a running state during the startPreFlight phase, the Application Dependencies to Start dialog box is displayed, which lists the components that are not running. From this dialog, you can select the listed components and start them.
Note, however, the preflight check can be skipped when deploying applications from the Administrator GUI. This must be done only in situations when you know for certain that all required applications are in sync and running. To skip the preflight check:
If you skip the preflight check, and there are dependencies that are out-of-sync or not running, the deployment will fail, as expected.
CLI
When an application deployment is performed from the CLI, the preflight check is not performed by default. To perform the preflight check, handleDependencies must be specified in the AMXAdminTask options attribute. For example:
<target name="deploy.app"> <AMXAdminTask remote="true" propsFile="${instance.properties.file}" action="deploy" dataFile="${basedir}/cli_data.xml" objectSelector="Environment//Application" overwrite="true" merge="true" createIfNotExists="true" force="false" failOnError="true" options="handleDependencies"/> </target>
For more information about the available options, see Understanding AMXAdminTask.
If, during the optPreflight phase, it detects applications that are out-of-sync, and synchronizes them before proceeding with the deployment.
If the application being deployed is dependent upon applications that are not running, the deployment fails. ActiveMatrix Administrator will not attempt to start the dependent applications that are not running.