Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions etc/kayobe/environments/stack-ironic/inspector.yml
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
ironic_properties:
capabilities: "{{ ironic_capabilities }}"

ironic_capabilities: "boot_option:local,boot_mode:uefi"
Original file line number Diff line number Diff line change
@@ -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 }}"
Original file line number Diff line number Diff line change
@@ -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 }}"
Original file line number Diff line number Diff line change
@@ -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 }}"
Original file line number Diff line number Diff line change
@@ -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
8 changes: 8 additions & 0 deletions etc/kayobe/environments/stack-ironic/inventory/groups
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[baremetal-idrac]
[baremetal-ipmi]
[baremetal-redfish]

[baremetal-compute:children]
baremetal-idrac
baremetal-ipmi
baremetal-redfish
Empty file.
141 changes: 141 additions & 0 deletions etc/kayobe/environments/stack-ironic/ironic.yml
Original file line number Diff line number Diff line change
@@ -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"
2 changes: 2 additions & 0 deletions etc/kayobe/environments/stack-ironic/kolla.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
kolla_enable_ironic: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[processing]
store_data = database
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[conductor]
automated_clean = true
2 changes: 2 additions & 0 deletions etc/kayobe/environments/stack-ironic/kolla/config/nova.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[DEFAULT]
force_config_drive = True

Unchanged files with check annotations Beta

---

Check warning on line 1 in etc/kayobe/ansible/ubuntu-upgrade.yml

GitHub Actions / Ansible 2.18 lint with Python 3.12

syntax-check[missing-file]

Unable to retrieve file contents

Check warning on line 1 in etc/kayobe/ansible/ubuntu-upgrade.yml

GitHub Actions / Ansible 2.17 lint with Python 3.10

syntax-check[missing-file]

Unable to retrieve file contents
# To prevent Ansible role dependency errors, this playbook requires that environment variable
# ANSIBLE_ROLES_PATH is defined and includes '$KAYOBE_PATH/ansible/roles' on the Ansible control host.
# Where KAYOBE_PATH is the path to the source of kayobe that the environment uses.
when: stackhpc_enable_kolla_ansible_check
check_mode: false
block:
- name: Get current Kolla-Ansible tag

Check warning on line 11 in etc/kayobe/ansible/check-kolla-ansible-version.yml

GitHub Actions / Ansible 2.18 lint with Python 3.12

command-instead-of-module

git used in place of git module

Check warning on line 11 in etc/kayobe/ansible/check-kolla-ansible-version.yml

GitHub Actions / Ansible 2.17 lint with Python 3.10

command-instead-of-module

git used in place of git module
ansible.builtin.command:
cmd: git describe --tags
chdir: "{{ lookup('ansible.builtin.env', 'KOLLA_SOURCE_PATH') }}"
dest: "{{ kayobe_temp_dir.path }}/kayobe-git"
version: stackhpc/{{ openstack_release }}
- name: Get tag from Kayobe commit

Check warning on line 43 in etc/kayobe/ansible/check-kayobe-version.yml

GitHub Actions / Ansible 2.18 lint with Python 3.12

command-instead-of-module

git used in place of git module

Check warning on line 43 in etc/kayobe/ansible/check-kayobe-version.yml

GitHub Actions / Ansible 2.17 lint with Python 3.10

command-instead-of-module

git used in place of git module
ansible.builtin.command:
cmd: git describe --tags {{ kayobe_git_commit.stdout }}
chdir: "{{ kayobe_temp_dir.path }}/kayobe-git"