The deployment plan

The deployment plan drives the deployment of the application.

It is generated by The Wazi Deploy generation command.
Note: A deployment plan report (an HTML file) can also be generated if you specify it in the generation command. This report is provided for human readability.

To make the most of the following explanations, you must be familiar with The Wazi Deploy workflow.

The deployment plan is a YAML file. It retrieves the structure of the deployment method and applies its actions to the artifacts to be deployed, according to the types and states of these artifacts. In a static deployment, these artifacts are contained in the package file that you provide.

To deploy to the target z/OS environment, each step of the deployment plan must be implemented in an Ansible or a Python building block.

Structure and parameters

The following example is an excerpt from a deployment plan that was generated by Wazi Deploy to drive the deployment of a CICS® application.
apiVersion: wazideploy.ibm.com/v1
kind: DeploymentPlan
metadata:
  name: GenAppCICS
  description: GenAppCICS
  version: 1.0.84
  annotations:
    creationTimestamp: 20220811.141603.891
    package:
      path: samples/environments/ansible/inputs/package.tar
      sha256: 2c7324adbe68afc89e2de1b67f9dec81edb1bedb4146cbc88af8c69bf31dfb13
activities:
- name: PACKAGE
  description:
  properties: []
  actions:
  - name: PACKAGE
    description:
    properties: []
    steps:
    - name: PACKAGE
      description:
      properties: []
      artifacts: []
- name: DEPLOY_MODULES
  description:
  properties:
  - key: myProp
    value: Test
  actions:
  - name: ADD
    description:
    properties: []
    steps:
    - name: MEMBER_COPY
      description:
      properties: []
      artifacts:
      - name: LGDPDB01
        description:
        properties:
        - key: path
          value: DBRM/LGDPDB01.DBRM
        - key: type
          value: DBRM
        hash: 0dbed6d26d7b5e5fe663a96fb9d8a3033367e0579c395ceec7309b726ef68df8
      - name: LGAPVS01
        description:
        properties:
        - key: path
          value: CICSLOAD/LGAPVS01.CICSLOAD
        - key: type
          value: CICSLOAD
        hash: 1245023c04a1b49be5145d6ac0175e6700b3a3ae9941697e68c985942f7de007
      ...
- name: DB2
  description:
  properties: []
  actions:
  - name: UPDATE
    description:
    properties: []
    steps:
    - name: DB2_BIND_PACKAGE
      description:
      properties: []
      artifacts:
      - name: LGDPDB01
        description:
        properties:
        - key: path
          value: DBRM/LGDPDB01.DBRM
        - key: type
          value: DBRM
        hash: 0dbed6d26d7b5e5fe663a96fb9d8a3033367e0579c395ceec7309b726ef68df8
      - name: LGIPDB01
        description:
        properties:
        - key: path
          value: DBRM/LGIPDB01.DBRM
        - key: type
          value: DBRM
        hash: 9fbd05163499f43d462ae2afc483385824df890fd68b865a19414cef292e14d7
       ...
- name: CICS
  description:
  properties: []
  actions:
  - name: UPDATE
    description:
    properties: []
    steps:
    - name: PROG_UPDATE
      description:
      properties:
      - key: template
        value: cics_cmci_prog_update
      artifacts:
      - name: LGAPVS01
        description:
        properties:
        - key: path
          value: CICSLOAD/LGAPVS01.CICSLOAD
        - key: type
          value: CICSLOAD
        hash: 1245023c04a1b49be5145d6ac0175e6700b3a3ae9941697e68c985942f7de007
      ...
      - name: SSMAP
        description:
        properties:
        - key: path
          value: MAPLOAD/SSMAP.MAPLOAD
        - key: type
          value: MAPLOAD
        hash: c7cb9f88b69557156941938814f413d7795bccd6e7736e904a4ba9c98ed02df8
      ...

The parameters are grouped and explained according to their level in the structure of the deployment plan.

metadata
  • name

    The name of the application that the deployment plan applies to.

  • description

    The optional description of the application that the deployment plan applies to.

  • version

    The version of the application to be deployed.

  • annotations

    The annotations level typically contains the following fields but it can also contain any valid YAML properties that are present in the deployment method and carried over to the deployment plan.

    • creationTimestamp

      The timestamp for the generation of this file.

    • engine

      The information about the Wazi Deploy version.

    • package
      • path

        The path to the package file (package.tar) that contains the artifacts of the application to be deployed to the target z/OS environment.

      • sha256

        The unique hash code of the application package file to be deployed. It constitutes the hash code that is associated with each artifact of the package.

        It is used by some building blocks such as package.

activities
The activities that are declared in The deployment method.

The name and properties of each activity are listed.

actions
The list of the actions that are declared for each activity in The deployment method.

The name and properties of each action are listed.

steps
The list of the steps that are declared for each action in The deployment method.

The name and properties of the step in the deployment plan are displayed.

  • artifacts

    The artifacts that the step applies to.

    To find these artifacts, Wazi Deploy analyzed the type and the state of each artifact of the package and deduced whether they corresponded to those indicated in an action of the deployment method. If such was the case, then they are listed in the generated deployment plan.

    • name

      The name of the deployed artifact.

    • description

      The optional description of the deployed artifact in the deployment plan.

    • properties
      Two pairs of key and associated value are listed for each artifact to indicate the following information:
      1. The path to the artifact in the package file.
      2. The artifact type that is indicated in the deployment method.
    • hash

      The hash code that uniquely identifies the commit of the artifact to the source control management system.