From 449621a7349e2f382a82da529b1246251eb48521 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Wed, 19 Apr 2017 15:58:16 +0100 Subject: [PATCH] Synchronise configuration file defaults with kayobe --- etc/kayobe/bifrost.yml | 4 + etc/kayobe/bmc.yml | 19 ++++ etc/kayobe/controllers.yml | 30 +++++ etc/kayobe/dell-switch-bmp.yml | 16 +++ etc/kayobe/idrac.yml | 46 ++++++++ etc/kayobe/inspector.yml | 33 +++++- .../inventory/group_vars/switches/interfaces | 12 +- etc/kayobe/ipa.yml | 33 ++++++ etc/kayobe/ironic.yml | 104 ++++++++++++++++++ etc/kayobe/kolla.yml | 6 + etc/kayobe/networks.yml | 14 +++ etc/kayobe/neutron.yml | 45 ++++++++ 12 files changed, 348 insertions(+), 14 deletions(-) create mode 100644 etc/kayobe/bmc.yml create mode 100644 etc/kayobe/dell-switch-bmp.yml create mode 100644 etc/kayobe/idrac.yml create mode 100644 etc/kayobe/ipa.yml create mode 100644 etc/kayobe/ironic.yml create mode 100644 etc/kayobe/neutron.yml diff --git a/etc/kayobe/bifrost.yml b/etc/kayobe/bifrost.yml index c7ac965..9c590bc 100644 --- a/etc/kayobe/bifrost.yml +++ b/etc/kayobe/bifrost.yml @@ -59,6 +59,10 @@ # Ironic inspector IPMI password to set. #kolla_bifrost_inspector_ipmi_password: +# Ironic inspector network interface name on which to check for an LLDP switch +# port description to use as the node's name. +#kolla_bifrost_inspector_lldp_switch_port_interface: + # Ironic inspector deployment kernel location. #kolla_bifrost_inspector_deploy_kernel: diff --git a/etc/kayobe/bmc.yml b/etc/kayobe/bmc.yml new file mode 100644 index 0000000..ea10df3 --- /dev/null +++ b/etc/kayobe/bmc.yml @@ -0,0 +1,19 @@ +--- +############################################################################### +# Configuration of Baseboard Management Controllers (BMCs). + +# Type of host's BMC. Currently only idrac is supported. +#bmc_type: + +# Address to use to access a host's BMC via IPMI. +#ipmi_address: + +# Username to use to access a host's BMC via IPMI. +#ipmi_username: + +# Password to use to access a host's BMC via IPMI. +#ipmi_password: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index 41641b4..e7cc2f6 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -15,6 +15,36 @@ # List of extra networks to which controller nodes are attached. #controller_extra_network_interfaces: +############################################################################### +# Controller node BIOS configuration. + +# Dict of controller BIOS options. Format is same as that used by stackhpc.drac +# role. +#controller_bios_config: + +# Dict of default controller BIOS options. Format is same as that used by +# stackhpc.drac role. +#controller_bios_config_default: + +# Dict of additional controller BIOS options. Format is same as that used by +# stackhpc.drac role. +#controller_bios_config_extra: + +############################################################################### +# Controller node RAID configuration. + +# List of controller RAID volumes. Format is same as that used by stackhpc.drac +# role. +#controller_raid_config: + +# List of default controller RAID volumes. Format is same as that used by +# stackhpc.drac role. +#controller_raid_config_default: + +# List of additional controller RAID volumes. Format is same as that used by +# stackhpc.drac role. +#controller_raid_config_extra: + ############################################################################### # Controller node LVM configuration. diff --git a/etc/kayobe/dell-switch-bmp.yml b/etc/kayobe/dell-switch-bmp.yml new file mode 100644 index 0000000..78eb73a --- /dev/null +++ b/etc/kayobe/dell-switch-bmp.yml @@ -0,0 +1,16 @@ +--- +# Dell Switch Bare Metal Provisioning (BMP) configuration. + +# List of images to provide a BMP configuration for. +# Each item should be a dict with the following keys: +# url: URL of the image to download. +# dest: Name of the file to download the image to. +# match: dnsmasq match rule to match hosts against. +# tag: dnsmasq tag to apply to matching hosts. +# checksum: optional checksum of image, in format required for Ansible's +# get_url module. +#dell_switch_bmp_images: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/idrac.yml b/etc/kayobe/idrac.yml new file mode 100644 index 0000000..e4cc4f9 --- /dev/null +++ b/etc/kayobe/idrac.yml @@ -0,0 +1,46 @@ +--- +############################################################################### +# iDRAC configuration. + +# Default username for iDRACs. +#idrac_default_username: + +# Default password for iDRACs. +#idrac_default_password: + +# Default IP address for iDRACs. +#idrac_default_ip: + +# Dict mapping host description (as found in switch interface configuration) to +# IP address of the iDRAC for that host. +#idrac_network_ips: + +# Gateway IP address for iDRAC network. +#idrac_network_gateway: + +# IP netmask for iDRAC network. +#idrac_network_netmask: + +# VLAN for iDRAC network. +#idrac_network_vlan: + +# ID of VLAN to use for bootstrapping iDRACs. +#idrac_bootstrap_vlan: + +# Name of network namespace on controller to use for bootstrapping iDRACs. +#idrac_bootstrap_net_namespace: + +# Controller group to use for bootstrapping iDRACs. +#idrac_bootstrap_controller_group: + +# Base network interface on controller to use for bootstrapping iDRACs. +#idrac_bootstrap_controller_interface: + +# VLAN network interface on controller to create for bootstrapping iDRACs. +#idrac_bootstrap_controller_vlan_interface: + +# IP address of controller to use for bootstrapping iDRACs. +#idrac_bootstrap_controller_ip: + +# Name of an Ansible group containing switches forming the iDRAC network. +#idrac_bootstrap_switch_group: diff --git a/etc/kayobe/inspector.yml b/etc/kayobe/inspector.yml index 7c35019..7d54487 100644 --- a/etc/kayobe/inspector.yml +++ b/etc/kayobe/inspector.yml @@ -17,7 +17,13 @@ # Whether inspector should manage the firewall. #inspector_manage_firewall: -# List of of inspector processing plugins. +# List of of default inspector processing plugins. +#inspector_processing_hooks_default: + +# List of of additional inspector processing plugins. +#inspector_processing_hooks_extra: + +# List of of additional inspector processing plugins. #inspector_processing_hooks: # Which MAC addresses to add as ports during introspection. One of 'all', @@ -67,19 +73,38 @@ # Ironic inspector rule to set the interface on which the node PXE booted. #inspector_rule_set_pxe_interface_mac: -# Ironic inspector rule to set the node's name from eno3's LLDP switch port -# description. -#inspector_rule_eno3_lldp_switch_port_desc_to_name: +# Ironic inspector rule to set the node's name from an interface's LLDP switch +# port description. +#inspector_rule_lldp_switch_port_desc_to_name: # Ironic inspector rule to save introspection data to the node. #inspector_rule_save_data: +# List of default ironic insepctor rules. +#inspector_rules_default: + # List of additional ironic inspector rules. #inspector_rules_extra: # List of all ironic inspector rules. #inspector_rules: +############################################################################### +# Dell switch LLDP workaround configuration. + +# Some Dell switch OSs (including Dell Network OS 9.10(0.1)) do not support +# sending interface port description TLVs correctly. Instead of sending the +# interface description, they send the interface name (e.g. TenGigabitEthernet +# 1/1/1). This breaks the discovery process which relies on Ironic node +# introspection data containing the node's name in the interface port +# description. We work around this here by creating an introspection rule for +# each ironic node that matches against the switch system and the relevant +# interface name, then sets the node's name appropriately. + +# Ansible group containing switch hosts to which the workaround should be +# applied. +#inspector_dell_switch_lldp_workaround_group: + ############################################################################### # Dummy variable to allow Ansible to accept this file. workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/inventory/group_vars/switches/interfaces b/etc/kayobe/inventory/group_vars/switches/interfaces index e7e8ce3..acab835 100644 --- a/etc/kayobe/inventory/group_vars/switches/interfaces +++ b/etc/kayobe/inventory/group_vars/switches/interfaces @@ -5,16 +5,8 @@ # Interface configuration. # Interface configuration. Dict mapping switch interface names to configuration -# dicts. Each dict contains a description item and the name of a network which -# is used to lookup a variable containing interface config for ports on that -# network (switch_interface_config_). Each dict can also have a -# 'config' item which should contain a list of additional per-interface -# configuration. +# dicts. Each dict contains a description item and a 'config' item which should +# contain a list of per-interface configuration. # Generally this should be configured on a per-switch basis via a host_vars # file. switch_interface_config: {} - -# Example of an interface configuration variable for a network, referenced by -# the 'network' item of an interface in 'switch_interface_config'. -#switch_interface_config_example_net: -# - switchport access vlan 42 diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml new file mode 100644 index 0000000..94902e1 --- /dev/null +++ b/etc/kayobe/ipa.yml @@ -0,0 +1,33 @@ +--- +# Ironic Python Agent (IPA) configuration. + +############################################################################### +# Ironic Python Agent (IPA) images configuration. + +# Name of Ironic deployment kernel image to register in Glance. +#ipa_images_kernel_name: + +# URL of Ironic deployment kernel image to download. +#ipa_images_kernel_url: + +# Name of Ironic deployment ramdisk image to register in Glance. +#ipa_images_ramdisk_name: + +# URL of Ironic deployment ramdisk image to download. +#ipa_images_ramdisk_url: + +############################################################################### +# Ironic Python Agent (IPA) deployment configuration. + +# List of extra kernel parameters to enable LLDP collection. +#ipa_kernel_options_collect_lldp: + +# List of extra kernel parameters to enable all inspector collectors. +#ipa_kernel_options_inspection_collectors_all: + +# List of extra kernel parameters to enable all inspector benchmarks. +#ipa_kernel_options_inspection_benchmarks_all: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/ironic.yml b/etc/kayobe/ironic.yml new file mode 100644 index 0000000..59f1d3e --- /dev/null +++ b/etc/kayobe/ironic.yml @@ -0,0 +1,104 @@ +--- +############################################################################### +# Ironic configuration. + +# List of enabled Ironic drivers. +#kolla_ironic_drivers: + +# Specify the list of hardware types to load during service initialization. +#kolla_ironic_enabled_hardware_types: + +# Specify the list of boot interfaces to load during service initialization. +#kolla_ironic_enabled_boot_interfaces: + +# Default boot interface to be used for nodes that do not have boot_interface +# field set. +#kolla_ironic_default_boot_interface: + +# Specify the list of console interfaces to load during service initialization. +#kolla_ironic_enabled_console_interfaces: + +# Default console interface to be used for nodes that do not have +# console_interface field set. +#kolla_ironic_default_console_interface: + +# Specify the list of deploy interfaces to load during service initialization. +#kolla_ironic_enabled_deploy_interfaces: + +# Default deploy interface to be used for nodes that do not have +# deploy_interface field set. +#kolla_ironic_default_deploy_interface: + +# Specify the list of inspect interfaces to load during service initialization. +#kolla_ironic_enabled_inspect_interfaces: + +# Default inspect interface to be used for nodes that do not have +# inspect_interface field set. +#kolla_ironic_default_inspect_interface: + +# Specify the list of management interfaces to load during service +# initialization. +#kolla_ironic_enabled_management_interfaces: + +# Default management interface to be used for nodes that do not have +# management_interface field set. +#kolla_ironic_default_management_interface: + +# Specify the list of network interfaces to load during service initialization. +#kolla_ironic_enabled_network_interfaces: + +# Default network interface to be used for nodes that do not have +# network_interface field set. +#kolla_ironic_default_network_interface: + +# Specify the list of power interfaces to load during service initialization. +#kolla_ironic_enabled_power_interfaces: + +# Default power interface to be used for nodes that do not have power_interface +# field set. +#kolla_ironic_default_power_interface: + +# Specify the list of raid interfaces to load during service initialization. +#kolla_ironic_enabled_raid_interfaces: + +# Default raid interface to be used for nodes that do not have +# raid_interface field set. +#kolla_ironic_default_raid_interface: + +# Specify the list of storage interfaces to load during +# service initialization. +#kolla_ironic_enabled_storage_interfaces: + +# Default storage interface to be used for nodes that do not +# have storage_interface field set. +#kolla_ironic_default_storage_interface: + +# Specify the list of vendor interfaces to load during service initialization. +#kolla_ironic_enabled_vendor_interfaces: + +# Default vendor interface to be used for nodes that do not have +# vendor_interface field set. +#kolla_ironic_default_vendor_interface: + +# Default boot option to use when no boot option is requested in node's +# driver_info. +#kolla_ironic_default_boot_option: + +# Name of the Neutron network to use for cleaning. +#kolla_ironic_cleaning_network: + +# Name of the Neutron network to use for provisioning. +#kolla_ironic_provisioning_network: + +# List of default kernel parameters to append for baremetal PXE boot. +#kolla_ironic_pxe_append_params_default: + +# List of additional kernel parameters to append for baremetal PXE boot. +#kolla_ironic_pxe_append_params_extra: + +# List of kernel parameters to append for baremetal PXE boot. +#kolla_ironic_pxe_append_params: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index c3a73d0..c467e7e 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -49,6 +49,12 @@ # reference: master #kolla_sources: +############################################################################### +# Kolla image build configuration. + +# Dict mapping Jinja2 block names in kolla's Docker images to their contents. +#kolla_build_blocks: + ############################################################################### # Kolla-ansible configuration. diff --git a/etc/kayobe/networks.yml b/etc/kayobe/networks.yml index bf86310..d5737a3 100644 --- a/etc/kayobe/networks.yml +++ b/etc/kayobe/networks.yml @@ -36,15 +36,23 @@ # 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: # 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: # Internal network IP information. # internal_net_vip_address: @@ -54,6 +62,7 @@ # internal_net_allocation_pool_end: # internal_net_gateway: # internal_net_vlan: +# internal_net_mtu: # External network IP information. # external_net_vip_address: @@ -61,8 +70,11 @@ # 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: # Storage network IP information. # storage_net_cidr: @@ -70,6 +82,7 @@ # storage_net_allocation_pool_end: # storage_net_gateway: # storage_net_vlan: +# storage_net_mtu: # Storage management network IP information. # storage_mgmt_net_cidr: @@ -77,6 +90,7 @@ # storage_mgmt_net_allocation_pool_end: # storage_mgmt_net_gateway: # storage_mgmt_net_vlan: +# storage_mgmt_net_mtu: ############################################################################### # Network virtual patch link configuration. diff --git a/etc/kayobe/neutron.yml b/etc/kayobe/neutron.yml new file mode 100644 index 0000000..39073f0 --- /dev/null +++ b/etc/kayobe/neutron.yml @@ -0,0 +1,45 @@ +--- +############################################################################### +# Neutron configuration. + +# List of Neutron ML2 mechanism drivers to use. +#kolla_neutron_ml2_mechanism_drivers: + +# List of Neutron ML2 type drivers to use. +#kolla_neutron_ml2_type_drivers: + +# List of Neutron ML2 tenant network types to use. +#kolla_neutron_ml2_tenant_network_types: + +# List of Neutron ML2 network VLAN ranges to use. Each item should be a dict +# containing the following items: +# physical_network: The physical network +# min: Minimum of allowed VLAN range (optional) +# max: Maximum of allowed VLAN range (optional) +#kolla_neutron_ml2_network_vlan_ranges: + +# List of switches to configure for use by genericswitch ML2 mechanism driver. +# Each item should be a dict containing the following items: +# name: Hostname of the switch +# ip: IP address on which to reach the switch +# username: SSH username +# password: SSH password (optional) +# key_file: SSH key file (optional) +# secret: SSH secret (optional) +#kolla_neutron_ml2_generic_switches: + +# List of Ansible hosts representing switches to configure for use by +# genericswitch ML2 mechanism driver. These switches will be appended to +# kolla_neutron_ml2_generic_switches and their configuration will be determined +# by the following host variables: +# name: inventory_hostname +# ip: ansible_host +# username: ansible_user +# password: ansible_ssh_pass +# key_file: not currently supported +# secret: not currently supported +#kolla_neutron_ml2_generic_switch_hosts: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes