Skip to content

Latest commit

 

History

History
142 lines (102 loc) · 8.45 KB

README.md

File metadata and controls

142 lines (102 loc) · 8.45 KB

Nuage Networks Metro Automation Engine (MetroÆ)

(4 minute read)

Version: 3.0.0

MetroÆ is an automation engine that deploys and upgrades Nuage Networks components. You specify the individual details of your target platform, then let MetroÆ install, upgrade, destroy, or health-check the environment for you.

Important Notes

The procedures have changed substantially in version 3.0 to improve usability. If you have used previous versions of MetroÆ, please see RELEASE_NOTES.md for details.

One of the changes to make note of is the use of the metroae command to do all MetroÆ operations, including Docker container management. To that end, there are two metroae scripts to make note of:

  1. ./metroae at the root of the repo is used for interacting directly with MetroÆ on the command line via a git workspace, e.g. clone.
  2. ./docker/metroae is used for both managing the Docker container and interacting with MetroÆ from outside of the container.

You can use either command with exactly the same syntax to launch MetroÆ workflows, e.g. ./metroae install_everything. The Docker container version comes with the additional container-management controls that are described in DOCKER.md.

Supported Components for Deployment

MetroÆ supports deployment of the following components as VMs on the target server. These are the same target server types that are supported on the VSP platform.

Component KVM (el7)
Stand-alone (SA)
KVM (el7)
Clustered (HA)
ESXi
Stand-alone (SA)
ESXi
Clustered (HA)
VSD (Virtualized Services Directory) X X X X
VSTAT (Elastic Backend for statistics) X X X X
VSC (Virtualized Services Controller) X X X X
VCIN (vCenter Integration Node) X X
VNSUTIL
(Virtualized Network Services-Utility)
X X

Supported Dataplane components (installed as package/agent):

Component KVM
(el6, el7,ubuntu 14.04/16.04)
ESXi
VRS (Virtual Routing & Switching) X (upgrade only)
Libnetwork on VRS nodes X

Required Auxiliary Services

  • DNS/NTP

Typical Nuage Topology

topology

Supported Components for Upgrade

MetroÆ supports upgrade of the following Nuage VSP components.

Component KVM (el7)
SA
KVM (el7)
HA
ESXi
SA
ESXi
HA
VSD X X X X
VSTAT X X X X
VSC X X X X
VCIN X X

Unsupported Components/Operations

The following components/operations are not supported in the beta release.

  • dns
  • gmv
  • mesos
  • nsgv bootstrap (install is supported)
  • stcv
  • vsr
  • vrs-vm
  • osc-integration
  • AWS-based VSTAT upgrade
  • upgrade of VRS through VCIN

Main Steps for Using MetroÆ

  1. Setup the MetroÆ host. Setup prepares the host for running MetroÆ, including retrieving the repository, installing prerequisite packages and setting up SSH access. You also have the option of installing MetroÆ in a container, and then working with it via CLI or the GUI.

  2. Customize your deployment to match your network topology, and describe your Nuage Networks specifics.

  3. Deploy new components, upgrade existing components, or run a health check on your system.

  4. If things did not work out as expected, destroy your environment and redeploy.

MetroÆ Workflows

MetroÆ workflows are the operations that can be performed against a specified deployment. All supported workflows can be listed via:

metroae --list

Workflows fall into the following categories:

Workflow Operation Description
Predeploy prepares infrastructure with necessary packages and makes the component(s) reachable
Deploy installs and configures component(s)
Postdeploy performs integration checks, and some basic commissioning tests
Health checks health for a running component without assuming it was deployed with MetroÆ
Destroy removes component(s) from the infrastructure
Upgrade upgrades component(s) from one release to another

The following workflows are examples that combine together several of the above operations into simple to use groups:

  • install_everything - Deploys all components specified in a deployment.
  • destroy_everything - Destroys all components specified in a deployment.
  • nuage_health - Checks the health of all components specified in a deployment.

Python-based Ansible Operations Tool

MetroÆ is based off of the Python-based Ansible operations tool.

Ansible provides a method to easily define one or more actions to be performed on one or more computers. These tasks can target the local system Ansible is running from, as well as other systems that Ansible can reach over the network. The Ansible engine has minimal installation requirements. Python, with a few additional libraries, is all that is needed for the core engine. MetroÆ includes a few custom Python modules and scripts. Agent software is not required on the hosts to be managed. Communication with target hosts defaults to SSH. Ansible does not require the use of a persistent state engine. Every Ansible run determines state as it goes, and adjusts as necessary given the action requirements. Running Ansible requires only an inventory of potential targets, state directives, either expressed as an ad hoc action, or a series coded in a YAML file, and the credentials necessary to communicate with the target.

Playbooks are the language by which Ansible orchestrates, configures, administers and deploys systems. They are YAML-formatted files that collect one or more plays. Plays are one or more tasks linked to the hosts that they are to be executed on.

Roles build on the idea of include files and combine them to form clean, reusable abstractions. Roles are ways of automatically loading certain vars files, tasks, and handlers based on a known file structure.

Nomenclature

Ansible Host: The host where MetroÆ runs. Ansible and the required packages are installed on this host. The Ansible Host must run el7 Linux host, e.g. CentOS 7.* or RHEL 7.*.

MetroÆ User: The user who runs MetroÆ to deploy and upgrade components.

Target Server: The hypervisor on which one or more VSP components are installed as VMs. Each deployment may contain more than one Target Server.

Documentation

The Documentation directory contains the following guides to assist you in successfully working with MetroÆ. The current documentation covers using MetroÆ CLI only.

File name Description
RELEASE_NOTES.md New features, resolved issues and known limitations and issues
GETTING_STARTED.md MetroÆ Quick Start Guide
SETUP.md Set up your environment by cloning the repo, installing packages and configuring access.
CUSTOMIZE.md Populate variable files for a deployment and unzip Nuage software.
DEPLOY.md Deploy all VSP components or choose components individually.
DESTROY.md Remove existing deployment(s) and start over.
UPGRADE_SA.md Upgrade component(s) from one release to the next in a standalone environment.
UPGRADE_HA.md Upgrade component(s) from one release to the next in a clustered environment.
VAULT_ENCRYPT.md Safeguard sensitive data
DOCKER.md Installing and using MetroÆ Docker container

Questions, Feedback, and Contributing

Ask questions and get support via the forums on the MetroÆ site.
You may also contact us directly.
Outside Nokia: [email protected]
Internal Nokia: [email protected]

Report bugs you find and suggest new features and enhancements via the GitHub Issues feature.

You may also contribute to MetroÆ by submitting your own code to the project.

License

Apache License 2.0