blob: 2ff1283d1585e6534569156f2b82ea8da5b6baf2 [file] [log] [blame]
Zack Williams6e87cbc2017-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 Williams0aaee3c2017-10-09 15:33:22 -070016# physical-example Pod Config
17# Example configuration for a physical CORD pod
Zack Williamsce63eb02017-02-28 10:46:22 -070018
Zack Williams0aaee3c2017-10-09 15:33:22 -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 Williams0aaee3c2017-10-09 15:33:22 -070022
23# The name of the profile to use, found in the
24# platform-install/profile_manifests directory
25# Example values: `rcord`, `ecord`, `mcord`, `opencloud`
26cord_profile: <must_be_set>
Zack Williamsce63eb02017-02-28 10:46:22 -070027
Zack Williams6e87cbc2017-07-17 16:48:01 -070028# Bring up the corddev VM. This is the `build` node as specified in ansible
29# inventory below.
30vagrant_vms:
31 - 'corddev'
32
Zack Williams5875fc42017-09-25 18:01:47 -070033# NOTE: Many of these items are described in more detail in the Build System
34# Variable Glossary: https://guide.opencord.org/build_glossary.html
35
Zack Williams6e87cbc2017-07-17 16:48:01 -070036# Location of the cord_profile directory to be mounted in the `corddev` VM by
37# Vagrant.
38#
39# host_cord_profile_dir: "/path_to/cord_profile"
40
41# Set these directory paths if the defaults aren't suitable, or if deploying
42# multiple pods from the same source tree where the credentials, keys, and
Zack Williams5875fc42017-09-25 18:01:47 -070043# profile should differ. These are paths on the config node.
Zack Williams6e87cbc2017-07-17 16:48:01 -070044#
45# credentials_dir: '/path_to/credentials'
46# pki_dir: '/path_to/pki'
47# ssh_pki_dir: '/path_to/ssh_pki'
48
Zack Williams5875fc42017-09-25 18:01:47 -070049# Variables. Default values are specified here
Zack Williamsce63eb02017-02-28 10:46:22 -070050
Zack Williams5875fc42017-09-25 18:01:47 -070051# IP address used for the ONOS fabric interface on the head node
52#
53# fabric_ip: '10.6.1.0/24'
Zack Williams6e87cbc2017-07-17 16:48:01 -070054
Zack Williams5875fc42017-09-25 18:01:47 -070055# Low and high addresses to assign to on the fabric
56#
57# fabric_range_low: '10.6.1.2'
58# fabric_range_high: '10.6.1.100'
59
60# IP and range of the management network, which MaaS serves DHCP.
61#
62# management_ip: '10.6.0.0/24'
63# management_network: '10.6.0.0/24'
64
65# Low and high addresses to assign to on the management network
66#
67# management_range_low: '10.6.0.2'
68# management_range_high: '10.6.0.127'
Zack Williams6e87cbc2017-07-17 16:48:01 -070069
70# name or IP of the POD head node, used to SSH to the head node. You can also
71# specify the head node user here in user@hostname format. This could also be
72# `cord@headnode.site1.opencord.org` as specified later in inventory, if
73# external DNS is set up.
74headnode: 'cord@10.80.1.200'
75
Zack Williams5875fc42017-09-25 18:01:47 -070076# External interface device name on head node
77external_iface: 'eth2'
78
79# External interface ip/range on head node
80external_ip: '10.80.1.200/24'
81
82# Gateway IP address
83external_gw: '10.80.1.1'
84
85# address and port of docker registry (on the head node)
Zack Williams6e87cbc2017-07-17 16:48:01 -070086deploy_docker_registry: "10.80.1.200:5000"
87
Zack Williams5875fc42017-09-25 18:01:47 -070088# Additional network config documentation can be found here:
89# https://guide.opencord.org/appendix_network_settings.html
Zack Williams6e87cbc2017-07-17 16:48:01 -070090
Zack Williams5875fc42017-09-25 18:01:47 -070091# Additional makefile targets
Zack Williams6e87cbc2017-07-17 16:48:01 -070092
Zack Williams5875fc42017-09-25 18:01:47 -070093# key-based SSH auth is required for some portions of the build, specifically
94# the 'synchronize' task. Enable this to generate a SSH key on the config node
95# and have the head node trust it.
96# copy_cord_prereqs:
97# - 'config-ssh-key'
98
99# skipTags is used in MaaS options allow various part of the deployment to be skipped
100#
101# switch_support - does not deploy switch boot images to the PXE server
102#
103# reboot - will not reboot the head node after updating its network configuration
104# this may mean the network configuration will not take effect, but will
105# also prevent you from being locked out of the server if there is a
106# network configuration error.
107#
108# interface_config - will not modify the network configuration of the head node,
109# including the consistent naming of the network interfaces
Zack Williams6e87cbc2017-07-17 16:48:01 -0700110skipTags:
Zack Williams5875fc42017-09-25 18:01:47 -0700111# - 'switch_support'
112# - 'reboot'
113# - 'interface_config'
Zack Williamsce63eb02017-02-28 10:46:22 -0700114
115# Inventory for ansible, used to generate inventory.ini
Zack Williams0aaee3c2017-10-09 15:33:22 -0700116#
117# A physical podconfig must contain this, and will minimally set the head node
118# address in the `head` section..
119#
Zack Williams5875fc42017-09-25 18:01:47 -0700120# There must be config, build, head, and compute sections
Zack Williamsce63eb02017-02-28 10:46:22 -0700121inventory_groups:
122
123 config:
124 localhost:
125 ansible_connection: local
126
127 build:
Zack Williams6e87cbc2017-07-17 16:48:01 -0700128 corddev:
Zack Williamsce63eb02017-02-28 10:46:22 -0700129
130 head:
131 headnode.site1.opencord.org:
Zack Williams5875fc42017-09-25 18:01:47 -0700132# If you do not have DNS set up that will resolve the headnode address, you can
133# specify the IP address here.
134#
135# ansible_host: 10.80.1.200
136#
137# Set these if you don't have SSH keys set up between the config node (where
138# make runs) and the head node. Also, make sure to enable the 'config-ssh-key'
139# further up in the file to create these.
140#
141# ansible_user: cord
142# ansible_ssh_pass: cordpass
Zack Williamsce63eb02017-02-28 10:46:22 -0700143
144 compute:
145