From f129b0737206da9bd5421436e09e5c41d4c09a49 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 19 Oct 2017 16:04:14 +0100 Subject: [PATCH] Add development environment configuration, imported from kayobe --- etc/kayobe/controllers.yml | 4 + etc/kayobe/docker.yml | 2 + .../group_vars/controllers/network-interfaces | 33 +----- etc/kayobe/inventory/hosts | 5 + etc/kayobe/inventory/hosts.example | 28 ----- etc/kayobe/network-allocation.yml | 2 + etc/kayobe/networks.yml | 108 +++--------------- kayobe-env | 5 +- 8 files changed, 40 insertions(+), 147 deletions(-) create mode 100644 etc/kayobe/inventory/hosts delete mode 100644 etc/kayobe/inventory/hosts.example create mode 100644 etc/kayobe/network-allocation.yml diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index ed41272..b12c38b 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -5,6 +5,8 @@ # User with which to access the controllers via SSH during bootstrap, in order # to setup the Kayobe user account. #controller_bootstrap_user: +# No need to provide a different user for bootstrapping. +controller_bootstrap_user: vagrant ############################################################################### # Network interface attachments. @@ -57,6 +59,8 @@ # List of controller volume groups. See mrlesmithjr.manage-lvm role for # format. #controller_lvm_groups: +# Don't create any LVM groups - use overlay docker storage driver. +controller_lvm_groups: [] # Default list of controller volume groups. See mrlesmithjr.manage-lvm role for # format. diff --git a/etc/kayobe/docker.yml b/etc/kayobe/docker.yml index abc07a7..ac455df 100644 --- a/etc/kayobe/docker.yml +++ b/etc/kayobe/docker.yml @@ -5,6 +5,8 @@ # Name of the docker storage driver. Supported values include 'devicemapper' # and 'overlay'. #docker_storage_driver: +# Use the overlay docker storage driver as it doesn't require LVM. +docker_storage_driver: overlay # Name of the docker storage LVM volume group. #docker_storage_volume_group: diff --git a/etc/kayobe/inventory/group_vars/controllers/network-interfaces b/etc/kayobe/inventory/group_vars/controllers/network-interfaces index 0f4964d..c46713d 100644 --- a/etc/kayobe/inventory/group_vars/controllers/network-interfaces +++ b/etc/kayobe/inventory/group_vars/controllers/network-interfaces @@ -2,35 +2,10 @@ ############################################################################### # Network interface definitions for the controller group. -# Overcloud provisioning network IP information. -# provision_oc_net_interface: -# provision_oc_net_bridge_ports: -# provision_oc_net_bond_slaves: - -# Workload provisioning network IP information. -# provision_wl_net_interface: -# provision_wl_net_bridge_ports: -# provision_wl_net_bond_slaves: - -# Internal network IP information. -# internal_net_interface: -# internal_net_bridge_ports: -# internal_net_bond_slaves: - -# External network IP information. -# external_net_interface: -# external_net_bridge_ports: -# external_net_bond_slaves: - -# Storage network IP information. -# storage_net_interface: -# storage_net_bridge_ports: -# storage_net_bond_slaves: - -# Storage management network IP information. -# storage_mgmt_net_interface: -# storage_mgmt_net_bridge_ports: -# storage_mgmt_net_bond_slaves: +# Controller interface on all-in-one network. +aio_interface: breth1 +aio_bridge_ports: + - eth1 ############################################################################### # Dummy variable to allow Ansible to accept this file. diff --git a/etc/kayobe/inventory/hosts b/etc/kayobe/inventory/hosts new file mode 100644 index 0000000..59bead5 --- /dev/null +++ b/etc/kayobe/inventory/hosts @@ -0,0 +1,5 @@ +[config-mgmt] +localhost ansible_connection=local + +[controllers] +controller0 diff --git a/etc/kayobe/inventory/hosts.example b/etc/kayobe/inventory/hosts.example deleted file mode 100644 index b3dc7a3..0000000 --- a/etc/kayobe/inventory/hosts.example +++ /dev/null @@ -1,28 +0,0 @@ -# Kayobe hosts inventory file. This file should be modified to define the hosts -# and their top-level group membership. - -[config-mgmt] -# This host acts as the configuration management control host. This must be -# localhost. -localhost ansible_connection=local - -[seed-hypervisor] -# Add a seed hypervisor node here if required. This host will run a seed node -# Virtual Machine. - -[seed] -# Add a seed node here if required. This host will provide the Bifrost -# undercloud. - -[controllers] -# Add controller nodes here if required. These hosts will provide the -# OpenStack overcloud. - -[mgmt-switches] -# Add management network switches here if required. - -[ctl-switches] -# Add control and provisioning switches here if required. - -[hs-switches] -# Add high speed switches here if required. diff --git a/etc/kayobe/network-allocation.yml b/etc/kayobe/network-allocation.yml new file mode 100644 index 0000000..7ef8398 --- /dev/null +++ b/etc/kayobe/network-allocation.yml @@ -0,0 +1,2 @@ +aio_ips: + controller0: 192.168.33.3 diff --git a/etc/kayobe/networks.yml b/etc/kayobe/networks.yml index 0d43d5e..223941b 100644 --- a/etc/kayobe/networks.yml +++ b/etc/kayobe/networks.yml @@ -4,134 +4,64 @@ ############################################################################### # Network role to network mappings. +# Map all networks to the all-in-one network. + # Name of the network used by the seed to manage the bare metal overcloud # hosts via their out-of-band management controllers. #oob_oc_net_name: +oob_oc_net_name: aio # Name of the network used by the seed to provision the bare metal overcloud # hosts. #provision_oc_net_name: +provision_oc_net_name: aio # Name of the network used by the overcloud hosts to manage the bare metal # compute hosts via their out-of-band management controllers. #oob_wl_net_name: +oob_wl_net_name: aio # Name of the network used by the overcloud hosts to provision the bare metal # workload hosts. #provision_wl_net_name: +provision_wl_net_name: aio # Name of the network used to expose the internal OpenStack API endpoints. #internal_net_name: +internal_net_name: aio # Name of the network used to expose the external OpenStack API endpoints and # to provide external network access via Neutron. #external_net_name: +external_net_name: aio # Name of the network used to expose the public OpenStack API endpoints. #public_net_name: +public_net_name: aio # Name of the network used to carry storage data traffic. #storage_net_name: +storage_net_name: aio # Name of the network used to carry storage management traffic. #storage_mgmt_net_name: +storage_mgmt_net_name: aio # Name of the network used to perform hardware introspection on the bare metal # workload hosts. #inspection_net_name: +inspection_net_name: aio ############################################################################### # Network definitions. -# Overcloud out-of-band management network IP information. -# oob_oc_net_cidr: -# oob_oc_net_allocation_pool_start: -# oob_oc_net_allocation_pool_end: -# oob_oc_net_inspection_allocation_pool_start: -# oob_oc_net_inspection_allocation_pool_end: -# oob_oc_net_gateway: -# oob_oc_net_vlan: -# oob_oc_net_mtu: -# oob_oc_net_routes: - -# Overcloud provisioning network IP information. -# provision_oc_net_cidr: -# provision_oc_net_allocation_pool_start: -# provision_oc_net_allocation_pool_end: -# provision_oc_net_inspection_allocation_pool_start: -# provision_oc_net_inspection_allocation_pool_end: -# provision_oc_net_gateway: -# provision_oc_net_vlan: -# provision_oc_net_mtu: -# provision_oc_net_routes: - -# Workload out-of-band management network IP information. -# oob_wl_net_cidr: -# oob_wl_net_allocation_pool_start: -# oob_wl_net_allocation_pool_end: -# oob_wl_net_inspection_allocation_pool_start: -# oob_wl_net_inspection_allocation_pool_end: -# oob_wl_net_neutron_allocation_pool_start: -# oob_wl_net_neutron_allocation_pool_end: -# oob_wl_net_gateway: -# oob_wl_net_vlan: -# oob_wl_net_mtu: -# oob_wl_net_routes: - -# Workload provisioning network IP information. -# provision_wl_net_cidr: -# provision_wl_net_allocation_pool_start: -# provision_wl_net_allocation_pool_end: -# provision_wl_net_inspection_allocation_pool_start: -# provision_wl_net_inspection_allocation_pool_end: -# provision_wl_net_neutron_allocation_pool_start: -# provision_wl_net_neutron_allocation_pool_end: -# provision_wl_net_gateway: -# provision_wl_net_vlan: -# provision_wl_net_mtu: -# provision_wl_net_routes: - -# Internal network IP information. -# internal_net_vip_address: -# internal_net_fqdn: -# internal_net_cidr: -# internal_net_allocation_pool_start: -# internal_net_allocation_pool_end: -# internal_net_gateway: -# internal_net_vlan: -# internal_net_mtu: -# internal_net_routes: - -# External network IP information. -# external_net_vip_address: -# external_net_fqdn: -# external_net_cidr: -# external_net_allocation_pool_start: -# external_net_allocation_pool_end: -# external_net_neutron_allocation_pool_start: -# external_net_neutron_allocation_pool_end: -# external_net_gateway: -# external_net_vlan: -# external_net_mtu: -# external_net_routes: - -# Storage network IP information. -# storage_net_cidr: -# storage_net_allocation_pool_start: -# storage_net_allocation_pool_end: -# storage_net_gateway: -# storage_net_vlan: -# storage_net_mtu: -# storage_net_routes: - -# Storage management network IP information. -# storage_mgmt_net_cidr: -# storage_mgmt_net_allocation_pool_start: -# storage_mgmt_net_allocation_pool_end: -# storage_mgmt_net_gateway: -# storage_mgmt_net_vlan: -# storage_mgmt_net_mtu: -# storage_mgmt_net_routes: +# All-in-one network. +aio_cidr: 192.168.33.0/24 +aio_allocation_pool_start: 192.168.33.3 +aio_allocation_pool_end: 192.168.33.127 +aio_inspection_allocation_pool_start: 192.168.33.128 +aio_inspection_allocation_pool_end: 192.168.33.254 +aio_vip_address: 192.168.33.2 ############################################################################### # Network virtual patch link configuration. diff --git a/kayobe-env b/kayobe-env index 9ebff45..dbd5605 100644 --- a/kayobe-env +++ b/kayobe-env @@ -31,4 +31,7 @@ export KOLLA_CONFIG_PATH=$KAYOBE_CONFIG_ROOT/etc/kolla # kolla-ansible/ base_path=$(realpath $KAYOBE_CONFIG_ROOT/../../) export KOLLA_SOURCE_PATH=${KOLLA_SOURCE_PATH:-${base_path}/src/kolla-ansible} -export KOLLA_VENV_PATH=${KOLLA_VENV_PATH:-${base_path}/venvs/kolla-ansible} +# Path to the kolla virtual environment. +# NOTE: This should not be in the Vagrant shared directory, as there are +# issues with symlinks on Windows hosts. +export KOLLA_VENV_PATH=~/kolla-venv