blob: 06827e49cfe8c5272d94d36003f13ba74ce3e259 [file] [log] [blame]
Zack Williams1b96a952017-07-17 16:48:01 -07001---
Matteo Scandolo60b640f2017-08-08 13:05:22 -07002# Copyright 2017-present Open Networking Foundation
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
Zack Williams58e41572017-09-29 07:57:14 -070016# physical-example Pod Config
17# Example configuration for a physical CORD pod
Zack Williamsce63eb02017-02-28 10:46:22 -070018
Zack Williams58e41572017-09-29 07:57:14 -070019# The name of the scenario to use, found in the scenarios directory
20# `cord` is the standard CORD POD with XOS, ONOS, MaaS and OpenStack
Zack Williamsce63eb02017-02-28 10:46:22 -070021cord_scenario: cord
Zack Williams58e41572017-09-29 07:57:14 -070022
Andy Bavier3316e602017-12-20 19:36:00 -070023# The name of the profile to use. A use case (e.g., M-CORD) can have
24# multiple profiles. Here, specify the name of the profile file without
25# the .yml extension.
26# Example values: `rcord`, `ecord`, `mcord-cavium`, `opencloud`
Zack Williams58e41572017-09-29 07:57:14 -070027cord_profile: <must_be_set>
Zack Williamsce63eb02017-02-28 10:46:22 -070028
Zack Williams1b96a952017-07-17 16:48:01 -070029# Bring up the corddev VM. This is the `build` node as specified in ansible
30# inventory below.
31vagrant_vms:
32 - 'corddev'
33
Zack Williams144027f2017-09-25 18:01:47 -070034# NOTE: Many of these items are described in more detail in the Build System
35# Variable Glossary: https://guide.opencord.org/build_glossary.html
36
Zack Williams1b96a952017-07-17 16:48:01 -070037# Location of the cord_profile directory to be mounted in the `corddev` VM by
38# Vagrant.
39#
40# host_cord_profile_dir: "/path_to/cord_profile"
41
42# Set these directory paths if the defaults aren't suitable, or if deploying
43# multiple pods from the same source tree where the credentials, keys, and
Zack Williams144027f2017-09-25 18:01:47 -070044# profile should differ. These are paths on the config node.
Zack Williams1b96a952017-07-17 16:48:01 -070045#
46# credentials_dir: '/path_to/credentials'
47# pki_dir: '/path_to/pki'
48# ssh_pki_dir: '/path_to/ssh_pki'
49
Zack Williams144027f2017-09-25 18:01:47 -070050# Variables. Default values are specified here
Zack Williamsce63eb02017-02-28 10:46:22 -070051
Zack Williams144027f2017-09-25 18:01:47 -070052# IP address used for the ONOS fabric interface on the head node
53#
54# fabric_ip: '10.6.1.0/24'
Zack Williams1b96a952017-07-17 16:48:01 -070055
Zack Williams144027f2017-09-25 18:01:47 -070056# Low and high addresses to assign to on the fabric
57#
58# fabric_range_low: '10.6.1.2'
59# fabric_range_high: '10.6.1.100'
60
61# IP and range of the management network, which MaaS serves DHCP.
62#
63# management_ip: '10.6.0.0/24'
64# management_network: '10.6.0.0/24'
65
66# Low and high addresses to assign to on the management network
67#
68# management_range_low: '10.6.0.2'
69# management_range_high: '10.6.0.127'
Zack Williams1b96a952017-07-17 16:48:01 -070070
71# name or IP of the POD head node, used to SSH to the head node. You can also
72# specify the head node user here in user@hostname format. This could also be
73# `cord@headnode.site1.opencord.org` as specified later in inventory, if
74# external DNS is set up.
75headnode: 'cord@10.80.1.200'
76
Zack Williams144027f2017-09-25 18:01:47 -070077# External interface device name on head node
78external_iface: 'eth2'
79
80# External interface ip/range on head node
81external_ip: '10.80.1.200/24'
82
83# Gateway IP address
84external_gw: '10.80.1.1'
85
86# address and port of docker registry (on the head node)
Zack Williams1b96a952017-07-17 16:48:01 -070087deploy_docker_registry: "10.80.1.200:5000"
88
Zack Williams144027f2017-09-25 18:01:47 -070089# Additional network config documentation can be found here:
90# https://guide.opencord.org/appendix_network_settings.html
Zack Williams1b96a952017-07-17 16:48:01 -070091
Zack Williams144027f2017-09-25 18:01:47 -070092# Additional makefile targets
Zack Williams1b96a952017-07-17 16:48:01 -070093
Zack Williams144027f2017-09-25 18:01:47 -070094# key-based SSH auth is required for some portions of the build, specifically
95# the 'synchronize' task. Enable this to generate a SSH key on the config node
96# and have the head node trust it.
97# copy_cord_prereqs:
98# - 'config-ssh-key'
99
100# skipTags is used in MaaS options allow various part of the deployment to be skipped
101#
102# switch_support - does not deploy switch boot images to the PXE server
103#
104# reboot - will not reboot the head node after updating its network configuration
105# this may mean the network configuration will not take effect, but will
106# also prevent you from being locked out of the server if there is a
107# network configuration error.
108#
109# interface_config - will not modify the network configuration of the head node,
110# including the consistent naming of the network interfaces
Zack Williams1b96a952017-07-17 16:48:01 -0700111skipTags:
Zack Williams144027f2017-09-25 18:01:47 -0700112# - 'switch_support'
113# - 'reboot'
114# - 'interface_config'
Zack Williamsce63eb02017-02-28 10:46:22 -0700115
116# Inventory for ansible, used to generate inventory.ini
Zack Williams58e41572017-09-29 07:57:14 -0700117#
118# A physical podconfig must contain this, and will minimally set the head node
119# address in the `head` section..
120#
Zack Williams144027f2017-09-25 18:01:47 -0700121# There must be config, build, head, and compute sections
Zack Williamsce63eb02017-02-28 10:46:22 -0700122inventory_groups:
123
124 config:
125 localhost:
126 ansible_connection: local
127
128 build:
Zack Williams1b96a952017-07-17 16:48:01 -0700129 corddev:
Zack Williamsce63eb02017-02-28 10:46:22 -0700130
131 head:
132 headnode.site1.opencord.org:
Zack Williams144027f2017-09-25 18:01:47 -0700133# If you do not have DNS set up that will resolve the headnode address, you can
134# specify the IP address here.
135#
136# ansible_host: 10.80.1.200
137#
138# Set these if you don't have SSH keys set up between the config node (where
139# make runs) and the head node. Also, make sure to enable the 'config-ssh-key'
140# further up in the file to create these.
141#
142# ansible_user: cord
143# ansible_ssh_pass: cordpass
Zack Williamsce63eb02017-02-28 10:46:22 -0700144
145 compute:
146