From 5c3b374fb482f77fbf48161c8501db5e4d93f3aa Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Mon, 28 Sep 2020 11:54:34 +0200 Subject: [PATCH] Also configure Ironic for UC minions There appears to be an inconsistency in the ironic configuration between the undercloud vs the minion. The minion has: enabled_inspect_interfaces=no-inspect The undercloud has: enabled_inspect_interfaces=idrac,ilo,inspector,no-inspect,redfish Fix this by adding the same default params for Ironic on UC minions as the main undercloud environment defines it. Change-Id: I0aaf6a9e5ac0a2f7ed95c8f046a4df6147ff0edb Signed-off-by: Bogdan Dobrelya (cherry picked from commit 31831cf4eb26f780aa4a5b31f6fe3078cc1cece4) --- .../undercloud/undercloud-minion.yaml | 76 +++++++++++++++++++ sample-env-generator/undercloud-minion.yaml | 43 +++++++++++ 2 files changed, 119 insertions(+) diff --git a/environments/undercloud/undercloud-minion.yaml b/environments/undercloud/undercloud-minion.yaml index 20c62d9505..48e4fb1219 100644 --- a/environments/undercloud/undercloud-minion.yaml +++ b/environments/undercloud/undercloud-minion.yaml @@ -16,6 +16,82 @@ parameter_defaults: # Type: boolean EnablePackageInstall: True + # Type of disk cleaning before and between deployments, "full" for full cleaning, "metadata" to clean only disk metadata (partition table). + # Type: string + IronicCleaningDiskErase: metadata + + # Name or UUID of the *overcloud* network used for cleaning bare metal nodes. The default value of "provisioning" can be left during the initial deployment (when no networks are created yet) and should be changed to an actual UUID in a post-deployment stack update. + # Type: string + IronicCleaningNetwork: ctlplane + + # Inspect interface implementation to use by default. Leave empty to use the hardware type default. + # Type: string + IronicDefaultInspectInterface: inspector + + # Whether to enable use of staging drivers. + # Type: boolean + IronicEnableStagingDrivers: True + + # Enabled boot interface implementations. Each hardware type must have at least one valid implementation enabled. + # Type: comma_delimited_list + IronicEnabledBootInterfaces: ['pxe', 'ilo-pxe'] + + # Enabled console interface implementations. Each hardware type must have at least one valid implementation enabled. + # Type: comma_delimited_list + IronicEnabledConsoleInterfaces: ['ipmitool-socat', 'ilo', 'no-console'] + + # Enabled deploy interface implementations. Each hardware type must have at least one valid implementation enabled. + # Type: comma_delimited_list + IronicEnabledDeployInterfaces: ['iscsi', 'direct', 'ansible'] + + # Enabled Ironic hardware types + # Type: comma_delimited_list + IronicEnabledHardwareTypes: ['ipmi', 'redfish', 'idrac', 'ilo'] + + # Enabled inspect interface implementations. Each hardware type must have at least one valid implementation enabled. + # Type: comma_delimited_list + IronicEnabledInspectInterfaces: ['inspector', 'no-inspect'] + + # Enabled management interface implementations. Each hardware type must have at least one valid implementation enabled. + # Type: comma_delimited_list + IronicEnabledManagementInterfaces: ['ipmitool', 'redfish', 'idrac', 'ilo'] + + # Enabled network interface implementations. Each hardware type must have at least one valid implementation enabled. + # Type: comma_delimited_list + IronicEnabledNetworkInterfaces: ['flat'] + + # Enabled power interface implementations. Each hardware type must have at least one valid implementation enabled. + # Type: comma_delimited_list + IronicEnabledPowerInterfaces: ['ipmitool', 'redfish', 'idrac', 'ilo'] + + # Enabled RAID interface implementations. Each hardware type must have at least one valid implementation enabled. + # Type: comma_delimited_list + IronicEnabledRaidInterfaces: ['no-raid'] + + # Enabled rescue interface implementations. Each hardware type must have at least one valid implementation enabled. + # Type: comma_delimited_list + IronicEnabledRescueInterfaces: ['no-rescue', 'agent'] + + # Enabled storage interface implementations. Each hardware type must have at least one valid implementation enabled. + # Type: comma_delimited_list + IronicEnabledStorageInterfaces: ['noop'] + + # Enabled vendor interface implementations. Each hardware type must have at least one valid implementation enabled. + # Type: comma_delimited_list + IronicEnabledVendorInterfaces: ['ipmitool', 'idrac', 'no-vendor'] + + # Whether to force power state during sync. + # Type: boolean + IronicForcePowerStateDuringSync: False + + # Name or UUID of the *overcloud* network used for provisioning of bare metal nodes, if IronicDefaultNetworkInterface is set to "neutron". The default value of "provisioning" can be left during the initial deployment (when no networks are created yet) and should be changed to an actual UUID in a post-deployment stack update. + # Type: string + IronicProvisioningNetwork: ctlplane + + # Name or UUID of the *overcloud* network used for resucing of bare metal nodes, if IronicDefaultRescueInterface is not set to "no-rescue". The default value of "provisioning" can be left during the initial deployment (when no networks are created yet) and should be changed to an actual UUID in a post-deployment stack update. + # Type: string + IronicRescuingNetwork: ctlplane + # NTP servers list. Defaulted to a set of pool.ntp.org servers in order to have a sane default for Pacemaker deployments when not configuring this parameter by default. # Type: comma_delimited_list NtpServer: ['0.pool.ntp.org', '1.pool.ntp.org', '2.pool.ntp.org', '3.pool.ntp.org'] diff --git a/sample-env-generator/undercloud-minion.yaml b/sample-env-generator/undercloud-minion.yaml index 1999a1e005..416cc2debc 100644 --- a/sample-env-generator/undercloud-minion.yaml +++ b/sample-env-generator/undercloud-minion.yaml @@ -24,6 +24,27 @@ environments: parameters: - SoftwareConfigTransport - DnsServers + deployment/ironic/ironic-conductor-container-puppet.yaml: + parameters: + - IronicCleaningDiskErase + - IronicCleaningNetwork + - IronicDefaultInspectInterface + - IronicEnabledBootInterfaces + - IronicEnabledConsoleInterfaces + - IronicEnabledDeployInterfaces + - IronicEnabledHardwareTypes + - IronicEnabledInspectInterfaces + - IronicEnabledManagementInterfaces + - IronicEnabledNetworkInterfaces + - IronicEnabledPowerInterfaces + - IronicEnabledRaidInterfaces + - IronicEnabledRescueInterfaces + - IronicEnabledStorageInterfaces + - IronicEnabledVendorInterfaces + - IronicEnableStagingDrivers + - IronicForcePowerStateDuringSync + - IronicProvisioningNetwork + - IronicRescuingNetwork sample_values: # Normal bits for standalone StackAction: CREATE @@ -32,6 +53,28 @@ environments: SshFirewallAllowAll: true HeatEngineOptVolumes: - /usr/lib/heat:/usr/lib/heat:ro + IronicCleaningDiskErase: 'metadata' + IronicCorsAllowedOrigin: '*' + IronicDefaultInspectInterface: 'inspector' + IronicDefaultResourceClass: 'baremetal' + IronicEnabledHardwareTypes: ['ipmi', 'redfish', 'idrac', 'ilo'] + IronicEnabledBootInterfaces: ['pxe', 'ilo-pxe'] + IronicEnabledConsoleInterfaces: ['ipmitool-socat', 'ilo', 'no-console'] + IronicEnabledDeployInterfaces: ['iscsi', 'direct', 'ansible'] + IronicEnabledInspectInterfaces: ['inspector', 'no-inspect'] + IronicEnabledManagementInterfaces: ['ipmitool', 'redfish', 'idrac', 'ilo'] + IronicEnabledNetworkInterfaces: ['flat'] + IronicEnabledPowerInterfaces: ['ipmitool', 'redfish', 'idrac', 'ilo'] + IronicEnabledRaidInterfaces: ['no-raid'] + IronicEnabledStorageInterfaces: ['noop'] + IronicEnabledVendorInterfaces: ['ipmitool', 'idrac', 'no-vendor'] + IronicEnableStagingDrivers: true + IronicCleaningNetwork: 'ctlplane' + IronicForcePowerStateDuringSync: false + IronicInspectorCollectors: default,extra-hardware,numa-topology,logs + IronicInspectorInterface: br-ctlplane + IronicProvisioningNetwork: 'ctlplane' + IronicRescuingNetwork: 'ctlplane' UndercloudMinionExtraConfig: heat::keystone::authtoken::memcached_servers: "%{hiera('memcached::listen_ip')}:11211" heat::cache::memcache_servers: "%{hiera('memcached::listen_ip')}:11211"