About Orchestrations

An orchestration is a container that groups one or more objects, such as instances and storage volumes, to manage them as a unit. Within an orchestration, you can specify dependencies to control the sequence in which the objects are created and destroyed. For example, if an instance uses a storage volume, then the storage volume must be created before the instance can be launched, and the instance must be stopped before the storage volume can be destroyed.

Orchestrations are specified in JavaScript Object Notation (JSON) format and contain one or more plans where each plan represents objects of a specific type, such as instances and storage volumes. Each plan defines the properties of one or more objects. For example, a launch plan can define one or more instances including templates, networks, storage, and resource requirements.

To build an orchestration file in JSON format, see Orchestration Templates for more information about orchestration templates.

Life Cycle of an Orchestration

To use an orchestration, it must be added to the system. After it is added to the system, the orchestration can be started, shut down, restarted, stopped, or deleted. Starting an orchestration creates the objects defined by the orchestration. Stopping it destroys all the objects created by the orchestration. After an orchestration has been stopped, it can be started again and new objects are created.

Deleting an orchestration removes the definition from the system. Orchestrations can only be deleted if they are stopped.

Shutting down an orchestration shuts down all the instances defined by the orchestration without releasing any of the network or storage resources allocated when the instance was created. Restarting an orchestration restarts all the instances defined by the orchestration, reusing the network and storage resources allocated when the instance was created. This is equivalent to powering off and powering on the instances.

See Orchestration Life Cycle for more information about orchestration status.

When an Oracle Cloud Administrator does a back up of orchestrations and instances in OPCM, the orchestrations that you created are backed up only if they meet the following requirements:

  • The orchestration must contain the definition of one or more instances. The orchestration cannot define other IaaS objects without defining an instance.

  • The orchestration must not create IaaS objects that are used by instances of other orchestrations.

Orchestration Life Cycle

An orchestration can be in terminal and transitional statuses.

The orchestration statuses are shown in the following figure:

Terminal Statuses

A terminal status is reached upon completion of an operation such as start or stop. The terminal statuses of an orchestration after performing an operation on it are:

  • Ready: The orchestration is in a ready status after starting (creating an orchestration) or restarting a stopped or a shutdown orchestration. All the objects described by the orchestration are created successfully, and all the instances are running.

  • Shut_down: All the instances are gracefully shut down. Shutting down each instance individually is equivalent to shutting down the orchestration as a whole.

  • Stopped: The orchestration exists in the system, but none of the objects described in the orchestration are created. All the instances in the orchestration are stopped, and the resources are released.

  • Error: When a failure occurs during starting or restarting the orchestration.

  • Warning: When at least one instance is not running either as a result of explicitly issuing a command to change the status or the result of a failure.

Transitional Statuses

A transitional status indicates that an operation is in progress on the orchestration. The transitional statuses for an orchestration are:

  • Starting: When starting a new or stopped orchestration

  • Shutting_down: When shutting down an orchestration in ready status

  • Stopping: When stopping an orchestration in ready, error, or shut_down status

  • Restarting: When restarting an orchestration in shut_down or error status