Create a deployment metadata model

Create a deployment metadata modelΒΆ

In a Reclass metadata infrastructural model, the data is stored as a set of several layers of objects, where objects of a higher layer are combined with objects of a lower layer, that allows for as flexible configuration as required.

The MCP metadata model has the following levels:

  • Service level includes metadata fragments for individual services that are stored in Salt formulas and can be reused in multiple contexts.
  • System level includes sets of services combined in a such way that the installation of these services results in a ready-to-use system.
  • Cluster level is a set of models that combine already created system objects into different solutions. The cluster module settings override any settings of service and system levels and are specific for each deployment.

The model layers are firmly isolated from each other. They can be aggregated on a south-north direction using service interface agreements for objects on the same level. Such approach allows reusing of the already created objects both on service and system levels.

This section describes how to generate the cluster level metadata model for your MCP cluster deployment using the Model Designer web UI. The tool used to generate the model is Cookiecutter, a command-line utility that creates projects from templates.

While generating a metadata model, you can enable automated encryption of all secrets for the Salt Master node .iso file.

Note

The Model Designer web UI is only available within Mirantis. The Mirantis deployment engineers can access the Model Designer web UI using their Mirantis corporate username and password.

The workflow of a model creation includes the following stages:

  1. Defining the model through the Model Designer web UI.

  2. Optional. Tracking the execution of the model creation pipeline in the Jenkins web UI.

  3. Obtaining the generated model to your email address or getting it published to the project repository directly.

    Note

    If you prefer publishing to the project repository, verify that the dedicated repository is configured correctly and Jenkins can access it. See Create a project repository for details.

As a result, you get a generated deployment model and can customize it to fit specific use-cases. Otherwise, you can proceed with the base infrastructure deployment.