Name: contrail-ooo-deployer
Owner: Juniper Networks
Description: null
Forked from: michaelhenkel/contrail-ooo-deployer
Created: 2018-02-01 20:42:10.0
Updated: 2018-02-01 20:42:12.0
Pushed: 2018-01-26 23:23:26.0
Homepage: null
Size: 128
Language: Shell
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
This ansible playbook
creates the undercloud VM
installs the undercloud
configures the undercloud
configures the overcloud
All configuration is done in three configuration files.
After successful run of the playbook, all required templates will be generated.
Stack deploy is not yet executed automatically.
The undercloud is installed as a VM. The ansible playbook should be
executed on the KVM host hosting the undercloud VM.
On that KVM host at least two virsh networks must be present:
a. one for the provisioning network, connecting the undercloud VM with the overcloud nodes
b. one for the external/public API network in order to access the API endpoints
A stack user must exist with a public key
In case the control plane will run in VMs, the pxe_ssh driver can be used.
Therefore it is required to define the virsh templates on the KVM hosts.
As of now the RHEL guest image for the undercloud VM cannot be retrieved automatically.
It is required to download it manually to the KVM host hosting the undercloud VM.
The Contrail install package must be downloadable from a webserver. The tgz format is needed.
In case the dpdk image creation is enabled, it is adviced to enable nested HV on the
underclouds KVM host, otherwise the creation process will take ages.
clone https://github.com/michaelhenkel/contrail-ooo-deployer
ontrail-ooo-deployer
ble-playbook -i inventory/ playbooks/start.yml
There are four playbooks:
image builder
undercloud configurator
undercloud deployer
undercloud configurator
playbooks/start.yml
hosts:
localhost roles:
image_builder
hosts:
undercloud roles:
undercloud_installer
hosts:
undercloud user: stack roles:
undercloud_deployer vars_files:
../inventory/group_vars/ironic_nodes.yml
hosts:
undercloud user: stack roles:
overcloud_configurator vars_files:
../inventory/group_vars/overcloud_configuration.yml
playbooks can be used independently. However, the undercloud installer
mically adds the undercloud host to the inventory. In case the
rcloud deployer or overcloud configurator will be used independently
undercloud host has to be added to the host inventory into the undercloud
p.
General configuration
ral parameters are defined in
RHEL_VERSION: 7.4 RHEL_QCOW: /root/rhel-server-7.4-x86_64-kvm.qcow2 IMAGE_DIRECTORY: /var/lib/libvirt/images UNDERCLOUD_IMAGE_SIZE: 100G UNDERCLOUD_NAME: newtonX UNDERCLOUD_ROOT_PWD: YOUR PWD UNDERCLOUD_STACK_PWD: YOUR PWD UNDERCLOUD_DEFAULT_NW: default UNDERCLOUD_PROV_NW: brbm UNDERCLOUD_INT_API_NW: int-api UNDERCLOUD_VCPU: 4 UNDERCLOUD_RAM: 16348 UNDERCLOUD_IP: 192.168.24.1 UNDERCLOUD_PREFIX: 192.168.24.0 UNDERCLOUD_PREFIX_LENGTH: 24 UNDERCLOUD_GATEWAY: 192.168.24.1 UNDERCLOUD_DHCP_START: 192.168.24.5 UNDERCLOUD_DHCP_END: 192.168.24.24 UNDERCLOUD_INSPECTION_IP_RANGE: 192.168.24.100,192.168.24.120 RH_REG_METHOD: satellite RH_PORTAL_USER: YOUR RH PORTAL USER RH_PORTAL_PASSWORD: YOUR RH PORTAL PWD RH_AUTO_ATTACH: 'yes' SATELLITE_FQDN: satellite.juniper.lab SATELLITE_IP: 10.87.64.101 SATELLITE_KEY: rhel-7-osp10 SATELLITE_ORG: Juniper SATELLITE_VERSION: 6.2 RH_POOL_ID: YOUR RH POOL ID OPENSTACK_VERSION: newton ROOT_SSH_KEY: /root/.ssh/id_rsa.pub STACK_SSH_KEY: /home/stack/.ssh/id_rsa.pub CONTRAIL_VERSION: 3.2.6.0 CONTRAIL_VERSION_BUILD: 51 CONTRAIL_PACKAGE_LOCATION: http://10.0.0.2/ BUILD_DPDK_IMAGE: 'yes'
Ironic node configuration
ironic_nodes:
control-1-at-5b3s30: # name of ironic node
ip: 10.87.64.31 # ip of the ipmi
mac: 52:54:00:16:54:d8 # mac of the prov interface
role: control # overcloud role
user: root # ipmi user
password: c0ntrail123 # ipmi password
memory: 16348
cpus: 4
disk_gb: 40
ipmi_driver: pxe_ssh # ipmi driver
compute-1-at-5b3s30:
ip: 10.87.64.31
mac: 52:54:00:2a:7d:99
role: compute
user: root
password: c0ntrail123
memory: 16348
cpus: 4
disk_gb: 40
ipmi_driver: pxe_ssh
tsn-1-at-5b3s30:
ip: 10.87.64.31
mac: 52:54:00:e0:54:b3
role: contrail-tsn
user: root
password: c0ntrail123
memory: 16348
cpus: 4
disk_gb: 40
ipmi_driver: pxe_ssh
contrail-controller-1-at-5b3s30:
ip: 10.87.64.31
mac: 52:54:00:d6:2b:03
role: contrail-controller
user: root
password: c0ntrail123
memory: 16348
cpus: 4
disk_gb: 40
ipmi_driver: pxe_ssh
contrail-analytics-1-at-5b3s30:
ip: 10.87.64.31
mac: 52:54:00:01:c1:af
role: contrail-analytics
user: root
password: c0ntrail123
memory: 16348
cpus: 4
disk_gb: 40
ipmi_driver: pxe_ssh
contrail-analytics-database-1-at-5b3s30:
ip: 10.87.64.31
mac: 52:54:00:4a:9e:52
role: contrail-analytics-database
user: root
password: c0ntrail123
memory: 16348
cpus: 4
disk_gb: 40
ipmi_driver: pxe_ssh
compute-dpdk-1-at-centos:
ip: 10.87.64.32
mac: 52:54:00:1d:58:4d
role: compute-dpdk
user: root
password: c0ntrail123
memory: 16348
cpus: 4
disk_gb: 40
ipmi_driver: pxe_ssh
example imports a couple of nodes and adds profiling information to it (role)
STACK_CONTROLLER_COUNT: 3
RAIL_CONTROLLER_COUNT: 3
RAIL_ANALYTICS_COUNT: 3
RAIL_ANALYTICS_DB_COUNT: 3
RAIL_TSN_COUNT: 0
UTE_COUNT: 3
UTE_DPDK_COUNT: 0
: true
RAIL_REPO: http://192.168.24.1/contrail
ETADATAIP: 192.168.24.1
SERVERS: 10.87.64.101
SERVER: 10.0.0.1
RAIL_PHY_INTERFACE: eth1
RAIL_VROUTER_GW: 10.0.0.1
RAIL_VROUTER_NETMASK: 255.255.255.0
ROLPLANE_INTERFACE: eth0
RNAL_INTERFACE: vlan10
TER_PARENT_VLAN_INTERFACE:
TER_BOND_INTERFACE:
TER_BOND_MEMBERS:
rail_networks:
ntrolPlane:
PrefixLength: 24
Prefix: 192.168.24.0
Gateway: 192.168.24.1
ternalApi:
PrefixLength: 24
Prefix: 10.0.0.0
Gateway: 10.0.0.1
VlanId: 1
AllocationStart: 10.0.0.11
AllocationEnd: 10.0.0.200
ternal:
PrefixLength: 24
Prefix: 10.1.0.0
VlanId: 10
Gateway: 10.1.0.1
AllocationStart: 10.1.0.11
AllocationEnd: 10.1.0.200
nagement:
PrefixLength: 24
Prefix: 10.2.0.0
Gateway: 10.2.0.1
VlanId: 20
AllocationStart: 10.2.0.11
AllocationEnd: 10.2.0.200
orage:
PrefixLength: 24
Prefix: 10.3.0.0
VlanId: 30
Gateway: 10.3.0.1
AllocationStart: 10.3.0.11
AllocationEnd: 10.3.0.200
orageMgmt:
PrefixLength: 24
Prefix: 10.4.0.0
Gateway: 10.4.0.1
VlanId: 40
AllocationStart: 10.4.0.11
AllocationEnd: 10.4.0.200
roller_nic_layout:
c1:
Network: ControlPlane
Routes:
- ip_netmask: 169.254.169.254/32
next_hop: 192.168.24.1
DnsServer: true
c2:
Network: InternalApi
Routes:
- default: true
c3:
Network: None
an10:
Network: External
VlanParent: nic3
an20:
Network: Management
VlanParent: nic3
an30:
Network: Storage
VlanParent: nic3
an40:
Network: StorageMgmt
VlanParent: nic3
ute_nic_layout:
c1:
Network: ControlPlane
Routes:
- ip_netmask: 169.254.169.254/32
next_hop: 192.168.24.1
DnsServer: true
c2:
Network: None
ost0:
Network: InternalApi
Routes:
- default: true
c3:
Network: None
an10:
Network: External
VlanParent: nic3
an20:
Network: Management
VlanParent: nic3
an30:
Network: Storage
VlanParent: nic3
an40:
Network: StorageMgmt
VlanParent: nic3
ute_dpdk_nic_layout:
c1:
Network: ControlPlane
Routes:
- ip_netmask: 169.254.169.254/32
next_hop: 192.168.24.1
DnsServer: true
nd0:
Network: None
BondingOptions: "mode=802.3ad"
ost0:
Network: InternalApi
Routes:
- default: true
c3:
Network: None
an10:
Network: External
VlanParent: nic3
an20:
Network: Management
VlanParent: nic3
an30:
Network: Storage
VlanParent: nic3
an40:
Network: StorageMgmt
VlanParent: nic3
ic_ips:
ternalVip: 10.1.0.10
ternalApiVip: 10.0.0.10
ntroller:
internal_api:
- 10.0.0.20
- 10.0.0.21
- 10.0.0.22
mpute:
Network: Management
VlanParent: nic3
an30:
Network: Storage
VlanParent: nic3
an40:
Network: StorageMgmt
VlanParent: nic3
ic_ips:
ternalVip: 10.1.0.10
ternalApiVip: 10.0.0.10
ntroller:
internal_api:
- 10.0.0.20
- 10.0.0.21
- 10.0.0.22
mpute:
internal_api:
- 10.0.0.30
- 10.0.0.31
- 10.0.0.32
- 10.0.0.33
- 10.0.0.34
- 10.0.0.35
- 10.0.0.36
ntrailController:
internal_api:
- 10.0.0.40
- 10.0.0.41
- 10.0.0.42
ntrailAnalytics:
internal_api:
- 10.0.0.50
- 10.0.0.51
- 10.0.0.52
ntrailAnalyticsDatabase:
internal_api:
- 10.0.0.60
- 10.0.0.61
- 10.0.0.62
ntrailTsn:
internal_api:
- 10.0.0.70
- 10.0.0.71
- 10.0.0.72
ntrailDpdk:
internal_api:
- 10.0.0.80
- 10.0.0.81
- 10.0.0.82