Version

    Sandbox Configuration Import

    Sandbox-related configuration (sandbox permissions, sandbox owner username, schedules, job configs, event listeners and data services) is imported from sandbox_configuration.xml file in sandbox root directory, when a new sandbox is created. The XML file should contain configuration related to the one sandbox, e.g. schedules that trigger graphs in the sandbox. Sandbox directory containing the configuration file must be present before creating the sandbox from server console.

    This functionality helps with deployment and versioning of the whole sandbox and configuration entities related to it. The sandbox thus contains "code" (graphs, jobflows etc), related files (parameters, connections, etc.) and also configuration to be created in Server (e.g. schedules that periodically run the graphs, event listeners that trigger the graphs on some event etc.).

    sandbox config import
    Figure 108. Sandbox Configuration Import

    The sandbox configuration is imported only if the sandbox_configuration.xml file is found when the sandbox is created. If an error occurs during import of the sandbox configuration, the sandbox is still created. Only specific elements are imported from the file (sandbox permissions, sandbox owner username, schedules, job configs, event listeners and data services), other entities are ignored (e.g. users).

    Only entities referring to sandboxCode of the newly created sandbox are imported (e.g. if a scheduler runs a graph from sandbox "myproject", then the new sandbox must have "myproject" sandbox code). It is allowed to use empty sandboxCode element in entities. Empty <sandboxCode></sandboxCode> stands for "this" .. current sandbox. The Export configuration action creates sandbox configuration file with empty sandbox code instead of a hardcoded one, so it’s not bound to a specific sandbox code when importing it.

    Sandbox configuration import is started only when sandbox is being created. We do not support updating configuration from XML file if sandbox already exists. It means that configuration import is not performed for example during sandbox ZIP file upload, because sandbox already exists in this case.

    When the sandbox is created, messages with summary information about the import are shown. Detailed information about the imported configuration can be found in the all.log.

    When the Server starts for the first time, it can automatically create sandboxes it detects in a directory, see sandboxes.autoimport configuration property (this is enabled by default in our Docker container). Configuration is also imported from all of the automatically created sandboxes, and if any of the imports fails it will fail the Server’s startup (i.e. fast fail).

    To create the sandbox_configuration.xml, use the Export configuration action on the sandbox. The action creates the file with configuration entities that are related to the sandbox (e.g. schedule that triggers a graph in the sandbox).