diff --git a/etc/kayobe/environments/stack-ironic/inspector.yml b/etc/kayobe/environments/stack-ironic/inspector.yml new file mode 100644 index 0000000000..8400314967 --- /dev/null +++ b/etc/kayobe/environments/stack-ironic/inspector.yml @@ -0,0 +1,29 @@ +--- +############################################################################### +# Ironic inspector processing configuration. + +# List of of additional inspector processing plugins. +inspector_processing_hooks_extra: + - system_name_llc + - system_name_physnet + +# Which MAC addresses to add as ports during introspection. One of 'all', +# 'active' or 'pxe'. +inspector_add_ports: all + +# Which ports to keep after introspection. One of 'all', 'present', or 'added'. +inspector_keep_ports: added + +# Whether to enable discovery of nodes not managed by Ironic. +inspector_enable_discovery: false + +# The Ironic driver with which to register newly discovered nodes. +inspector_discovery_enroll_node_driver: redfish + +############################################################################### +# Inspection store configuration. +# The inspection store provides a Swift-like service for storing inspection +# data which may be useful in environments without Swift. + +# Whether the inspection data store is enabled. +inspector_store_enabled: true diff --git a/etc/kayobe/environments/stack-ironic/inventory/group_vars/baremetal-compute/ironic.yml b/etc/kayobe/environments/stack-ironic/inventory/group_vars/baremetal-compute/ironic.yml new file mode 100644 index 0000000000..941b54b133 --- /dev/null +++ b/etc/kayobe/environments/stack-ironic/inventory/group_vars/baremetal-compute/ironic.yml @@ -0,0 +1,5 @@ +--- +ironic_properties: + capabilities: "{{ ironic_capabilities }}" + +ironic_capabilities: "boot_option:local,boot_mode:uefi" diff --git a/etc/kayobe/environments/stack-ironic/inventory/group_vars/baremetal-idrac/ironic.yml b/etc/kayobe/environments/stack-ironic/inventory/group_vars/baremetal-idrac/ironic.yml new file mode 100644 index 0000000000..5b80765673 --- /dev/null +++ b/etc/kayobe/environments/stack-ironic/inventory/group_vars/baremetal-idrac/ironic.yml @@ -0,0 +1,13 @@ +--- +ironic_driver: idrac + +ironic_driver_info: + redfish_address: "{{ ironic_redfish_address }}" + redfish_username: "{{ ironic_redfish_username }}" + redfish_password: "{{ ironic_redfish_password }}" + redfish_verify_ca: "{{ ironic_redfish_verify_ca }}" + +ironic_redfish_verify_ca: false +ironic_redfish_address: "{{ redfish_address }}" +ironic_redfish_username: "{{ secrets_idrac_baremetal_username }}" +ironic_redfish_password: "{{ secrets_idrac_baremetal_password }}" diff --git a/etc/kayobe/environments/stack-ironic/inventory/group_vars/baremetal-ipmi/ironic.yml b/etc/kayobe/environments/stack-ironic/inventory/group_vars/baremetal-ipmi/ironic.yml new file mode 100644 index 0000000000..c7332c74b8 --- /dev/null +++ b/etc/kayobe/environments/stack-ironic/inventory/group_vars/baremetal-ipmi/ironic.yml @@ -0,0 +1,13 @@ +--- +ironic_driver: ipmi + +ironic_driver_info: + ipmi_address: "{{ ironic_ipmi_address }}" + ipmi_username: "{{ ironic_ipmi_username }}" + ipmi_password: "{{ ironic_ipmi_password }}" + ipmi_verify_ca: "{{ ironic_ipmi_verify_ca }}" + +ironic_ipmi_verify_ca: false +ironic_ipmi_address: "{{ ipmi_address }}" +ironic_ipmi_username: "{{ secrets_ipmi_baremetal_username }}" +ironic_ipmi_password: "{{ secrets_ipmi_baremetal_password }}" diff --git a/etc/kayobe/environments/stack-ironic/inventory/group_vars/baremetal-redfish/ironic.yml b/etc/kayobe/environments/stack-ironic/inventory/group_vars/baremetal-redfish/ironic.yml new file mode 100644 index 0000000000..ee10efce6a --- /dev/null +++ b/etc/kayobe/environments/stack-ironic/inventory/group_vars/baremetal-redfish/ironic.yml @@ -0,0 +1,13 @@ +--- +ironic_driver: redfish + +ironic_driver_info: + redfish_address: "{{ ironic_redfish_address }}" + redfish_username: "{{ ironic_redfish_username }}" + redfish_password: "{{ ironic_redfish_password }}" + redfish_verify_ca: "{{ ironic_redfish_verify_ca }}" + +ironic_redfish_verify_ca: false +ironic_redfish_address: "{{ redfish_address }}" +ironic_redfish_username: "{{ secrets_redfish_baremetal_username }}" +ironic_redfish_password: "{{ secrets_redfish_baremetal_password }}" diff --git a/etc/kayobe/environments/stack-ironic/inventory/group_vars/controllers/network_routing.yml b/etc/kayobe/environments/stack-ironic/inventory/group_vars/controllers/network_routing.yml new file mode 100644 index 0000000000..6f2642677c --- /dev/null +++ b/etc/kayobe/environments/stack-ironic/inventory/group_vars/controllers/network_routing.yml @@ -0,0 +1,18 @@ +--- +# Use policy-based routing on the admin API network for ironic. This ensures +# that during provisioning and cleaning, nodes accessing the admin API network +# can be routed to without routing asymmetrically which would cause packets to be +# dropped by the kernel. +network_route_tables: + - name: admin-api + id: 1 + +# IP routing rule to process all packets from the admin API subnet using the +# admin-api routing table. +internal_rules: + - from {{ internal_net_name | net_cidr }} table 1 + +# IP routes for the admin-api routing table. +internal_routes: + - cidr: "{{ internal_net_name | net_cidr }}" + table: 1 diff --git a/etc/kayobe/environments/stack-ironic/inventory/groups b/etc/kayobe/environments/stack-ironic/inventory/groups new file mode 100644 index 0000000000..31315cffa9 --- /dev/null +++ b/etc/kayobe/environments/stack-ironic/inventory/groups @@ -0,0 +1,8 @@ +[baremetal-idrac] +[baremetal-ipmi] +[baremetal-redfish] + +[baremetal-compute:children] +baremetal-idrac +baremetal-ipmi +baremetal-redfish diff --git a/etc/kayobe/environments/stack-ironic/inventory/hosts b/etc/kayobe/environments/stack-ironic/inventory/hosts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/etc/kayobe/environments/stack-ironic/ironic.yml b/etc/kayobe/environments/stack-ironic/ironic.yml new file mode 100644 index 0000000000..8b1c026281 --- /dev/null +++ b/etc/kayobe/environments/stack-ironic/ironic.yml @@ -0,0 +1,141 @@ +--- +############################################################################### +# Ironic configuration. + +# Specify the list of hardware types to load during service initialization. +kolla_ironic_enabled_hardware_types: + - idrac + - ipmi + - redfish + +# Specify the list of bios interfaces to load during service initialization. +kolla_ironic_enabled_bios_interfaces: + - idrac-redfish + - no-bios + - redfish + +# Default bios interface to be used for nodes that do not have bios_interface +# field set. +kolla_ironic_default_bios_interface: + +# Specify the list of boot interfaces to load during service initialization. +kolla_ironic_enabled_boot_interfaces: + - idrac-redfish-virtual-media + - ipxe + - pxe + - redfish-virtual-media + +# 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: + - ipmitool-socat + - no-console + +# 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: + - direct + - ramdisk + +# 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: + - inspector + - no-inspect + +# 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: + - idrac-redfish + - ipmitool + - noop + - redfish + +# 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: + - flat + - neutron + - noop + +# 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: + - idrac-redfish + - ipmitool + - redfish + +# 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: + - agent + - idrac-redfish + - no-raid + - redfish + +# 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 rescue interfaces to load during service initialization. +kolla_ironic_enabled_rescue_interfaces: + - agent + - no-rescue + +# Default rescue interface to be used for nodes that do not have +# rescue_interface field set. +kolla_ironic_default_rescue_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: + - no-vendor + +# Default vendor interface to be used for nodes that do not have +# vendor_interface field set. +kolla_ironic_default_vendor_interface: + +# Name of the Neutron network to use for cleaning. +kolla_ironic_cleaning_network: "{{ kolla_ironic_provisioning_network if cleaning_net_name == provision_wl_net_name else 'cleaning-net' }}" + +# Name of the Neutron network to use for provisioning. +kolla_ironic_provisioning_network: 'provision-net' + +# List of default kernel parameters to append for baremetal PXE boot. +kolla_ironic_pxe_append_params_default: + - nofb + - nomodeset + - vga=normal + - console=tty0 + - console=ttyS0,115200n8 + - "ipa-ntp-server={{ provision_wl_net_name | net_ip(inventory_hostname=groups['controllers'][0]) }}" + - "ipa-insecure=1" diff --git a/etc/kayobe/environments/stack-ironic/kolla.yml b/etc/kayobe/environments/stack-ironic/kolla.yml new file mode 100644 index 0000000000..986209cdfe --- /dev/null +++ b/etc/kayobe/environments/stack-ironic/kolla.yml @@ -0,0 +1,2 @@ +--- +kolla_enable_ironic: true diff --git a/etc/kayobe/environments/stack-ironic/kolla/config/ironic-inspector.conf b/etc/kayobe/environments/stack-ironic/kolla/config/ironic-inspector.conf new file mode 100644 index 0000000000..45cb44c1a8 --- /dev/null +++ b/etc/kayobe/environments/stack-ironic/kolla/config/ironic-inspector.conf @@ -0,0 +1,2 @@ +[processing] +store_data = database diff --git a/etc/kayobe/environments/stack-ironic/kolla/config/ironic/ironic-conductor.conf b/etc/kayobe/environments/stack-ironic/kolla/config/ironic/ironic-conductor.conf new file mode 100644 index 0000000000..315aec43aa --- /dev/null +++ b/etc/kayobe/environments/stack-ironic/kolla/config/ironic/ironic-conductor.conf @@ -0,0 +1,2 @@ +[conductor] +automated_clean = true diff --git a/etc/kayobe/environments/stack-ironic/kolla/config/nova.conf b/etc/kayobe/environments/stack-ironic/kolla/config/nova.conf new file mode 100644 index 0000000000..3753d1aec5 --- /dev/null +++ b/etc/kayobe/environments/stack-ironic/kolla/config/nova.conf @@ -0,0 +1,2 @@ +[DEFAULT] +force_config_drive = True