contrail cloud deployment guide - juniper networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2...

32
Contrail Cloud Deployment Guide Release 10.0.1 Modified: 2018-08-06 Copyright © 2018, Juniper Networks, Inc.

Upload: others

Post on 22-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

Contrail Cloud Deployment Guide

Release

10.0.1

Modified: 2018-08-06

Copyright © 2018, Juniper Networks, Inc.

Page 2: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

Juniper Networks, Inc.1133 InnovationWaySunnyvale, California 94089USA408-745-2000www.juniper.net

Juniper Networks, the Juniper Networks logo, Juniper, and Junos are registered trademarks of Juniper Networks, Inc. and/or its affiliates inthe United States and other countries. All other trademarks may be property of their respective owners.

Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right to change, modify,transfer, or otherwise revise this publication without notice.

Contrail Cloud Deployment GuideRelease 10.0.1Copyright © 2018 Juniper Networks, Inc. All rights reserved.

The information in this document is current as of the date on the title page.

YEAR 2000 NOTICE

Juniper Networks hardware and software products are Year 2000 compliant. Junos OS has no known time-related limitations through theyear 2038. However, the NTP application is known to have some difficulty in the year 2036.

ENDUSER LICENSE AGREEMENT

The Juniper Networks product that is the subject of this technical documentation consists of (or is intended for use with) Juniper Networkssoftware. Use of such software is subject to the terms and conditions of the End User License Agreement (“EULA”) posted athttps://www.juniper.net/support/eula/. By downloading, installing or using such software, you agree to the terms and conditions of thatEULA.

Copyright © 2018, Juniper Networks, Inc.ii

Page 3: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

Table of Contents

Chapter 1 Contrail Cloud Deployment Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Deploying Contrail Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Prerequisites for Deploying Contrail Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Deployment Sequence for Deploying Contrail Cloud . . . . . . . . . . . . . . . . . . . . 6

Install Contrail Cloud Installer on the Contrail Cloud Manager Host . . . . . 6

Prepare the Deployment Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Provision Contrail Cloud jumphost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Adding Nodes to the Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Assign Control Host Roles to the Inventory . . . . . . . . . . . . . . . . . . . . . . . . 17

Create VMs for all Control Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Assign Compute Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Assign Storage Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Deploy the OpenStack Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Deploy the AppFormix Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Install VNF images and Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Adding New Compute and Storage Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Appendix: Sample Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Sample all.yml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Sample site.yml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Sample inventory.yml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Sample control-host-nodes.yml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Sample overcloud_nics.yml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Sample compute-nodes.yml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Sample storage-nodes.yml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Sample appformix-nodes.yml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

iiiCopyright © 2018, Juniper Networks, Inc.

Page 4: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

Copyright © 2018, Juniper Networks, Inc.iv

Contrail Cloud Deployment Guide

Page 5: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

CHAPTER 1

Contrail Cloud Deployment Guide

• Deploying Contrail Cloud on page 5

• Appendix: Sample Configuration Files on page 19

Deploying Contrail Cloud

Use the following procedure to deploy Contrail Cloud Release 10.0.1.

• Prerequisites for Deploying Contrail Cloud on page 5

• Deployment Sequence for Deploying Contrail Cloud on page 6

• Adding New Compute and Storage Nodes on page 18

Prerequisites for Deploying Contrail Cloud

Before you deploy Contrail Cloud 10.0.1, ensure that your systemmeets the following

prerequisites:

• Infrastructure Networking

• Every systemmusthaveaccess to theContrail Cloud repository satellite. The satellite

is used to distribute packages and control software versioning.

• The undercloud host must have access to the Intelligent PlatformManagement

Interface (IPMI) of every managed server.

• The undercloud host must be in the same broadcast domain as eachmanaged

server’smanagement interface toallowPXEbooting.Whenyouusemultiplenetworks

that use different switching per rack, this could be accomplished by stretching a

VLAN across the interfaces. Currently BOOTP forwarding in the network fabric is not

supported. The undercloud is the only DHCP server in this network.

Additional networks are created for control plane, tenant traffic, storage access, and

storage backend as described in Red Hat OpenStack Platform director (OSPd)

installation and usage.

• Undercloud Host Setup

Theundercloud isdeployedasavirtualmachineonaLinuxkernel-basedvirtualmachine

(KVM) host. Youmust ensure the KVM host:

5Copyright © 2018, Juniper Networks, Inc.

Page 6: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

• Runs Red Hat Enterprise Linux (RHEL) 7.4 with only base packages installed.

• Does not run other virtual machines.

• Has a network connection that can reach the Contrail Cloud Satellite and has IPMI

access to physical hardware.

• Has a network connection that can be used for provisioning other infrastructure

resources.

• Has at least 500 GB space in the /var directory to host virtual machines, packages,

and images.

• Has at least 32 GB RAM and 16 vCPUs.

• Supports a root user who has password-free sudo abilities.

• Provides password-free SSH access in loopback for the user with sudo abilities.

