The process involved in creating a cartridge will vary based on whether the cartridge is a generic cartridge or a fully configured cartridge. The entire cartridge creation process has been illustrated in the diagram and steps below:

  1. Create Puppet scripts based on the cartridge that is being created. The Puppet scripts will define the relevant cartridge software (i.e., server software and dependent software) that are required for the cartridge.
  2. Deploy the Puppet scripts in Puppet Master. Puppet Master will be used by all the cartridges in a Stratos deployment.

    Puppet Master needs to be configured prior to deploying the Puppet scripts.

  3. If a Generic cartridge image already exists, move to step 9.
  4. Spawn a virtual machine (VM) instance in a preferred IaaS (e.g., EC2, OpenStack, vCloud etc.).
  5. Run the setup script (e.g., config.sh) to install Puppet Agent on the VM.
  6. If you are creating a generic cartridge, move to step 8.
  7. If you are creating a fully configured cartridge, Puppet Agent will communicate with the Puppet Master and based on the Puppet scripts will automatically install all the required cartridge software and the Cartridge Agent.
  8. Create an image of the running instance.
  9. Create a cartridge definition. The cartridge definition needs to be defined in the cartridge.json file.
  10. Deploy the cartridge using one of the following methods: CLIREST API or Web UI.

After the cartridge has been successfully deployed, the tenant users will be able to subscribe to the cartridge using any of the following methods: CLI, REST API or Web UI. If the tenant user has subscribed cartridge, which has been created using a generic cartridge image, when the cartridge instance starts up the start-up script (e.g., init.sh) within the cartridge will get automatically executed and start up the Puppet Agent, which will communicate with Puppet Master and install the Cartridge Agent (CA) and all the required cartridge software.

  • No labels