You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »


README

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

9.5 Automation

9.5.1 Infrastructure LCM Automation ( including Platform Software and CI/CD)  

End-2-End understanding of what type of automation ought to be done on what layers and includes

9.5.1.1. hardware configuration CI/CD

  • Example, BIOS settings,
  • Composability of hardware resources
  • Hardware Accelerators

9.5.1.2. networking automation

9.5.1.3. software development CI/CD – to be discussed in the RM meeting on 2020-12-09

9.5.1.4. software deployment CI/CD (operator environment) – covered in 9.5.2.2 (inserted 2020-12-07)

9.5.1.5. Identify "Closed Loop Automation" as a Gap in Ch10

9.5.2  Workload Software onboarding automation (including CI/CD). Owner: Walter Kozlowski

9.5.2.1. workload Software onboarding automation - the scope for RM is to describe support only but leave the details to RA/RI;

The Cloud Infrastructure workload onboarding process describes activities needed for the integration of tenants' workloads into the Cloud Infrastructure environment. Typically, this business process consists of the following key phases:

  1.  Tenant Engagement and Workload Evaluation:
    1.  In this phase the request from the tenant to host a workload on the Cloud Infrastructure platform is assessed and a decision made on whether to proceed with the hosting request.
    2. This phase may also involve the tenant accessing a pre-staging environment to perform their own evaluation and/or pre-staging activities in preparation for later onboarding phases.
  2. Workload Packaging:
    1.  The main outcome of this phase is to produce the workload deployable image and  the deployment manifests (such as TOSCA blueprints or HEAT templates or Helm charts) that will define the Cloud Infrastructure service attributes for the workload. 
    2. The workload packaging can be performed by the tenant, through self-service capabilities or by the Cloud Infrastructure Operations team.
  3. Workload Validation and Certification:
    1. In this phase the workload is deployed and tested to validate it against the service design and other Operator specific acceptance criteria, as required.
    2. Workload validation and certification should be automated using CI/CD toolsets / pipelines and Test as a Service (TaaS) capabilities.
  4. Publish Workload:
    1. After the workload is certified the final onboarding process phase is for it to be published to the Cloud Infrastructure  production catalogue from where it can be instantiated on the Cloud Infrastructure platform by the tenant.

All phases described above can be automated using technology specific toolsets and procedures.  Hence, details of such automation are left for the technology specific Reference Architecture and Reference Implementation specifications.


9.5.2.2. Software CI/CD Requirements

The requirements including for CI/CD for ensuring software security scans, image integrity checks, OS version checks, etc. prior to deployment, are listed in the Table XX.XX (below). Please note that the tenant processes for application LCM (such as updates) are out of scope. For the purpose of these requirements, CI includes Continuous Delivery, and CD refers to Continuous Deployment.

RefDescriptionComments/Notes
auto.cicd.00nThe CI/CD pipeline must support deployment on any cloud and cloud infrastructures including different hardware accelerators.

CI/CD pipelines automate CI/CD best practices into repeatable workflows for integrating code and configurations into builds, testing builds including validation against design and operator specific criteria, and delivery of the product onto a runtime environment.

Example of an open-source cloud native CI/CD framework is the Tekton project (https://tekton.dev/)


The CI/CD pipelines must use event-driven task automation

The CI/CD pipelines should avoid scheduling tasks

The CI/CD pipeline is triggered by a new or updated software release

The CI pipeline must support build and packaging of images and deployment manifests from source code and configuration files.

The CI pipeline must scan images and manifests to validate for compliance with security requirements. 

Refer to RM Chapter 07 (https://github.com/cntt-n/CNTT/blob/master/doc/ref_model/chapters/chapter07.md#79-consolidated-security-requirements)

Examples of such security requirements include only ingesting images, source code, configuration files, etc. only form trusted sources.


The CI pipeline must scan images and manifests to validate for compliance with design and coding best practices.

The CI pipeline must promote validated images and manifests to be deployable.Example, promote from a development repository to a production repository

The CI pipeline must validate images and manifestsExample, different tests

The CI pipeline must validate with all hardware offload permutations and without hardware offload

The CD pipeline must verify and validate the tenant requestExample, RBAC, request is within quota limits, affinity/anti-affinity,

The CD pipeline after all validations must turn over control to orchestration of the software

The CD pipeline must be able to deploy into Development, Test and Production environments

The CD pipeline must be able to automatically promote software from Development to Test and Production environments






9.5.3 Tenant creation automation

9.5.3.1. requirements for enterprise processes prior to tenant creation on the platform

9.5.3.2. tenant networking automation





  • No labels