• Resolves Internet and satellite sites with DNS.

• Has time synchronized with an NTP source.

Deployment Sequence for Deploying Contrail Cloud

The following sections describe the Contrail Cloud deployment sequence in detail:

• Install Contrail Cloud Installer on the Contrail Cloud Manager Host on page 6

• Prepare the Deployment Templates on page 8

• Provision Contrail Cloud jumphost on page 16

• Adding Nodes to the Inventory on page 16

• Assign Control Host Roles to the Inventory on page 17

• Create VMs for all Control Roles on page 17

• Assign Compute Hosts on page 17

• Assign Storage Hosts on page 17

• Deploy the OpenStack Cluster on page 18

• Deploy the AppFormix Cluster on page 18

• Install VNF images and Templates on page 18

Install Contrail Cloud Installer on the Contrail CloudManager Host

Download the Contrail Cloud installer in the .sh format. You can then configure site

settings to use the Juniper Satellite as the repository to access packages such as Red

Hat OpenStack, Ceph Storage, Contrail Networking, and AppFormix packages to install

Contrail Cloud.

Copyright © 2018, Juniper Networks, Inc.6

Contrail Cloud Deployment Guide

Page 7: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

Complete the following steps to perform the installation:

1. Download the Contrail Cloud Installer script from the Contrail Cloud—Download

Software page and host the script on the Contrail Cloud Manager.

2. Specify the Contrail Cloud activation key by setting the environment variables as

shown in the following example:

SATELLITE=”contrail-cloud-satellite.juniper.net”SATELLITE_KEY=”ak-my-account-key”SATELLITE_ORG=”Contrail”

NOTE: You can request for Contrail Cloud activation keys by sending ane-mail to [email protected]. Youwill then receive an

e-mail containing a unique satellite activation key, satellite host, andsatellite organization information.

3. Ensure that the Contrail Cloud Installer script has the required permissions to run the

following command to install the Contrail Cloud packages:

./contrail_cloud_installer.sh \--satellite_host ${SATELLITE} \--satellite_key ${SATELLITE_KEY} \--satellite_org ${SATELLITE_ORG}

The Contrail Cloud packages are installed in the /var/lib/contrail_cloud directory.

4. Define site specific information in the Ansible variables:

• Change directory to /var/lib/contrail_cloud/config.

• Copy the sample /var/lib/contrail_cloud/samples/all.yml variables file to the

/var/lib/contrail_cloud/ansible/playbooks/inventory/group_vars/all.yml file.

