Service package deployment without using workload slots

Deploy service packages to hosts that run unrelated workload without using workload slots through the push deployment mechanism. Use this mechanism to predeploy large packages during off hours to prevent network bandwidth issues and to deploy service packages to hosts in specific resource groups.

To deploy a service package without using workload slots, use the soamdeploy push command or the RESTful API.

When using the soamdeploy push command, a service package is push-deployed to compute hosts in your cluster. The soamdeploy push command runs a remote deployment command (soamdeploy download) on all target hosts to download service packages on hosts, which are running unrelated workload without using workload slots. It conditionally downloads the specified service package and any dependencies that have not yet been downloaded. If the command is run again for the same service package, it reruns on all specified hosts, not just failed hosts. If the package version was already downloaded, the deployment command checks the package and exits without downloading the package again.

The soamdeploy push command deploys the service package either in the foreground (blocking mode) or in the background (non-blocking mode):
  • In the blocking mode (default), soamdeploy push exits only after the remote deployment command runs on all available hosts in the specified resource group and all download commands are complete. As an administrator, you can leverage this blocking behavior to string together a series of push deployment commands in a script that run sequentially.
  • In the non-blocking mode, soamdeploy push exits once the remote operation is initiated at the repository server. In this case, use the rsdeploy status command to check the status of this operation.
To deploy a service package to compute hosts in specific resource groups without using workload slots, as a cluster or consumer administrator, run the soamdeploy push command with the following syntax:
soamdeploy push package_name -c package_consumer_ID [[-r resource_group] | [-C deploy_consumer_ID -r resource_group]] [-t host_name] [-T timeout] [-l limit] [-b] [-n] [-U] [-u user_name] [-x password]
For detailed information on each of the options, see the soamdeploy reference.
Restriction:
  • Only one instance of soamdeploy push can run at a time in the cluster. If multiple push operations are required, they must be done in series.
  • The soamdeploy push command runs only on available hosts in the cluster. If new hosts become available, the command must be re-run to deploy the package to these hosts.

Push deploying a service package in the blocking mode

  1. Add the package to the repository:
    soamdeploy add MyPackage -p MyPackage.zip -c /SampleApplications/SOASamples
  2. Deploy the service package for consumer /SampleApplications/SOASamples:
    soamdeploy push MyPackage -c /SampleApplications/SOASamples
    For example:
    Logging on to RS server with user Admin and consumer /SampleApplications/SOASamples.
    Successfully logged on to RS server.
    Starting to install package MyPackage
    Successfully started package install
    HOST                 STATUS
    host1.example.com    INSTALLED
    host2.example.com    ERROR: Domain <system>: Soamdeploy failed to download service package MyService, out of disk space 
    host3.example.com    ERROR: Domain <EGO, System>: The specified package MyPackge, could not be installed on host host3. A slot on this host could not be allocated within 60 seconds. Ensure that the host is available and has free slots. 
    
    Command failed to install on 2 hosts.

Push deploying a service package in the non-blocking mode

  1. Add the package to the repository:
    soamdeploy add MyPackage -p MyPackage.zip -c /SampleApplications/SOASamples
  2. Push deploy the service package for consumer /SampleApplications/SOASamples:
    soamdeploy push MyPackage -c /SampleApplications/SOASamples -b
    For example:
    Logging on to RS server with user Admin and consumer /SampleApplications/SOASamples.
         Successfully logged on to RS server.
         Starting to install package MyPackage
         Successfully started package install

Viewing status of package deployment in non-blocking mode

  1. Run the rsdeploy status command. For example:
    sdeploy status MyPackage
  2. (Optional) Use the status filter to list all errors. For example:
    rsdeploy status MyPackage -s error

Removing package in non-blocking mode

  • Run the rsdeploy remove command to remove the rsdeploy status information from the repository server. This command does not remove the service package from the server. For example:
    rsdeploy remove MyPackage
  • Run the soamdeploy remove command to remove the package from the compute host. For example:
    soamdeploy remove MyPackage