commit d91a8c121c37ee3c5232f4d044d602ea9f3c1e76 Author: Bogdan Dobrelya Date: Mon Sep 28 11:54:34 2020 +0200 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) diff --git a/environments/undercloud/undercloud-minion.yaml b/environments/undercloud/undercloud-minion.yaml index cd06124..68b9cbb 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 6d0a53a..2efb0a2 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' resource_registry: # this network config is assumed by the tripleo deploy command OS::TripleO::UndercloudMinion::Net::SoftwareConfig: ../../net-config-undercloud.yaml