• Copy the sample /var/lib/contrail_cloud/samples/*.yml variables files to the

/var/lib/contrail_cloud/config directory if they are not present.

• Customize the /var/lib/contrail_cloud/config/site.yml file with site specific settings

to reflect the environment. Ensure that the following fields are changed for each

site:

DescriptionField

Satellite hostSATELLITE_FQDN

Satellite Activation KeySATELLITE_KEY

Satellite OrganizationSATELLITE_ORG

Host IP for the Contrail Cloud jumphostccd_host_ip

Unique DNS domain name for Contrail Cloudcluster_domain

7Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 8: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

DescriptionField

NTP time sourcesntp_servers

A routable subnet to be used for external access to overcloudinfrastructure

ExternalNetCidr

Route for the External networkExternalInterfaceDefaultRoute

DHCP range startExternalAllocationPoolsStart

DHCP range endExternalAllocationPoolsEnd

VLAN ID for external networkExternalNetworkVlanID

VLAN ID for internal_api networkInternalApiNetworkVlanID

VLAN ID for tenant networkTenantNetworkVlanID

VLAN ID for storage networkStorageNetworkVlanID

VLAN ID for storagemanagement networkStorageMgmtNetworkVlanID

VLAN ID for management networkManagementNetworkVlanID

External VIPPublicVirtualFixedIPs

5. Run the Contrail Cloud Ansible provisioning:

• Verify that you can establish an SSH connection without specifying a password.

sudo ssh localhost true

• Run the following command with sudo using the root user account.

sudo /var/lib/contrail_cloud/scripts/install_contrail_cloud_manager.sh

A new user with the user name contrail is created. The default password is

c0ntrail123. Use this user name to run all subsequent operations in Contrail Cloud

from the /var/lib/contrail_cloud/scripts directory.

Prepare the Deployment Templates

• Inventory Settings

The inventory defines all the servers that are used by Contrail Cloud. The

/var/lib/contrail_cloud/config/inventory.yml file contains the description of all the

inventory. You can copy a sample inventory file from /var/lib/contrail_cloud/samples/.

Sample inventory file

inventory_nodes: - name: "csgsnc048" pm_addr: "192.0.2.58"

Copyright © 2018, Juniper Networks, Inc.8

Contrail Cloud Deployment Guide

Page 9: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

pm_type: "pxe_ipmitool" pm_user: "ADMIN" pm_password: "ADMIN" mac: - "0c:c4:7a:81:ac:de" status: "creating"

The parameter status is optional. When status is not defined or is set to creating, thenodes are imported into the ironic inventory and used for overcloud roles.When status

is set to deleting, the node is removed from the ironic inventory.

• Control Hosts Settings

The control hosts run virtual machines for all Contrail Cloud control functions. The

following are the various Contrail Cloud control VMs thatwill be created on the control

hosts:

• OpenStack Controller

• Contrail Controller

• Contrail Analytics

• Contrail Analytics Database

• AppFormix Controller

The /var/lib/contrail_cloud/config/control-host-nodes.yml file defines the server and

network properties for each control host. To ensure high availability of the control

functions, three control hosts must be defined. The control hosts reference nodes

defined in the inventory.yml file. You can copy a sample control-host-nodes.yml file

from the /var/lib/contrail_cloud/samples/ directory.

NOTE: The control host systemsmust have sufficient resources to hostthe control VMs. Ensure the following resources are available:

• 256 GB RAM

• Minimum 100 GB first disk for the operating system. The first disk is thefirst physically connected disk device.

• Minimum1TBharddisk forVMstorage(multipledisksare recommended)

• Minimum 200 GB SSD drive for VM journals

Sample control hosts file

control_host_nodes: - name: "control-host1" ip_address: "192.0.2.5" interface: eno1: bootproto: "none" device: "eno1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no"

9Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 10: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

bridge: "br-eno1" br-eno1: device: "br-eno1" bootproto: "dhcp" type: "Bridge" onboot: "yes" delay: "0" eno2: bootproto: "none" device: "eno2" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" bridge: "br-eno2" br-eno2: device: "br-eno2" bootproto: "dhcp" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" ens7f0: bootproto: "none" device: "ens7f0" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond0" slave: "yes" ens7f1: bootproto: "none" device: "ens7f1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond0" slave: "yes" bond0: bootproto: "none" device: "bond0" onboot: "yes" bridge: "br-bond0" type: "Bond" userctl: "no" nm_controlled: "no" bondingmaster: "yes" bonding_opts: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100"

br-bond0: device: "br-bond0" bootproto: "none" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" ens8f0: bootproto: "none" device: "ens8f0"

Copyright © 2018, Juniper Networks, Inc.10

Contrail Cloud Deployment Guide

Page 11: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond1" slave: "yes" ens8f1: bootproto: "none" device: "ens8f1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond1" slave: "yes" bond1: bootproto: "none" device: "bond1" onboot: "yes" bridge: "br-bond1" type: "Bond" userctl: "no" nm_controlled: "no" bondingmaster: "yes" bonding_opts: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100"

br-bond1: device: "br-bond1" bootproto: "none" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" - name: "control-host2" ip_address: "192.0.2.6" interface: eno1: bootproto: "none" device: "eno1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" bridge: "br-eno1" br-eno1: device: "br-eno1" bootproto: "dhcp" type: "Bridge" onboot: "yes" delay: "0" eno2: bootproto: "none" device: "eno2" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" bridge: "br-eno2" br-eno2: device: "br-eno2" bootproto: "dhcp"

11Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 12: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" ens7f0: bootproto: "none" device: "ens7f0" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond0" slave: "yes" ens7f1: bootproto: "none" device: "ens7f1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond0" slave: "yes" bond0: bootproto: "none" device: "bond0" onboot: "yes" bridge: "br-bond0" type: "Bond" userctl: "no" nm_controlled: "no" bondingmaster: "yes" bonding_opts: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100"

br-bond0: device: "br-bond0" bootproto: "none" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" ens8f0: bootproto: "none" device: "ens8f0" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond1" slave: "yes" ens8f1: bootproto: "none" device: "ens8f1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond1" slave: "yes" bond1: bootproto: "none" device: "bond1"

Copyright © 2018, Juniper Networks, Inc.12

Contrail Cloud Deployment Guide

Page 13: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

onboot: "yes" bridge: "br-bond1" type: "Bond" userctl: "no" nm_controlled: "no" bondingmaster: "yes" bonding_opts: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100"

br-bond1: device: "br-bond1" bootproto: "none" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" - name: "control-host3" ip_address: "192.0.2.7" interface: eno1: bootproto: "none" device: "eno1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" bridge: "br-eno1" br-eno1: device: "br-eno1" bootproto: "dhcp" type: "Bridge" onboot: "yes" delay: "0" eno2: bootproto: "none" device: "eno2" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" bridge: "br-eno2" br-eno2: device: "br-eno2" bootproto: "dhcp" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" ens7f0: bootproto: "none" device: "ens7f0" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond0" slave: "yes" ens7f1: bootproto: "none" device: "ens7f1" onboot: "yes" type: "Ethernet"

13Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 14: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

userctl: "no" nm_controlled: "no" master: "bond0" slave: "yes" bond0: bootproto: "none" device: "bond0" onboot: "yes" bridge: "br-bond0" type: "Bond" userctl: "no" nm_controlled: "no" bondingmaster: "yes" bonding_opts: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100"

br-bond0: device: "br-bond0" bootproto: "none" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" ens8f0: bootproto: "none" device: "ens8f0" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond1" slave: "yes" ens8f1: bootproto: "none" device: "ens8f1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond1" slave: "yes" bond1: bootproto: "none" device: "bond1" onboot: "yes" bridge: "br-bond1" type: "Bond" userctl: "no" nm_controlled: "no" bondingmaster: "yes" bonding_opts: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100"

br-bond1: device: "br-bond1" bootproto: "none" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0"

• Storage Node Settings

Copyright © 2018, Juniper Networks, Inc.14

Contrail Cloud Deployment Guide

Page 15: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

The /var/lib/contrail_cloud/config/storage-nodes.yml file defines the storage nodes

that run Ceph storage services. You need to define aminimum of three storage hosts

to ensure high availability of the storage functions. Nodes must also be defined in the

inventory.yml file. You can copy a sample storage-nodes.yml file from

/var/lib/contrail_cloud/samples/.

Sample storage node file

storage_nodes: - name: storage1 - name: storage2 - name: storage3

• Compute Node Settings

The compute nodes are used for Nova compute resources. The

/var/lib/contrail_cloud/config/compute-nodes.yml file defines the compute resources.

Nodes must also be defined in the inventory.yml file.

Sample compute nodes file

compute_nodes_dpdk: - name: compute_dpdk1compute_nodes_kernel: - name: compute1

• AppFormix Hosts Settings

AppFormix hosts are used for AppFormix controllers.

The /var/lib/contrail_cloud/config/appformix-nodes.yml file defines the AppFormix

controller resources.

Sample appformix-hosts file

appformix_nodes: - name: appformix-controller-192.0.2.5 ip_address: "192.0.2.10" interface: eth0: device: "eth0" onboot: "yes" nm_controlled: "no" bootproto: "dhcp" eth1: device: "eth1" onboot: "yes" nm_controlled: "no" bootproto: "static" type: "Ethernet" ipaddr: "10.87.1.131" gateway: "10.87.1.254" netmask: "255.255.255.128" eth2: device: "eth2" onboot: "no" nm_controlled: "no" bootproto: "none"

15Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 16: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

Provision Contrail Cloud jumphost

The following example describes jumphost disk partitioning:

[contrail@csgsnc049 ~]$ sudo vgscanReading volume groups from cache.Found volume group "csgsnc049-vg00" using metadata type lvm2

[contrail@csgsnc049 ~]$ sudo lvscanACTIVE '/dev/csgsnc049-vg00/lv_home' [46.52 GiB] inheritACTIVE '/dev/csgsnc049-vg00/lv_tmp' [93.05 GiB] inheritACTIVE '/dev/csgsnc049-vg00/lv_root' [<744.41 GiB] inherit

[contrail@csgsnc049 ~]$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 931.5G 0 disk  sda1 8:1 0 1G 0 part /boot  sda2 8:2 0 930.5G 0 part  csgsnc049--vg00-lv_root 253:0 0 744.4G 0 lvm /  csgsnc049--vg00-lv_home 253:1 0 46.5G 0 lvm /home  csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmpsdb 8:16 0 931.5G 0 disk  sdb1 8:17 0 1.9G 0 part    md0 9:0 0 1.9G 0 raid1  sdb2 8:18 0 115.5G 0 part    md1 9:1 0 115.4G 0 raid1  sdb3 8:19 0 45.8G 0 part    md3 9:3 0 45.8G 0 raid1  sdb4 8:20 0 1K 0 part  sdb5 8:21 0 57.2G 0 part    md2 9:2 0 57.2G 0 raid1  sdb6 8:22 0 711.2G 0 part  md4 9:4 0 711G 0 raid1sdc 8:32 0 931.5G 0 disksdd 8:48 0 931.5G 0 disksde 8:64 0 931.5G 0 disksdf 8:80 0 223.6G 0 disk  sdf1 8:81 0 4G 0 part [SWAP]

[contrail@csgsnc049 ~]$[contrail@csgsnc049 ~]$ df -khFilesystem Size Used Avail Use% Mounted on/dev/mapper/csgsnc049--vg00-lv_root 733G 74G 623G 11% /devtmpfs 63G 0 63G 0% /devtmpfs 63G 0 63G 0% /dev/shmtmpfs 63G 18M 63G 1% /runtmpfs 63G 0 63G 0% /sys/fs/cgroup/dev/sda1 976M 114M 795M 13% /boot/dev/mapper/csgsnc049--vg00-lv_tmp 92G 69M 87G 1% /tmp/dev/mapper/csgsnc049--vg00-lv_home 46G 1.7G 42G 4% /hometmpfs 13G 0 13G 0% /run/user/0tmpfs 13G 0 13G 0% /run/user/1003

Adding Nodes to the Inventory

The /var/lib/contrail_cloud/scripts/inventory-assign.sh script adds all nodes defined in

the /var/lib/contrail_cloud/config/inventory.yml file to the ironic inventory. The nodes

added to the ironic inventory are managed by Contrail Cloud.

Copyright © 2018, Juniper Networks, Inc.16

Contrail Cloud Deployment Guide

Page 17: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

To add nodes to the ironic inventory:

1. Log in to theContrail Cloudhostwith theusernamecontrailandpasswordc0ntrail123.

2. Run the inventory-assign.sh script.

/var/lib/contrail_cloud/scripts/inventory-assign.sh

Assign Control Host Roles to the Inventory

The control-hosts-deploy.sh script assigns all nodes defined in the

/var/lib/contrail_cloud/config/control-host-nodes.yml file as control hosts. The hosts

are then imaged and booted.

To assign control host roles to the inventory:

1. Log in to theContrail Cloudhostwith theusernamecontrailandpasswordc0ntrail123.

2. Run the control-hosts-deploy.sh script.

/var/lib/contrail_cloud/scripts/control-hosts-deploy.sh

Create VMs for all Control Roles

The control-vms-deploy.sh script createsVMs for everyovercloudcontrol roleand imports

the VM details into the ironic inventory.

To create VMs for control roles:

1. Log in to theContrail Cloudhostwith theusernamecontrailandpasswordc0ntrail123.

2. Run the control-vms-deploy.sh script.

/var/lib/contrail_cloud/scripts/control-vms-deploy.sh

Assign Compute Hosts

The compute-nodes-assign.sh script assigns theNova compute role for all nodes defined

in the /var/lib/contrail_cloud/config/compute-nodes.yml file.

To assign compute hosts:

1. Log in to theContrail Cloudhostwith theusernamecontrailandpasswordc0ntrail123.

2. Run the compute-nodes-assign.sh script.

/var/lib/contrail_cloud/scripts/compute-nodes-assign.sh

Assign Storage Hosts

The storage-nodes-assign.sh script assigns the Ceph storage role for all nodes defined

in the ~contrail/storage-nodes.yml file.

17Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 18: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

To assign storage hosts:

1. Log in to theContrail Cloudhostwith theusernamecontrailandpasswordc0ntrail123.

2. Run the storage-nodes-assign.sh script.

/var/lib/contrail_cloud/scripts/storage-nodes-assign.sh

Deploy the OpenStack Cluster

Theopenstack-deploy.shscriptdeploys theOpenStackovercloudwithall control functions

andall computeand storage resources that havebeendefined in thepreviousplaybooks.

To deploy the OpenStack cluster:

1. Log in to theContrail Cloudhostwith theusernamecontrailandpasswordc0ntrail123.

2. Run the openstack-deploy.sh script.

/var/lib/contrail_cloud/scripts/openstack-deploy.sh

Deploy the AppFormix Cluster

The appformix-deploy.sh script deploys the AppFormix controllers based on the servers

defined in the appformix-nodes.yml file.

Copy the AppFormix license file to /var/lib/contrail_cloud/appformix/appformix.sig.

To deploy the AppFormix cluster:

1. Log in to theContrail Cloudhostwith theusernamecontrailandpasswordc0ntrail123.

2. 2. Run the appformix-deploy.sh script.

/var/lib/contrail_cloud/scripts/appformix-deploy.sh

Install VNF images and Templates

You can use Horizon or OpenStack command line clients to install Glance images and

Heat templates for the VNF services.

Adding NewCompute and Storage Nodes

To add new compute and storage nodes:

1. Update the inventory.yml file.

2. Run the inventory-assign.sh script.

3. Updatecompute-nodes.ymlwith thenewnodes, and run thecompute-nodes-assign.sh

script.

Copyright © 2018, Juniper Networks, Inc.18

Contrail Cloud Deployment Guide

Page 19: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

4. Update storage-nodes.ymlwith the new nodes, and run the storage-nodes-assign.sh

script.

5. Finally, rerun the openstack-deploy.sh script.

RelatedDocumentation

Appendix: Sample Configuration Files on page 19•

Appendix: Sample Configuration Files

This appendix includes the following sample files:

• Sample all.yml on page 19

• Sample site.yml on page 19

• Sample inventory.yml on page 21

• Sample control-host-nodes.yml on page 22

• Sample overcloud_nics.yml on page 27

• Sample compute-nodes.yml on page 29

• Sample storage-nodes.yml on page 30

• Sample appformix-nodes.yml on page 30

Sample all.yml

#################################################### Ansible specific vars# ansible connection detailsansible_connection: sshhost_key_checking: falsedeprecation_warnings: false###################################################

Sample site.yml

#################################################### Jumphost

ccd_user_password: dt4HDJI/4VAtYprovision_nic_name: "eno2"

#################################################### Undercloud

ccd_ospd_vm_root_password: contrail123ccd_ospd_vm_user_password: contrail123

undercloud_dhcp_start: 192.0.2.50undercloud_dhcp_end: 192.0.2.200undercloud_inspection_ip_range: 192.0.2.201,192.0.2.250

#################################################### Control Hosts

19Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 20: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

# VM networks# ORDER MATTERS!vm_networks: - br-eno1 - br-eno2 - br-bond0 - br-bond1vm_mgmt_network: br-eno1bonding_options: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100"

#################################################### Compute Hosts

dpdk_node_properties: - "cpu_hugepages:true" - "cpu_txt:true" - "boot_option:local" - "cpu_aes:true" - "cpu_vt:true" - "cpu_hugepages_1g:true"BondInterfaceMembers: "ens7f0,ens7f1"

#################################################### Storage Hosts

ceph_disks: ['/dev/sdb','/dev/sdc','/dev/sdd','/dev/sde']

#################################################### Overcloud

PublicVirtualInterface: "eth1"

#based on contrail-net-bond-vlan.yamlExternalNetCidr: "10.87.1.128/25"ExternalInterfaceDefaultRoute: "10.87.1.254"ExternalAllocationPoolsStart: "10.87.1.148"ExternalAllocationPoolsEnd: "10.87.1.253"ExternalNetworkMtu: "1500"

# based on contrail-nic-config-compute-bond-vlan.yamlExternalNetworkVlanID: "10"InternalApiNetworkVlanID: "20"TenantNetworkVlanID: "50"StorageNetworkVlanID: "3002"StorageMgmtNetworkVlanID: "3003"ManagementNetworkVlanID: "3001"

# based on ips-from-pool-all.yamlPublicVirtualFixedIPs: [ '10.87.1.130' ]PublicVirtualInterface: "eth1"

# Ceph cephCluster_fsid: "4b5c8c0a-ff60-454b-a1b4-9747aa737d19"cephMonKey: "AQC+Ox1VmEr3BxAALZejqeHj50Nj6wJDvs96OQ=="cephAdminKey: "AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ=="cephClientKey: "AQC+vYNXgDAgAhAAc8UoYt+OTz5uhV7ItLdwUw=="

#################################################### Appformix

appformix_vip: "10.87.1.215"

Copyright © 2018, Juniper Networks, Inc.20

Contrail Cloud Deployment Guide

Page 21: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

##################################################### Common Properties

dns_nameservers: - '8.8.8.8' - '209.244.0.3'ntp_servers: - '0.pool.ntp.org' - '1.pool.ntp.org' - '2.pool.ntp.org' - '3.pool.ntp.org'

timezone: 'America/Los_Angeles'# Contrail Cloud Package SatelliteSATELLITE_FQDN: contrail-cloud-satellite.juniper.netSATELLITE_KEY: ak-my-cloud-nameSATELLITE_ORG: Contrail

cluster_domain: "contrail-cloud.my-cloud-name.com"primary_domain_name: '{{ cluster_domain }}'cloud_domain_name: '{{ cluster_domain }}'

overcloud_image_user: "overcloud"overcloud_image_password: "c0ntrail123"

baremetal_image_user: "baremetal"baremetal_image_password: "c0ntrail123"

# disk size for undercloud and overcloud vms in GBytesvm_disk_size: "100"

Sample inventory.yml

inventory_nodes: - name: "control-host1" pm_addr: "10.84.129.58" pm_type: "pxe_ipmitool" pm_user: "ADMIN" pm_password: "ADMIN" mac: - "0c:c4:7a:81:ac:de" status: "creating" - name: "control-host2" pm_addr: "10.84.129.59" pm_type: "pxe_ipmitool" pm_user: "ADMIN" pm_password: "ADMIN" mac: - "0c:c4:7a:81:ad:12" status: "creating" - name: "control-host3" pm_addr: "10.84.129.60" pm_type: "pxe_ipmitool" pm_user: "ADMIN" pm_password: "ADMIN" mac: - "0c:c4:7a:81:a4:d6" status: "creating"

21Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 22: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

- name: "storage1" pm_addr: "10.84.129.61" pm_type: "pxe_ipmitool" pm_user: "ADMIN" pm_password: "ADMIN" mac: - "0c:c4:7a:81:aa:e0" status: "creating" - name: "storage2" pm_addr: "10.84.129.62" pm_type: "pxe_ipmitool" pm_user: "ADMIN" pm_password: "ADMIN" mac: - "0c:c4:7a:81:aa:e2" status: "creating" - name: "storage3" pm_addr: "10.84.129.63" pm_type: "pxe_ipmitool" pm_user: "ADMIN" pm_password: "ADMIN" mac: - "0c:c4:7a:81:aa:e4" status: "creating" - name: "compute_dpdk1" pm_addr: "10.84.129.64" pm_type: "pxe_ipmitool" pm_user: "ADMIN" pm_password: "ADMIN" mac: - "0c:c4:7a:81:a5:54" status: "creating" - name: "compute1" pm_addr: "10.84.129.65" pm_type: "pxe_ipmitool" pm_user: "ADMIN" pm_password: "ADMIN" mac: - "0c:c4:7a:81:a7:51" status: "creating"

Sample control-host-nodes.yml

control_host_nodes: - name: "control-host1" ip_address: "192.0.2.5" interface: eno1: bootproto: "none" device: "eno1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" bridge: "br-eno1" br-eno1: device: "br-eno1" bootproto: "dhcp" type: "Bridge" onboot: "yes"

Copyright © 2018, Juniper Networks, Inc.22

Contrail Cloud Deployment Guide

Page 23: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

delay: "0" eno2: bootproto: "none" device: "eno2" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" bridge: "br-eno2" br-eno2: device: "br-eno2" bootproto: "dhcp" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" ens7f0: bootproto: "none" device: "ens7f0" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond0" slave: "yes" ens7f1: bootproto: "none" device: "ens7f1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond0" slave: "yes" bond0: bootproto: "none" device: "bond0" onboot: "yes" bridge: "br-bond0" type: "Bond" userctl: "no" nm_controlled: "no" bondingmaster: "yes" bonding_opts: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100" br-bond0: device: "br-bond0" bootproto: "none" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" ens8f0: bootproto: "none" device: "ens8f0" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond1" slave: "yes" ens8f1:

23Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 24: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

bootproto: "none" device: "ens8f1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond1" slave: "yes" bond1: bootproto: "none" device: "bond1" onboot: "yes" bridge: "br-bond1" type: "Bond" userctl: "no" nm_controlled: "no" bondingmaster: "yes" bonding_opts: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100" br-bond1: device: "br-bond1" bootproto: "none" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" - name: "control-host2" ip_address: "192.0.2.6" interface: eno1: bootproto: "none" device: "eno1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" bridge: "br-eno1" br-eno1: device: "br-eno1" bootproto: "dhcp" type: "Bridge" onboot: "yes" delay: "0" eno2: bootproto: "none" device: "eno2" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" bridge: "br-eno2" br-eno2: device: "br-eno2" bootproto: "dhcp" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" ens7f0: bootproto: "none" device: "ens7f0" onboot: "yes"

Copyright © 2018, Juniper Networks, Inc.24

Contrail Cloud Deployment Guide

Page 25: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond0" slave: "yes" ens7f1: bootproto: "none" device: "ens7f1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond0" slave: "yes" bond0: bootproto: "none" device: "bond0" onboot: "yes" bridge: "br-bond0" type: "Bond" userctl: "no" nm_controlled: "no" bondingmaster: "yes" bonding_opts: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100" br-bond0: device: "br-bond0" bootproto: "none" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" ens8f0: bootproto: "none" device: "ens8f0" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond1" slave: "yes" ens8f1: bootproto: "none" device: "ens8f1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond1" slave: "yes" bond1: bootproto: "none" device: "bond1" onboot: "yes" bridge: "br-bond1" type: "Bond" userctl: "no" nm_controlled: "no" bondingmaster: "yes" bonding_opts: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100" br-bond1: device: "br-bond1"

25Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 26: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

bootproto: "none" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" - name: "control-host3" ip_address: "192.0.2.7" interface: eno1: bootproto: "none" device: "eno1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" bridge: "br-eno1" br-eno1: device: "br-eno1" bootproto: "dhcp" type: "Bridge" onboot: "yes" delay: "0" eno2: bootproto: "none" device: "eno2" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" bridge: "br-eno2" br-eno2: device: "br-eno2" bootproto: "dhcp" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" ens7f0: bootproto: "none" device: "ens7f0" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond0" slave: "yes" ens7f1: bootproto: "none" device: "ens7f1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond0" slave: "yes" bond0: bootproto: "none" device: "bond0" onboot: "yes" bridge: "br-bond0" type: "Bond"

Copyright © 2018, Juniper Networks, Inc.26

Contrail Cloud Deployment Guide

Page 27: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

userctl: "no" nm_controlled: "no" bondingmaster: "yes" bonding_opts: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100" br-bond0: device: "br-bond0" bootproto: "none" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0" ens8f0: bootproto: "none" device: "ens8f0" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond1" slave: "yes" ens8f1: bootproto: "none" device: "ens8f1" onboot: "yes" type: "Ethernet" userctl: "no" nm_controlled: "no" master: "bond1" slave: "yes" bond1: bootproto: "none" device: "bond1" onboot: "yes" bridge: "br-bond1" type: "Bond" userctl: "no" nm_controlled: "no" bondingmaster: "yes" bonding_opts: "mode=802.3ad lacp_rate=fast updelay=1000 miimon=100" br-bond1: device: "br-bond1" bootproto: "none" type: "Bridge" onboot: "yes" nm_controlled: "no" delay: "0"

Sample overcloud_nics.yml

# Host Nic Layouts

controller_nic_layout:- nic1: Network: ControlPlane Routes: - ip_netmask: 169.254.169.254/32 next_hop: EC2MetadataIp DnsServer: true- vlan501: Network: Management

27Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 28: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

VlanParent: nic1- nic2: Network: External Routes: - default: true next_hop: ExternalInterfaceDefaultRoute- nic3: Network: InternalApi- nic4: Network: None- vlan502: Network: Storage VlanParent: nic4- vlan503: Network: StorageMgmt VlanParent: nic4

compute_nic_layout:- nic1: Network: ControlPlane Routes: - ip_netmask: 169.254.169.254/32 next_hop: EC2MetadataIp - default: true next_hop: ControlPlaneDefaultRoute DnsServer: true- vlan501: Network: Management VlanParent: nic1- nic2: Network: None- bond0: Network: None BondingOptions: "{{ bonding_options }}" Members: - name: ens7f0 primary: true - name: ens7f1- vhost0: Network: InternalApi- bond1: Network: None BondingOptions: "{{ bonding_options }}" Members: - name: ens8f0 primary: true - name: ens8f1- vlan502: Network: Storage VlanParent: bond1

compute_dpdk_nic_layout:- nic1: Network: ControlPlane Routes: - ip_netmask: 169.254.169.254/32 next_hop: EC2MetadataIp - default: true next_hop: ControlPlaneDefaultRoute DnsServer: true- vlan501:

Copyright © 2018, Juniper Networks, Inc.28

Contrail Cloud Deployment Guide

Page 29: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

Network: Management VlanParent: nic1- nic2: Network: None- bond0: Network: None BondingOptions: "{{ bonding_options }}"- vhost0: Network: InternalApi- bond1: Network: None BondingOptions: "{{ bonding_options }}" Members: - name: ens8f0 primary: true - name: ens8f1- vlan502: Network: Storage VlanParent: bond1

storage_nic_layout:- nic1: Network: ControlPlane Routes: - ip_netmask: 169.254.169.254/32 next_hop: EC2MetadataIp - default: true next_hop: ControlPlaneDefaultRoute DnsServer: true- vlan501: Network: Management VlanParent: nic1- nic2: Network: None- bond0: Network: None BondingOptions: "{{ bonding_options }}" Members: - name: ens7f0 primary: true - name: ens7f1- vlan503: Network: StorageMgmt VlanParent: bond1- bond1: Network: None BondingOptions: "{{ bonding_options }}" Members: - name: ens8f0 primary: true - name: ens8f1- vlan502: Network: Storage VlanParent: bond1

Sample compute-nodes.yml

compute_nodes_dpdk: - name: compute_dpdk1

29Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 30: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

compute_nodes_kernel: - name: compute1

Sample storage-nodes.yml

storage_nodes: - name: storage1 - name: storage2 - name: storage3

Sample appformix-nodes.yml

appformix_nodes: - name: appformix-controller-192.0.2.5 ip_address: "192.0.2.10" interface: eth0: device: "eth0" onboot: "yes" nm_controlled: "no" bootproto: "dhcp" eth1: device: "eth1" onboot: "yes" nm_controlled: "no" bootproto: "static" type: "Ethernet" ipaddr: "10.87.1.131" gateway: "10.87.1.254" netmask: "255.255.255.128" eth2: device: "eth2" onboot: "no" nm_controlled: "no" bootproto: "none" - name: appformix-controller-192.0.2.6 ip_address: "192.0.2.11" interface: eth0: device: "eth0" onboot: "yes" nm_controlled: "no" bootproto: "dhcp" eth1: device: "eth1" onboot: "yes" nm_controlled: "no" bootproto: "static" type: "Ethernet" ipaddr: "10.87.1.132" gateway: "10.87.1.254" netmask: "255.255.255.128" eth2: device: "eth2" onboot: "no" nm_controlled: "no" bootproto: "none" - name: appformix-controller-192.0.2.7 ip_address: "192.0.2.12"

Copyright © 2018, Juniper Networks, Inc.30

Contrail Cloud Deployment Guide

Page 31: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

interface: eth0: device: "eth0" onboot: "yes" nm_controlled: "no" bootproto: "dhcp" eth1: device: "eth1" onboot: "yes" nm_controlled: "no" bootproto: "static" type: "Ethernet" ipaddr: "10.87.1.133" gateway: "10.87.1.254" netmask: "255.255.255.128" eth2: device: "eth2" onboot: "no" nm_controlled: "no" bootproto: "none"

RelatedDocumentation

• Deploying Contrail Cloud on page 5

31Copyright © 2018, Juniper Networks, Inc.

Chapter 1: Contrail Cloud Deployment Guide

Page 32: Contrail Cloud Deployment Guide - Juniper Networks · 2018. 8. 13. · csgsnc049--vg00-lv_tmp 253:2 0 93.1G 0 lvm /tmp sdb 8:16 0 931.5G 0 disk sdb1 8:17 0 1.9G 0 part md0 9:0 0 1.9G

Copyright © 2018, Juniper Networks, Inc.32

Contrail Cloud Deployment Guide