Bootstrap Script Execution and Logging

This section describes cluster bootstrap script execution and logging.

Script Execution

The following list describes the semantics under which the cluster bootstrap script is executed:

  • The bootstrap script is executed as the root user.

  • The script is executed as the last step in the cluster provisioning process. Because the bootstrap script is executed asynchronously, script execution may continue after the cluster has been made available to accept processing requests.

  • If a bootstrap script is present upon a scale-out life cycle event, the bootstrap script will be executed on the scaled out node. This is an important consideration to be aware of since script actions may need to be made idempotent or controlled through semaphores or other script logic. It is the bootstrap script author’s responsibility to control which cluster node types the script (or portions of the script) is executed on. See Sample Bootstrap Script for examples of how script logic can be controlled.

  • The bootstrap script does not execute if the overall cluster provisioning process fails.

  • You can determine if the bootstrap script has completed by looking at logs in the object store or by manually peeking into the cluster.

Script Logging

The cluster bootstrap script logs standard error and standard out to the following location:

/u01/bdcsce/data/var/log/bdcsce_bootstrap.host_name.timestamp

where host_name is the name of the host the script was executed on and timestamp is the timestamp of when the script was executed.

Bootstrap script execution logs are also copied to the following location in Oracle Cloud Infrastructure Object Storage Classic after execution and can be retrieved for debugging and analysis using the Swift REST API:

swift://default_container/bdcsce/bootstrap/cluster_name/bdcsce_bootstrap.host_name.timestamp

where default_container is the container associated as the default container for the cluster when the cluster was created, and cluster_name is the name of the cluster that was provided when the cluster was created.