Anuket Project

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

Compare with Current View Page History

« Previous Version 37 Next »

Overview

The goal of this document is that everyone is able to deploy an NFVi with Airship Installer in a hardware infrastructure after reading the guides and instructions in this document.

This document includes the following content:

  • Introduction to upstream tool set that are used by Airship Installer, e.g. Airship Project, OpenStack Helm, Treasuremap etc.
  • Instruction on how to prepare site manifest in declarative YAML, including hardware profile and software stack according to the hardware infrastructure and software component model specified in NFVi reference model and reference architecture.
  • Instructions on how to customize the settings in site manifest.
  • Instruction on how to run deployment script.
  • Instruction on how to set up CI/CD pipeline for automating deployment and testing.

Because Intel Pod 17 is used to deploy reference NFVi, the examples in this document are based on the hardware profile of Intel Pod-17. Instructions are either referenced (to upstream document) or provided (in this docum,ent) so that reader is able to modify the settings of hardware profile and/or software stack accordingly.

Airship

Airship is a collection of loosely coupled but interoperable open source tools that declaratively automate cloud provisioning.

Airship is a robust delivery mechanism for organizations who want to embrace containers as the new unit of infrastructure delivery at scale. Starting from raw bare metal infrastructure, Airship manages the full lifecycle of data center infrastructure to deliver a production-grade Kubernetes cluster with Helm deployed artifacts, including OpenStack-Helm. Airship allows operators to manage their infrastructure deployments and lifecycle through the declarative YAML documents that describe an Airship environment.

See more at https://www.airshipit.org/ .

OpenStack Helm

OpenStack-Helm is a set of Helm charts to enable deployment, maintenance, and upgrading of loosely coupled OpenStack services and their dependencies individually or as part of complex environments.

See more at https://wiki.openstack.org/wiki/Openstack-helm/ .

Treasuremap

Treasuremap is a documentation, deployment reference as well as CI/CD project for Airship.

Airship site deployments are using the treasuremap repository as a global manifest set (YAML configuration documents) that then are overridden with site specific configuration (networking details, disk layout, etc).

See more at https://airship-treasuremap.readthedocs.io/ .

Manifests

Airship is a declarative way of automating the deployment of a site and therefor all the deployment details are defined in a the configuration files/manifests.

All the manifests are divided in three layers  - global, type and site. They are hierarchical and meant as overrides from one layer to another. This means that global is baseline for all sites, type is a subset of common overrides for a number of sites with common configuration patters (e.g. similar hardware, or need of enabled features), and finally the site is the last layer of site specific overrides and configuration (such as specific IP addresses, hostnames, etc). See Deckhand documentation for more details on layering.

The global and type manifests can be used as is, unless any major differences from a reference deployment are required. In the later case, this may introduce a new type, or even contributions to the global manifests.

The site manifests are specific for each site and are required to be customized for each new deployment. The specific documentation how to customize these documents are described at

Global

Global manifests contain base configuration including version to all the Helm charts and Docker images specified in versions.yaml.

Type

The type cntt will eventually support specifications published by the CNTT community, see CNTT type.

Site

The site documents reside under site folder. While there already are, and will be more sites published in future, the intel-pod17 shall be considered as Airship OPNFV reference site, see more at POD17 manifests.

The site-definition.yaml ties together site with the specific type and global manifests.

  data:
site_type: cntt

repositories:
global:
revision: v1.4
url: https://opendev.org/airship/treasuremap.git

Deployment

As Airship is tooling to declaratively automate site deployment, the automation from the installer side is light, see deploy.sh.

Export set of environment variables that correspond to the new site (keystone URL, node IPs, etc), see beginning of the script to cover all required variables.

Once the prerequisites that are described in the Airship deployment guide (e.g. setting up Genesis node), and the manifests are created, you are ready to execute deploy.sh that supports Shipyard actions: deploy_site and update_site.

  $ tools/deploy.sh
Usage: deploy.sh <deploy_site|update_site>

CI/CD

TODO: Describe pipelines and approach

https://build.opnfv.org/ci/view/airship/


OpenStack

Describe how to setup OpenStack CLI

  • No labels