aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--puppet/all-nodes-config.yaml1
-rw-r--r--puppet/ceph-storage-post.yaml1
-rw-r--r--puppet/cinder-storage-post.yaml1
-rw-r--r--puppet/compute-post.yaml1
-rw-r--r--puppet/controller-post.yaml1
-rw-r--r--puppet/services/ironic-conductor.yaml32
-rw-r--r--puppet/swift-storage-post.yaml1
7 files changed, 37 insertions, 1 deletions
diff --git a/puppet/all-nodes-config.yaml b/puppet/all-nodes-config.yaml
index 86056e42..7aa29b24 100644
--- a/puppet/all-nodes-config.yaml
+++ b/puppet/all-nodes-config.yaml
@@ -28,6 +28,7 @@ parameters:
type: json
DeployIdentifier:
type: string
+ default: ''
description: >
Setting this to a unique value will re-run any deployment tasks which
perform configuration on a Heat stack-update.
diff --git a/puppet/ceph-storage-post.yaml b/puppet/ceph-storage-post.yaml
index a83e0cfe..df6b7249 100644
--- a/puppet/ceph-storage-post.yaml
+++ b/puppet/ceph-storage-post.yaml
@@ -15,6 +15,7 @@ parameters:
default: {}
DeployIdentifier:
type: string
+ default: ''
description: Value which changes if the node configuration may need to be re-applied
resources:
diff --git a/puppet/cinder-storage-post.yaml b/puppet/cinder-storage-post.yaml
index 6416c43e..0620bc6c 100644
--- a/puppet/cinder-storage-post.yaml
+++ b/puppet/cinder-storage-post.yaml
@@ -10,6 +10,7 @@ parameters:
type: json
DeployIdentifier:
type: string
+ default: ''
description: Value which changes if the node configuration may need to be re-applied
RoleData:
type: json
diff --git a/puppet/compute-post.yaml b/puppet/compute-post.yaml
index d0c6082c..358ec5a8 100644
--- a/puppet/compute-post.yaml
+++ b/puppet/compute-post.yaml
@@ -15,6 +15,7 @@ parameters:
default: {}
DeployIdentifier:
type: string
+ default: ''
description: Value which changes if the node configuration may need to be re-applied
resources:
diff --git a/puppet/controller-post.yaml b/puppet/controller-post.yaml
index 4af6cb46..c97c3bc8 100644
--- a/puppet/controller-post.yaml
+++ b/puppet/controller-post.yaml
@@ -15,6 +15,7 @@ parameters:
default: {}
DeployIdentifier:
type: string
+ default: ''
description: Value which changes if the node configuration may need to be re-applied
resources:
diff --git a/puppet/services/ironic-conductor.yaml b/puppet/services/ironic-conductor.yaml
index 8358ff19..4ac9fc30 100644
--- a/puppet/services/ironic-conductor.yaml
+++ b/puppet/services/ironic-conductor.yaml
@@ -18,10 +18,24 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
+ IronicCleaningDiskErase:
+ default: 'full'
+ description: Type of disk cleaning before and between deployments,
+ "full" for full cleaning, "metadata" to clean only disk
+ metadata (partition table).
+ type: string
IronicEnabledDrivers:
- default: ['pxe_ipmitool', 'agent_ipmitool']
+ default: ['pxe_ipmitool', 'pxe_drac', 'pxe_ilo']
description: Enabled Ironic drivers
type: comma_delimited_list
+ IronicIPXEEnabled:
+ default: true
+ description: Whether to use iPXE instead of PXE for deployment.
+ type: boolean
+ IronicIPXEPort:
+ default: 8088
+ description: Port to use for serving images when iPXE is used.
+ type: string
MonitoringSubscriptionIronicConductor:
default: 'overcloud-ironic-conductor'
type: string
@@ -46,7 +60,17 @@ outputs:
# FIXME: I have no idea why neutron_url is in "api" manifest
- ironic::api::neutron_url: {get_param: [EndpointMap, NeutronInternal, uri]}
ironic::conductor::api_url: {get_param: [EndpointMap, IronicInternal, uri_no_suffix]}
+ ironic::conductor::cleaning_disk_erase: {get_param: IronicCleaningDiskErase}
ironic::conductor::enabled_drivers: {get_param: IronicEnabledDrivers}
+ # We need an endpoint containing a real IP, not a VIP here
+ ironic_conductor_http_host: {get_param: [ServiceNetMap, IronicNetwork]}
+ ironic::conductor::http_url:
+ list_join:
+ - ''
+ - - 'http://'
+ - '%{hiera("ironic_conductor_http_host")}:'
+ - {get_param: IronicIPXEPort}
+ ironic::drivers::pxe::ipxe_enabled: {get_param: IronicIPXEEnabled}
ironic::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
# NOTE: bind IP is found in Heat replacing the network name with the
# local node IP for the given network; replacement examples
@@ -55,16 +79,22 @@ outputs:
# internal_api_uri -> [IP]
# internal_api_subnet - > IP/CIDR
ironic::drivers::pxe::tftp_server: {get_param: [ServiceNetMap, IronicNetwork]}
+ # NOTE(dtantsur): UEFI only works with iPXE currently for us
+ ironic::drivers::pxe::uefi_pxe_config_template: '$pybasedir/drivers/modules/ipxe_config.template'
+ ironic::drivers::pxe::uefi_pxe_bootfile_name: 'ipxe.efi'
tripleo.ironic_conductor.firewall_rules:
'134 ironic conductor TFTP':
dport: 69
proto: udp
+ '135 ironic conductor HTTP':
+ dport: {get_param: IronicIPXEPort}
# NOTE(dtantsur): the my_ip parameter is heavily overloaded in
# ironic. It's used as a default value for e.g. TFTP server IP,
# glance and neutron endpoints, virtual console IP. We override
# the TFTP server IP in ironic-conductor.yaml as it should not be
# the VIP, but rather a real IP of the host.
ironic::my_ip: {get_param: [ServiceNetMap, IronicNetwork]}
+ ironic::pxe::common::http_port: {get_param: IronicIPXEPort}
step_config: |
include ::tripleo::profile::base::ironic::conductor
diff --git a/puppet/swift-storage-post.yaml b/puppet/swift-storage-post.yaml
index 859fad2c..ebc54ab0 100644
--- a/puppet/swift-storage-post.yaml
+++ b/puppet/swift-storage-post.yaml
@@ -13,6 +13,7 @@ parameters:
default: {}
DeployIdentifier:
type: string
+ default: ''
description: Value which changes if the node configuration may need to be re-applied
resources: