Skip to content

feat: add ironic environment mixins #1729

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: stackhpc/2024.1
Choose a base branch
from
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
dependencies:
- stack-ironic
161 changes: 161 additions & 0 deletions etc/kayobe/environments/stack-ironic-ipmi/inspector.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
---
###############################################################################
# General configuration of inspection.

# Timeout of hardware inspection on baremetal compute nodes, in seconds.
# Default is 1200.
#inspector_inspection_timeout:

###############################################################################
# Ironic inspector PXE configuration.

# List of extra kernel parameters for the inspector default PXE configuration.
#inspector_extra_kernel_options:

# URL of Ironic Python Agent (IPA) kernel image.
#inspector_ipa_kernel_upstream_url:

# URL of checksum of Ironic Python Agent (IPA) kernel image.
#inspector_ipa_kernel_checksum_url:

# Algorithm of checksum of Ironic Python Agent (IPA) kernel image.
#inspector_ipa_kernel_checksum_algorithm:

# URL of Ironic Python Agent (IPA) ramdisk image.
#inspector_ipa_ramdisk_upstream_url:

# URL of checksum of Ironic Python Agent (IPA) ramdisk image.
#inspector_ipa_ramdisk_checksum_url:

# Algorithm of checksum of Ironic Python Agent (IPA) ramdisk image.
#inspector_ipa_ramdisk_checksum_algorithm:

###############################################################################
# Ironic inspector processing configuration.

# List of of default inspector processing plugins.
#inspector_processing_hooks_default:

# List of of additional inspector processing plugins.
inspector_processing_hooks_extra:
- system_name_llc
- system_name_physnet

# List of of additional inspector processing plugins.
#inspector_processing_hooks:

# 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:

# The Ironic driver with which to register newly discovered nodes.
inspector_discovery_enroll_node_driver: ipmi

###############################################################################
# Ironic inspector configuration.

# Ironic inspector option to enable IPMI rules. Set to 'True' by default.
#inspector_rules_ipmi_enabled:

# Ironic inspector IPMI username to set.
#inspector_ipmi_username:

# Ironic inspector IPMI password to set.
#inspector_ipmi_password:

# Ironic inspector default network interface name on which to check for an LLDP
# switch port description to use as the node's name.
#inspector_lldp_switch_port_interface_default:

# Ironic inspector map from hostname to network interface name on which to
# check for an LLDP switch port description to use as the node's name.
#inspector_lldp_switch_port_interface_map:

# Ironic inspector uses IPMI by default enroll the baremetal nodes, however it
# is possible to use Redfish instead. To do that enable Redfish and make sure
# all of the necessary variables below have been properly set.
# Enable inspector Redfish rules. Set to 'False' by default.
#inspector_rules_redfish_enabled:

# Ironic inspector Redfish username to set.
#inspector_redfish_username:

# Ironic inspector Redfish password to set.
#inspector_redfish_password:

# Redfish CA setting. Set to 'True' by default
#inspector_rule_var_redfish_verify_ca:

###############################################################################
# Ironic inspector introspection rules configuration.

# Ironic inspector rule to set IPMI credentials.
#inspector_rule_ipmi_credentials:

# Ironic inspector rule to set deployment kernel.
#inspector_rule_deploy_kernel:

# Ironic inspector rule to set deployment ramdisk.
#inspector_rule_deploy_ramdisk:

# Ironic inspector rule to initialise root device hints.
#inspector_rule_root_hint_init:

# Ironic inspector rule to set serial root device hint.
#inspector_rule_root_hint_serial:

# 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 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 inspector 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:

###############################################################################
# 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:

# Port on which the inspection data store should listen.
#inspector_store_port:

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
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_properties:
capabilities: "{{ ironic_capabilities }}"

ironic_ipmi_verify_ca: false
ironic_ipmi_address: "{{ ipmi_address }}"
ironic_ipmi_username: "{{ secrets_ipmi_baremetal_username }}"
ironic_ipmi_password: "{{ secrets_ipmi_baremetal_password }}"
ironic_capabilities: "boot_option:local,boot_mode:uefi"
Empty file.
151 changes: 151 additions & 0 deletions etc/kayobe/environments/stack-ironic-ipmi/ironic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
---
###############################################################################
# Ironic configuration.

# Specify the list of hardware types to load during service initialization.
kolla_ironic_enabled_hardware_types:
- ipmi

# Specify the list of bios interfaces to load during service initialization.
kolla_ironic_enabled_bios_interfaces:
- no-bios

# Default bios interface to be used for nodes that do not have bios_interface
# field set.
kolla_ironic_default_bios_interface: no-bios

# Specify the list of boot interfaces to load during service initialization.
kolla_ironic_enabled_boot_interfaces:
- ipxe
- pxe

# Default boot interface to be used for nodes that do not have boot_interface
# field set.
kolla_ironic_default_boot_interface: ipxe

# 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: ipmitool-socat

# Specify the list of deploy interfaces to load during service initialization.
kolla_ironic_enabled_deploy_interfaces:
- direct

# Default deploy interface to be used for nodes that do not have
# deploy_interface field set.
kolla_ironic_default_deploy_interface: direct

# 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: inspector

# Specify the list of management interfaces to load during service
# initialization.
kolla_ironic_enabled_management_interfaces:
- ipmitool

# Default management interface to be used for nodes that do not have
# management_interface field set.
kolla_ironic_default_management_interface: ipmitool

# Specify the list of network interfaces to load during service initialization.
kolla_ironic_enabled_network_interfaces:
- noop
- flat
- neutron

# Default network interface to be used for nodes that do not have
# network_interface field set.
kolla_ironic_default_network_interface: neutron

# Specify the list of power interfaces to load during service initialization.
kolla_ironic_enabled_power_interfaces:
- ipmitool

# Default power interface to be used for nodes that do not have power_interface
# field set.
kolla_ironic_default_power_interface: ipmitool

# Specify the list of raid interfaces to load during service initialization.
kolla_ironic_enabled_raid_interfaces:
- agent
- no-raid

# Default raid interface to be used for nodes that do not have
# raid_interface field set.
kolla_ironic_default_raid_interface: no-raid

# 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: no-rescue

# 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: no-vendor

# 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

# 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: >
{{ kolla_ironic_pxe_append_params_default +
kolla_ironic_pxe_append_params_extra }}

###############################################################################
# Ironic Node Configuration

# Whether or not to enable the serial consoles on post configure
ironic_serial_console_autoenable: false

# This defines the start of the range of TCP ports to used for the IPMI socat
# serial consoles
ironic_serial_console_tcp_pool_start: 30000

# This defines the end of the range of TCP ports to used for the IPMI socat
# serial consoles
ironic_serial_console_tcp_pool_end: 31000

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
dependencies:
- stack-ironic
161 changes: 161 additions & 0 deletions etc/kayobe/environments/stack-ironic-redfish/inspector.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
---
###############################################################################
# General configuration of inspection.

# Timeout of hardware inspection on baremetal compute nodes, in seconds.
# Default is 1200.
#inspector_inspection_timeout:

###############################################################################
# Ironic inspector PXE configuration.

# List of extra kernel parameters for the inspector default PXE configuration.
#inspector_extra_kernel_options:

# URL of Ironic Python Agent (IPA) kernel image.
#inspector_ipa_kernel_upstream_url:

# URL of checksum of Ironic Python Agent (IPA) kernel image.
#inspector_ipa_kernel_checksum_url:

# Algorithm of checksum of Ironic Python Agent (IPA) kernel image.
#inspector_ipa_kernel_checksum_algorithm:

# URL of Ironic Python Agent (IPA) ramdisk image.
#inspector_ipa_ramdisk_upstream_url:

# URL of checksum of Ironic Python Agent (IPA) ramdisk image.
#inspector_ipa_ramdisk_checksum_url:

# Algorithm of checksum of Ironic Python Agent (IPA) ramdisk image.
#inspector_ipa_ramdisk_checksum_algorithm:

###############################################################################
# Ironic inspector processing configuration.

# List of of default inspector processing plugins.
#inspector_processing_hooks_default:

# List of of additional inspector processing plugins.
inspector_processing_hooks_extra:
- system_name_llc
- system_name_physnet

# List of of additional inspector processing plugins.
#inspector_processing_hooks:

# 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:

# The Ironic driver with which to register newly discovered nodes.
inspector_discovery_enroll_node_driver: redfish

###############################################################################
# Ironic inspector configuration.

# Ironic inspector option to enable IPMI rules. Set to 'True' by default.
#inspector_rules_ipmi_enabled:

# Ironic inspector IPMI username to set.
#inspector_ipmi_username:

# Ironic inspector IPMI password to set.
#inspector_ipmi_password:

# Ironic inspector default network interface name on which to check for an LLDP
# switch port description to use as the node's name.
#inspector_lldp_switch_port_interface_default:

# Ironic inspector map from hostname to network interface name on which to
# check for an LLDP switch port description to use as the node's name.
#inspector_lldp_switch_port_interface_map:

# Ironic inspector uses IPMI by default enroll the baremetal nodes, however it
# is possible to use Redfish instead. To do that enable Redfish and make sure
# all of the necessary variables below have been properly set.
# Enable inspector Redfish rules. Set to 'False' by default.
#inspector_rules_redfish_enabled:

# Ironic inspector Redfish username to set.
#inspector_redfish_username:

# Ironic inspector Redfish password to set.
#inspector_redfish_password:

# Redfish CA setting. Set to 'True' by default
#inspector_rule_var_redfish_verify_ca:

###############################################################################
# Ironic inspector introspection rules configuration.

# Ironic inspector rule to set IPMI credentials.
#inspector_rule_ipmi_credentials:

# Ironic inspector rule to set deployment kernel.
#inspector_rule_deploy_kernel:

# Ironic inspector rule to set deployment ramdisk.
#inspector_rule_deploy_ramdisk:

# Ironic inspector rule to initialise root device hints.
#inspector_rule_root_hint_init:

# Ironic inspector rule to set serial root device hint.
#inspector_rule_root_hint_serial:

# 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 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 inspector 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:

###############################################################################
# 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:

# Port on which the inspection data store should listen.
#inspector_store_port:

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
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_properties:
capabilities: "{{ ironic_capabilities }}"

ironic_redfish_verify_ca: false
ironic_redfish_address: "{{ redfish_address }}"
ironic_redfish_username: "{{ secrets_redfish_baremetal_username }}"
ironic_redfish_password: "{{ secrets_redfish_baremetal_password }}"
ironic_capabilities: "boot_option:local,boot_mode:uefi"
Empty file.
135 changes: 135 additions & 0 deletions etc/kayobe/environments/stack-ironic-redfish/ironic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
---
###############################################################################
# Ironic configuration.

# Specify the list of hardware types to load during service initialization.
kolla_ironic_enabled_hardware_types:
- redfish

# Specify the list of bios interfaces to load during service initialization.
kolla_ironic_enabled_bios_interfaces:
- redfish

# Default bios interface to be used for nodes that do not have bios_interface
# field set.
kolla_ironic_default_bios_interface: redfish

# Specify the list of boot interfaces to load during service initialization.
kolla_ironic_enabled_boot_interfaces:
- 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: pxe

# Specify the list of console interfaces to load during service initialization.
kolla_ironic_enabled_console_interfaces:
- no-console

# Default console interface to be used for nodes that do not have
# console_interface field set.
kolla_ironic_default_console_interface: no-console

# Specify the list of deploy interfaces to load during service initialization.
kolla_ironic_enabled_deploy_interfaces:
- direct

# Default deploy interface to be used for nodes that do not have
# deploy_interface field set.
kolla_ironic_default_deploy_interface: direct

# 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:
- redfish

# Default management interface to be used for nodes that do not have
# management_interface field set.
kolla_ironic_default_management_interface: redfish

# 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:
- redfish

# Default power interface to be used for nodes that do not have power_interface
# field set.
kolla_ironic_default_power_interface: redfish

# Specify the list of raid interfaces to load during service initialization.
kolla_ironic_enabled_raid_interfaces:
- agent
- redfish

# Default raid interface to be used for nodes that do not have
# raid_interface field set.
kolla_ironic_default_raid_interface: redfish

# Specify the list of rescue interfaces to load during service initialization.
#kolla_ironic_enabled_rescue_interfaces:

# 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:

# 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:

# 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:

###############################################################################
# Ironic Node Configuration

# Whether or not to enable the serial consoles on post configure
#ironic_serial_console_autoenable:

# This defines the start of the range of TCP ports to used for the IPMI socat
# serial consoles
#ironic_serial_console_tcp_pool_start:

# This defines the end of the range of TCP ports to used for the IPMI socat
# serial consoles
#ironic_serial_console_tcp_pool_end:

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
2 changes: 2 additions & 0 deletions etc/kayobe/environments/stack-ironic/inspector.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
inspector_store_enabled: false
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
Empty file.
4 changes: 4 additions & 0 deletions etc/kayobe/environments/stack-ironic/ironic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
kolla_ironic_pxe_append_params_extra:
- "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.15 lint with Python 3.10

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.16 lint with Python 3.12

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.15 lint with Python 3.10

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.16 lint with Python 3.12

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: /tmp/kayobe-git
version: stackhpc/{{ openstack_release }}
- name: Get tag from Kayobe commit

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

GitHub Actions / Ansible 2.15 lint with Python 3.10

command-instead-of-module

git used in place of git module

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

GitHub Actions / Ansible 2.16 lint with Python 3.12

command-instead-of-module

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