integ/config/puppet-modules/openstack/puppet-nova-11.4.0/centos/patches/0006-Create-Nova-ironic-conf.patch
Scott Little bab9bb6b69 Internal restructuring of stx-integ
Create new directories:
   ceph
   config
   config-files
   filesystem
   kernel
   kernel/kernel-modules
   ldap
   logging
   strorage-drivers
   tools
   utilities
   virt

Retire directories:
   connectivity
   core
   devtools
   support
   extended

Delete two packages:
   tgt
   irqbalance

Relocated packages:
   base/
      dhcp
      initscripts
      libevent
      lighttpd
      linuxptp
      memcached
      net-snmp
      novnc
      ntp
      openssh
      pam
      procps
      sanlock
      shadow
      sudo
      systemd
      util-linux
      vim
      watchdog

   ceph/
      python-cephclient

   config/
      facter
      puppet-4.8.2
      puppet-modules

   filesystem/
      e2fsprogs
      nfs-utils
      nfscheck

   kernel/
      kernel-std
      kernel-rt

   kernel/kernel-modules/
      mlnx-ofa_kernel

   ldap/
      nss-pam-ldapd
      openldap

   logging/
      syslog-ng
      logrotate

   networking/
      lldpd
      iproute
      mellanox
      python-ryu
      mlx4-config

   python/
      python-2.7.5
      python-django
      python-gunicorn
      python-setuptools
      python-smartpm
      python-voluptuous

   security/
      shim-signed
      shim-unsigned
      tboot

   strorage-drivers/
      python-3parclient
      python-lefthandclient

   virt/
      cloud-init
      libvirt
      libvirt-python
      qemu

   tools/
      storage-topology
      vm-topology

   utilities/
      tis-extensions
      namespace-utils
      nova-utils
      update-motd

Change-Id: I37ade764d873c701b35eac5881eb40412ba64a86
Story: 2002801
Task: 22687
Signed-off-by: Scott Little <scott.little@windriver.com>
2018-08-01 10:06:31 -04:00

1026 lines
40 KiB
Diff

commit 9355e784a0e7ac3ba25eaa6c95a493ebcb12486f
Author: Shoaib Nasir <shoaib.nasir@windriver.com>
Date: Fri Dec 8 15:21:58 2017 -0500
WRS: 0006-Create-Nova-ironic-conf.patch
diff --git a/lib/puppet/provider/nova_ironic_config/openstackconfig.rb b/lib/puppet/provider/nova_ironic_config/openstackconfig.rb
new file mode 100644
index 0000000..d600c13
--- /dev/null
+++ b/lib/puppet/provider/nova_ironic_config/openstackconfig.rb
@@ -0,0 +1,10 @@
+Puppet::Type.type(:nova_ironic_config).provide(
+ :openstackconfig,
+ :parent => Puppet::Type.type(:openstack_config).provider(:ruby)
+) do
+
+ def self.file_path
+ '/etc/nova/nova-ironic.conf'
+ end
+
+end
diff --git a/lib/puppet/type/nova_ironic_config.rb b/lib/puppet/type/nova_ironic_config.rb
new file mode 100644
index 0000000..07ffbc1
--- /dev/null
+++ b/lib/puppet/type/nova_ironic_config.rb
@@ -0,0 +1,61 @@
+Puppet::Type.newtype(:nova_ironic_config) do
+
+ ensurable
+
+ newparam(:name, :namevar => true) do
+ desc 'Section/setting name to manage from nova.conf'
+ newvalues(/\S+\/\S+/)
+ end
+
+ newproperty(:value, :array_matching => :all) do
+ desc 'The value of the setting to be defined.'
+ def insync?(is)
+ return true if @should.empty?
+ return false unless is.is_a? Array
+ return false unless is.length == @should.length
+ return (
+ is & @should == is or
+ is & @should.map(&:to_s) == is
+ )
+ end
+ munge do |value|
+ value = value.to_s.strip
+ value.capitalize! if value =~ /^(true|false)$/i
+ value
+ end
+
+ def is_to_s( currentvalue )
+ if resource.secret?
+ return '[old secret redacted]'
+ else
+ return currentvalue
+ end
+ end
+
+ def should_to_s( newvalue )
+ if resource.secret?
+ return '[new secret redacted]'
+ else
+ return newvalue
+ end
+ end
+ end
+
+ newparam(:secret, :boolean => true) do
+ desc 'Whether to hide the value from Puppet logs. Defaults to `false`.'
+
+ newvalues(:true, :false)
+
+ defaultto false
+ end
+
+ newparam(:ensure_absent_val) do
+ desc 'A value that is specified as the value property will behave as if ensure => absent was specified'
+ defaultto('<SERVICE DEFAULT>')
+ end
+
+ autorequire(:package) do
+ 'nova-common'
+ end
+
+end
diff --git a/manifests/cache.pp b/manifests/cache.pp
index 9befa4f..a55b0de 100644
--- a/manifests/cache.pp
+++ b/manifests/cache.pp
@@ -114,4 +114,20 @@ class nova::cache (
memcache_pool_unused_timeout => $memcache_pool_unused_timeout,
memcache_pool_connection_get_timeout => $memcache_pool_connection_get_timeout,
}
+
+ oslo::cache { 'nova_ironic_config':
+ config_prefix => $config_prefix,
+ expiration_time => $expiration_time,
+ backend => $backend,
+ backend_argument => $backend_argument,
+ proxies => $proxies,
+ enabled => $enabled,
+ debug_cache_backend => $debug_cache_backend,
+ memcache_servers => $memcache_servers,
+ memcache_dead_retry => $memcache_dead_retry,
+ memcache_socket_timeout => $memcache_socket_timeout,
+ memcache_pool_maxsize => $memcache_pool_maxsize,
+ memcache_pool_unused_timeout => $memcache_pool_unused_timeout,
+ memcache_pool_connection_get_timeout => $memcache_pool_connection_get_timeout,
+ }
}
diff --git a/manifests/cells.pp b/manifests/cells.pp
index 5649633..857388e 100644
--- a/manifests/cells.pp
+++ b/manifests/cells.pp
@@ -169,9 +169,12 @@ class nova::cells (
'parent': {
nova_config { 'DEFAULT/compute_api_class': value => 'nova.compute.cells_api.ComputeCellsAPI' }
nova_config { 'cells/cell_type': value => 'api' }
+ nova_ironic_config { 'DEFAULT/compute_api_class': value => 'nova.compute.cells_api.ComputeCellsAPI' }
+ nova_ironic_config { 'cells/cell_type': value => 'api' }
}
'child': {
nova_config { 'cells/cell_type': value => 'compute' }
+ nova_ironic_config { 'cells/cell_type': value => 'compute' }
}
default: { fail("Unsupported cell_type parameter value: '${cell_type}'. Should be 'parent' or 'child'.") }
}
@@ -198,6 +201,22 @@ class nova::cells (
'cells/scheduler': value => $scheduler;
'cells/scheduler_weight_classes': value => $scheduler_weight_classes;
}
+ nova_ironic_config {
+ 'cells/bandwidth_update_interval': value => $bandwidth_update_interval;
+ 'cells/call_timeout': value => $call_timeout;
+ 'cells/capabilities': value => join($capabilities, ',');
+ 'cells/db_check_interval': value => $db_check_interval;
+ 'cells/enable': value => $enabled;
+ 'cells/instance_updated_at_threshold': value => $instance_updated_at_threshold;
+ 'cells/instance_update_num_instances': value => $instance_update_num_instances;
+ 'cells/max_hop_count': value => $max_hop_count;
+ 'cells/mute_child_interval': value => $mute_child_interval;
+ 'cells/mute_weight_multiplier': value => $mute_weight_multiplier;
+ 'cells/mute_weight_value': value => $mute_weight_value;
+ 'cells/name': value => $cell_name;
+ 'cells/reserve_percent': value => $reserve_percent;
+ 'cells/rpc_driver_queue_base': value => $rpc_driver_queue_base;
+ }
nova::generic_service { 'cells':
enabled => $enabled,
diff --git a/manifests/compute.pp b/manifests/compute.pp
index 4c81d2b..36d2e7a 100644
--- a/manifests/compute.pp
+++ b/manifests/compute.pp
@@ -237,6 +237,22 @@ class nova::compute (
'DEFAULT/shared_pcpu_map': value => join(any2array($shared_pcpu_map), ',');
}
+ nova_ironic_config {
+ 'DEFAULT/reserved_host_memory_mb': value => '0';
+ 'DEFAULT/heal_instance_info_cache_interval': value => $heal_instance_info_cache_interval;
+ 'DEFAULT/resize_confirm_window': value => $resize_confirm_window;
+ 'DEFAULT/vcpu_pin_set': value => $vcpu_pin_set_real;
+ 'DEFAULT/resume_guests_state_on_host_boot': value => $resume_guests_state_on_host_boot;
+ 'key_manager/api_class': value => $keymgr_api_class;
+ 'barbican/auth_endpoint': value => $barbican_auth_endpoint;
+ 'barbican/barbican_endpoint': value => $barbican_endpoint;
+ 'barbican/barbican_api_version': value => $barbican_api_version;
+ 'DEFAULT/max_concurrent_live_migrations': value => $max_concurrent_live_migrations;
+ 'compute/consecutive_build_service_disable_threshold':
+ value => $consecutive_build_service_disable_threshold;
+ 'DEFAULT/shared_pcpu_map': value => join(any2array($shared_pcpu_map), ',');
+ }
+
## Only override build default if value is provided at runtime.
## Setting to () has effect of calculating maximum 2M hugepages.
if ($compute_reserved_vm_memory_2M and ($compute_reserved_vm_memory_2M != '()')) {
@@ -266,15 +282,27 @@ class nova::compute (
$vncserver_proxyclient_address;
'vnc/keymap': value => $vnc_keymap;
}
+ nova_ironic_config {
+ 'vnc/vncserver_proxyclient_address': value =>
+ $vncserver_proxyclient_address;
+ 'vnc/keymap': value => $vnc_keymap;
+ }
} else {
nova_config {
'vnc/vncserver_proxyclient_address': ensure => absent;
'vnc/keymap': ensure => absent;
}
+ nova_ironic_config {
+ 'vnc/vncserver_proxyclient_address': ensure => absent;
+ 'vnc/keymap': ensure => absent;
+ }
}
nova_config {
'vnc/enabled': value => $vnc_enabled;
}
+ nova_ironic_config {
+ 'vnc/enabled': value => $vnc_enabled;
+ }
if $neutron_enabled != true and $install_bridge_utils {
# Install bridge-utils if we use nova-network
@@ -295,13 +323,16 @@ class nova::compute (
if $force_config_drive {
nova_config { 'DEFAULT/force_config_drive': value => true }
+ nova_ironic_config { 'DEFAULT/force_config_drive': value => true }
} else {
nova_config { 'DEFAULT/force_config_drive': ensure => absent }
+ nova_ironic_config { 'DEFAULT/force_config_drive': ensure => absent }
}
if $virtio_nic {
# Enable the virtio network card for instances
nova_config { 'DEFAULT/libvirt_use_virtio_for_bridges': value => true }
+ nova_ironic_config { 'DEFAULT/libvirt_use_virtio_for_bridges': value => true }
}
if $instance_usage_audit and $instance_usage_audit_period in ['hour', 'day', 'month', 'year'] {
@@ -309,16 +340,27 @@ class nova::compute (
'DEFAULT/instance_usage_audit': value => $instance_usage_audit;
'DEFAULT/instance_usage_audit_period': value => $instance_usage_audit_period;
}
+ nova_ironic_config {
+ 'DEFAULT/instance_usage_audit': value => $instance_usage_audit;
+ 'DEFAULT/instance_usage_audit_period': value => $instance_usage_audit_period;
+ }
} else {
nova_config {
'DEFAULT/instance_usage_audit': ensure => absent;
'DEFAULT/instance_usage_audit_period': ensure => absent;
}
+ nova_ironic_config {
+ 'DEFAULT/instance_usage_audit': ensure => absent;
+ 'DEFAULT/instance_usage_audit_period': ensure => absent;
+ }
}
nova_config {
'DEFAULT/force_raw_images': value => $force_raw_images;
}
+ nova_ironic_config {
+ 'DEFAULT/force_raw_images': value => $force_raw_images;
+ }
if is_service_default($config_drive_format) or $config_drive_format == 'iso9660' {
ensure_packages($::nova::params::genisoimage_package_name, {
@@ -329,5 +371,8 @@ class nova::compute (
nova_config {
'DEFAULT/config_drive_format': value => $config_drive_format;
}
+ nova_ironic_config {
+ 'DEFAULT/config_drive_format': value => $config_drive_format;
+ }
}
diff --git a/manifests/compute/ironic.pp b/manifests/compute/ironic.pp
index 747436e..8f856d5 100644
--- a/manifests/compute/ironic.pp
+++ b/manifests/compute/ironic.pp
@@ -25,4 +25,10 @@ class nova::compute::ironic (
'DEFAULT/compute_driver': value => $compute_driver;
'DEFAULT/max_concurrent_builds': value => $max_concurrent_builds;
}
+
+ nova_ironic_config {
+ 'DEFAULT/compute_driver': value => $compute_driver;
+ 'DEFAULT/max_concurrent_builds': value => $max_concurrent_builds;
+ 'DEFAULT/reserved_host_memory_mb': value => '0';
+ }
}
diff --git a/manifests/compute/neutron.pp b/manifests/compute/neutron.pp
index 7932792..c135dbc 100644
--- a/manifests/compute/neutron.pp
+++ b/manifests/compute/neutron.pp
@@ -33,6 +33,9 @@ class nova::compute::neutron (
nova_config {
'libvirt/vif_driver': value => $libvirt_vif_driver;
}
+ nova_ironic_config {
+ 'libvirt/vif_driver': value => $libvirt_vif_driver;
+ }
if $libvirt_vif_driver == 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver' and $force_snat_range {
# Validate ip and mask for force_snat_range
@@ -41,6 +44,9 @@ class nova::compute::neutron (
nova_config {
'DEFAULT/force_snat_range': value => $force_snat_range;
}
+ nova_ironic_config {
+ 'DEFAULT/force_snat_range': value => $force_snat_range;
+ }
} else {
fail('force_snat_range should be IPv4 or IPv6 CIDR notation')
}
@@ -48,16 +54,25 @@ class nova::compute::neutron (
nova_config {
'DEFAULT/force_snat_range': ensure => absent;
}
+ nova_ironic_config {
+ 'DEFAULT/force_snat_range': ensure => absent;
+ }
}
if $libvirt_qemu_dpdk_options != undef {
nova_config {
'libvirt/qemu_dpdk_options': value => $libvirt_qemu_dpdk_options;
}
+ nova_ironic_config {
+ 'libvirt/qemu_dpdk_options': value => $libvirt_qemu_dpdk_options;
+ }
} else {
nova_config {
'libvirt/qemu_dpdk_options': ensure => absent;
}
+ nova_ironic_config {
+ 'libvirt/qemu_dpdk_options': ensure => absent;
+ }
}
}
diff --git a/manifests/compute/pci.pp b/manifests/compute/pci.pp
index c0c62d4..30b4dba 100644
--- a/manifests/compute/pci.pp
+++ b/manifests/compute/pci.pp
@@ -28,4 +28,8 @@ class nova::compute::pci(
nova_config {
'pci/passthrough_whitelist': value => $passthrough_real;
}
-}
\ No newline at end of file
+
+ nova_ironic_config {
+ 'pci/passthrough_whitelist': value => $passthrough_real;
+ }
+}
diff --git a/manifests/compute/rbd.pp b/manifests/compute/rbd.pp
index 6ad9907..6743cb6 100644
--- a/manifests/compute/rbd.pp
+++ b/manifests/compute/rbd.pp
@@ -89,12 +89,19 @@ class nova::compute::rbd (
nova_config {
'libvirt/rbd_user': value => $libvirt_rbd_user;
}
+ nova_ironic_config {
+ 'libvirt/rbd_user': value => $libvirt_rbd_user;
+ }
if $libvirt_rbd_secret_uuid {
nova_config {
'libvirt/rbd_secret_uuid': value => $libvirt_rbd_secret_uuid;
}
+ nova_ironic_config {
+ 'libvirt/rbd_secret_uuid': value => $libvirt_rbd_secret_uuid;
+ }
+
file { '/etc/nova/secret.xml':
content => template('nova/secret.xml-compute.erb'),
require => Anchor['nova::config::begin'],
@@ -131,11 +138,20 @@ class nova::compute::rbd (
'libvirt/images_rbd_pool': value => $libvirt_images_rbd_pool;
'libvirt/images_rbd_ceph_conf': value => $libvirt_images_rbd_ceph_conf;
}
+ nova_ironic_config {
+ 'libvirt/images_type': value => 'rbd';
+ 'libvirt/images_rbd_pool': value => $libvirt_images_rbd_pool;
+ 'libvirt/images_rbd_ceph_conf': value => $libvirt_images_rbd_ceph_conf;
+ }
} else {
nova_config {
'libvirt/images_rbd_pool': ensure => absent;
'libvirt/images_rbd_ceph_conf': ensure => absent;
}
+ nova_ironic_config {
+ 'libvirt/images_rbd_pool': ensure => absent;
+ 'libvirt/images_rbd_ceph_conf': ensure => absent;
+ }
}
}
diff --git a/manifests/compute/serial.pp b/manifests/compute/serial.pp
index 422c0af..83d1526 100644
--- a/manifests/compute/serial.pp
+++ b/manifests/compute/serial.pp
@@ -31,4 +31,11 @@ class nova::compute::serial(
'serial_console/base_url': value => $base_url;
'serial_console/proxyclient_address': value => $proxyclient_address;
}
+
+ nova_ironic_config {
+ 'serial_console/enabled': value => true;
+ 'serial_console/port_range': value => $port_range;
+ 'serial_console/base_url': value => $base_url;
+ 'serial_console/proxyclient_address': value => $proxyclient_address;
+ }
}
diff --git a/manifests/compute/spice.pp b/manifests/compute/spice.pp
index cdfc739..06746b3 100644
--- a/manifests/compute/spice.pp
+++ b/manifests/compute/spice.pp
@@ -55,6 +55,9 @@ class nova::compute::spice(
nova_config {
'spice/html5proxy_base_url': value => $html5proxy_base_url;
}
+ nova_ironic_config {
+ 'spice/html5proxy_base_url': value => $html5proxy_base_url;
+ }
}
nova_config {
@@ -64,4 +67,12 @@ class nova::compute::spice(
'spice/server_proxyclient_address': value => $server_proxyclient_address;
'spice/keymap': value => $keymap;
}
+
+ nova_ironic_config {
+ 'spice/enabled': value => true;
+ 'spice/agent_enabled': value => $agent_enabled;
+ 'spice/server_listen': value => $server_listen;
+ 'spice/server_proxyclient_address': value => $server_proxyclient_address;
+ 'spice/keymap': value => $keymap;
+ }
}
diff --git a/manifests/compute/vmware.pp b/manifests/compute/vmware.pp
index 53586d2..31289e9 100644
--- a/manifests/compute/vmware.pp
+++ b/manifests/compute/vmware.pp
@@ -102,6 +102,21 @@ class nova::compute::vmware(
'vmware/datastore_regex': value => $datastore_regex;
}
+ nova_ironic_config {
+ 'DEFAULT/compute_driver': value => $compute_driver;
+ 'vmware/host_ip': value => $host_ip;
+ 'vmware/host_username': value => $host_username;
+ 'vmware/host_password': value => $host_password;
+ 'vmware/cluster_name': value => $cluster_name;
+ 'vmware/api_retry_count': value => $api_retry_count;
+ 'vmware/maximum_objects': value => $maximum_objects;
+ 'vmware/task_poll_interval': value => $task_poll_interval;
+ 'vmware/use_linked_clone': value => $use_linked_clone;
+ 'vmware/insecure': value => $insecure;
+ 'vmware/ca_file': value => $ca_file;
+ 'vmware/datastore_regex': value => $datastore_regex;
+ }
+
package { 'python-suds':
ensure => present,
tag => ['openstack', 'nova-support-package'],
diff --git a/manifests/config.pp b/manifests/config.pp
index d138b33..806b474 100644
--- a/manifests/config.pp
+++ b/manifests/config.pp
@@ -30,13 +30,16 @@
class nova::config (
$nova_config = {},
$nova_paste_api_ini = {},
+ $nova_ironic_config = {},
) {
include ::nova::deps
validate_hash($nova_config)
+ validate_hash($nova_ironic_config)
validate_hash($nova_paste_api_ini)
create_resources('nova_config', $nova_config)
+ create_resources('nova_ironic_config', $nova_ironic_config)
create_resources('nova_paste_api_ini', $nova_paste_api_ini)
}
diff --git a/manifests/init.pp b/manifests/init.pp
index 66e16a8..0154fe1 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -642,10 +642,14 @@ but should be one of: ssh-rsa, ssh-dsa, ssh-ecdsa.")
resources { 'nova_config':
purge => $purge_config,
}
+ resources { 'nova_ironic_config':
+ purge => $purge_config,
+ }
if $image_service == 'nova.image.glance.GlanceImageService' {
if $glance_api_servers {
nova_config { 'glance/api_servers': value => $glance_api_servers }
+ nova_ironic_config { 'glance/api_servers': value => $glance_api_servers }
}
}
@@ -658,6 +662,15 @@ but should be one of: ssh-rsa, ssh-dsa, ssh-ecdsa.")
'DEFAULT/disk_allocation_ratio': value => $disk_allocation_ratio;
}
+ nova_ironic_config {
+ 'api/auth_strategy': value => $auth_strategy;
+ 'DEFAULT/image_service': value => $image_service;
+ 'DEFAULT/host': value => 'controller';
+ 'DEFAULT/cpu_allocation_ratio': value => $cpu_allocation_ratio;
+ 'DEFAULT/ram_allocation_ratio': value => $ram_allocation_ratio;
+ 'DEFAULT/disk_allocation_ratio': value => $disk_allocation_ratio;
+ }
+
oslo::messaging::rabbit {'nova_config':
rabbit_password => $rabbit_password,
rabbit_userid => $rabbit_userid,
@@ -678,6 +691,26 @@ but should be one of: ssh-rsa, ssh-dsa, ssh-ecdsa.")
rabbit_ha_queues => $rabbit_ha_queues,
}
+ oslo::messaging::rabbit {'nova_ironic_config':
+ rabbit_password => $rabbit_password,
+ rabbit_userid => $rabbit_userid,
+ rabbit_virtual_host => $rabbit_virtual_host,
+ rabbit_use_ssl => $rabbit_use_ssl,
+ heartbeat_timeout_threshold => $rabbit_heartbeat_timeout_threshold,
+ heartbeat_rate => $rabbit_heartbeat_rate,
+ kombu_reconnect_delay => $kombu_reconnect_delay,
+ amqp_durable_queues => $amqp_durable_queues,
+ kombu_compression => $kombu_compression,
+ kombu_ssl_ca_certs => $kombu_ssl_ca_certs,
+ kombu_ssl_certfile => $kombu_ssl_certfile,
+ kombu_ssl_keyfile => $kombu_ssl_keyfile,
+ kombu_ssl_version => $kombu_ssl_version,
+ rabbit_hosts => $rabbit_hosts,
+ rabbit_host => $rabbit_host,
+ rabbit_port => $rabbit_port,
+ rabbit_ha_queues => $rabbit_ha_queues,
+ }
+
oslo::messaging::amqp { 'nova_config':
server_request_prefix => $amqp_server_request_prefix,
broadcast_prefix => $amqp_broadcast_prefix,
@@ -697,6 +730,25 @@ but should be one of: ssh-rsa, ssh-dsa, ssh-ecdsa.")
password => $amqp_password,
}
+ oslo::messaging::amqp { 'nova_ironic_config':
+ server_request_prefix => $amqp_server_request_prefix,
+ broadcast_prefix => $amqp_broadcast_prefix,
+ group_request_prefix => $amqp_group_request_prefix,
+ container_name => $amqp_container_name,
+ idle_timeout => $amqp_idle_timeout,
+ trace => $amqp_trace,
+ ssl_ca_file => $amqp_ssl_ca_file,
+ ssl_cert_file => $amqp_ssl_cert_file,
+ ssl_key_file => $amqp_ssl_key_file,
+ ssl_key_password => $amqp_ssl_key_password,
+ allow_insecure_clients => $amqp_allow_insecure_clients,
+ sasl_mechanisms => $amqp_sasl_mechanisms,
+ sasl_config_dir => $amqp_sasl_config_dir,
+ sasl_config_name => $amqp_sasl_config_name,
+ username => $amqp_username,
+ password => $amqp_password,
+ }
+
# SSL Options
if $use_ssl {
nova_config {
@@ -706,6 +758,14 @@ but should be one of: ssh-rsa, ssh-dsa, ssh-ecdsa.")
'wsgi/ssl_cert_file' : value => $cert_file;
'wsgi/ssl_key_file' : value => $key_file;
}
+ nova_ironic_config {
+ 'DEFAULT/enabled_ssl_apis' : value => join($enabled_ssl_apis, ',');
+ 'ssl/cert_file' : value => $cert_file;
+ 'ssl/key_file' : value => $key_file;
+ 'wsgi/ssl_cert_file' : value => $cert_file;
+ 'wsgi/ssl_key_file' : value => $key_file;
+ }
+
if $ca_file {
nova_config { 'ssl/ca_file' :
value => $ca_file,
@@ -713,10 +773,20 @@ but should be one of: ssh-rsa, ssh-dsa, ssh-ecdsa.")
nova_config { 'wsgi/ssl_ca_file' :
value => $ca_file,
}
+
+ nova_ironic_config { 'ssl/ca_file' :
+ value => $ca_file,
+ }
+ nova_ironic_config { 'wsgi/ssl_ca_file' :
+ value => $ca_file,
+ }
} else {
nova_config { 'ssl/ca_file' :
ensure => absent,
}
+ nova_ironic_config { 'ssl/ca_file' :
+ ensure => absent,
+ }
}
} else {
nova_config {
@@ -725,6 +795,12 @@ but should be one of: ssh-rsa, ssh-dsa, ssh-ecdsa.")
'ssl/key_file' : ensure => absent;
'ssl/ca_file' : ensure => absent;
}
+ nova_ironic_config {
+ 'DEFAULT/enabled_ssl_apis' : ensure => absent;
+ 'ssl/cert_file' : ensure => absent;
+ 'ssl/key_file' : ensure => absent;
+ 'ssl/ca_file' : ensure => absent;
+ }
}
oslo::messaging::default { 'nova_config':
@@ -732,12 +808,22 @@ but should be one of: ssh-rsa, ssh-dsa, ssh-ecdsa.")
rpc_response_timeout => $rpc_response_timeout,
control_exchange => $control_exchange,
}
+ oslo::messaging::default { 'nova_ironic_config':
+ transport_url => $default_transport_url,
+ rpc_response_timeout => $rpc_response_timeout,
+ control_exchange => $control_exchange,
+ }
oslo::messaging::notifications { 'nova_config':
transport_url => $notification_transport_url,
driver => $notification_driver,
topics => $notification_topics,
}
+ oslo::messaging::notifications { 'nova_ironic_config':
+ transport_url => $notification_transport_url,
+ driver => $notification_driver,
+ topics => $notification_topics,
+ }
nova_config {
'cinder/catalog_info': value => $cinder_catalog_info;
@@ -751,15 +837,32 @@ but should be one of: ssh-rsa, ssh-dsa, ssh-ecdsa.")
'DEFAULT/block_device_allocate_retries': value => $block_device_allocate_retries;
'DEFAULT/block_device_allocate_retries_interval': value => $block_device_allocate_retries_interval;
}
+ nova_ironic_config {
+ 'cinder/catalog_info': value => $cinder_catalog_info;
+ 'os_vif_linux_bridge/use_ipv6': value => $use_ipv6;
+ 'notifications/notify_api_faults': value => $notify_api_faults;
+ # Following may need to be broken out to different nova services
+ 'DEFAULT/state_path': value => $state_path;
+ 'DEFAULT/service_down_time': value => $service_down_time;
+ 'DEFAULT/rootwrap_config': value => $rootwrap_config;
+ 'DEFAULT/report_interval': value => $report_interval;
+ 'DEFAULT/block_device_allocate_retries': value => $block_device_allocate_retries;
+ 'DEFAULT/block_device_allocate_retries_interval': value => $block_device_allocate_retries_interval;
+ }
oslo::concurrency { 'nova_config': lock_path => $lock_path }
+ oslo::concurrency { 'nova_ironic_config': lock_path => $lock_path }
if $notify_on_state_change and $notify_on_state_change in ['vm_state', 'vm_and_task_state'] {
nova_config {
'notifications/notify_on_state_change': value => $notify_on_state_change;
}
+ nova_ironic_config {
+ 'notifications/notify_on_state_change': value => $notify_on_state_change;
+ }
} else {
nova_config { 'notifications/notify_on_state_change': ensure => absent; }
+ nova_ironic_config { 'notifications/notify_on_state_change': ensure => absent; }
}
nova_config {
@@ -774,11 +877,27 @@ but should be one of: ssh-rsa, ssh-dsa, ssh-ecdsa.")
'upgrade_levels/network': value => $upgrade_level_network;
'upgrade_levels/scheduler': value => $upgrade_level_scheduler;
}
+ nova_ironic_config {
+ 'cinder/os_region_name': value => $os_region_name;
+ 'upgrade_levels/cells': value => $upgrade_level_cells;
+ 'upgrade_levels/cert': value => $upgrade_level_cert;
+ 'upgrade_levels/compute': value => $upgrade_level_compute;
+ 'upgrade_levels/conductor': value => $upgrade_level_conductor;
+ 'upgrade_levels/console': value => $upgrade_level_console;
+ 'upgrade_levels/consoleauth': value => $upgrade_level_consoleauth;
+ 'upgrade_levels/intercell': value => $upgrade_level_intercell;
+ 'upgrade_levels/network': value => $upgrade_level_network;
+ 'upgrade_levels/scheduler': value => $upgrade_level_scheduler;
+ }
# WRS:extension:
nova_config {
# WRS extension: default flavor extra-spec hw:mem_page_size
'DEFAULT/default_mempages_size': value => '2048';
}
+ nova_ironic_config {
+ # WRS extension: default flavor extra-spec hw:mem_page_size
+ 'DEFAULT/default_mempages_size': value => '2048';
+ }
}
diff --git a/manifests/ironic/common.pp b/manifests/ironic/common.pp
index f38393a..e2d53f8 100644
--- a/manifests/ironic/common.pp
+++ b/manifests/ironic/common.pp
@@ -62,7 +62,7 @@ class nova::ironic::common (
include ::nova::deps
- nova_config {
+ nova_ironic_config {
'ironic/auth_plugin': value => $auth_plugin;
'ironic/username': value => $username;
'ironic/password': value => $password;
diff --git a/manifests/keystone/authtoken.pp b/manifests/keystone/authtoken.pp
index e2db1a0..fcf65d4 100644
--- a/manifests/keystone/authtoken.pp
+++ b/manifests/keystone/authtoken.pp
@@ -266,4 +266,42 @@ class nova::keystone::authtoken(
revocation_cache_time => $revocation_cache_time,
token_cache_time => $token_cache_time,
}
+
+ keystone::resource::authtoken { 'nova_ironic_config':
+ username => $username,
+ password => $password,
+ project_name => $project_name,
+ auth_url => $auth_url,
+ auth_uri => $auth_uri,
+ auth_version => $auth_version,
+ auth_type => $auth_type,
+ auth_section => $auth_section,
+ user_domain_name => $user_domain_name,
+ project_domain_name => $project_domain_name,
+ insecure => $insecure,
+ cache => $cache,
+ cafile => $cafile,
+ certfile => $certfile,
+ check_revocations_for_cached => $check_revocations_for_cached,
+ delay_auth_decision => $delay_auth_decision,
+ enforce_token_bind => $enforce_token_bind,
+ hash_algorithms => $hash_algorithms,
+ http_connect_timeout => $http_connect_timeout,
+ http_request_max_retries => $http_request_max_retries,
+ include_service_catalog => $include_service_catalog,
+ keyfile => $keyfile,
+ memcache_pool_conn_get_timeout => $memcache_pool_conn_get_timeout,
+ memcache_pool_dead_retry => $memcache_pool_dead_retry,
+ memcache_pool_maxsize => $memcache_pool_maxsize,
+ memcache_pool_socket_timeout => $memcache_pool_socket_timeout,
+ memcache_secret_key => $memcache_secret_key,
+ memcache_security_strategy => $memcache_security_strategy,
+ memcache_use_advanced_pool => $memcache_use_advanced_pool,
+ memcache_pool_unused_timeout => $memcache_pool_unused_timeout,
+ memcached_servers => $memcached_servers,
+ manage_memcache_package => $manage_memcache_package,
+ region_name => $region_name,
+ revocation_cache_time => $revocation_cache_time,
+ token_cache_time => $token_cache_time,
+ }
}
diff --git a/manifests/logging.pp b/manifests/logging.pp
index 4bdaef5..75703e2 100644
--- a/manifests/logging.pp
+++ b/manifests/logging.pp
@@ -133,4 +133,23 @@ class nova::logging(
log_date_format => $log_date_format,
}
+ oslo::log { 'nova_ironic_config':
+ debug => $debug_real,
+ use_stderr => $use_stderr_real,
+ use_syslog => $use_syslog_real,
+ log_dir => $log_dir_real,
+ syslog_log_facility => $log_facility_real,
+ logging_context_format_string => $logging_context_format_string,
+ logging_default_format_string => $logging_default_format_string,
+ logging_debug_format_suffix => $logging_debug_format_suffix,
+ logging_exception_prefix => $logging_exception_prefix,
+ log_config_append => $log_config_append,
+ default_log_levels => $default_log_levels,
+ publish_errors => $publish_errors,
+ fatal_deprecations => $fatal_deprecations,
+ instance_format => $instance_format,
+ instance_uuid_format => $instance_uuid_format,
+ log_date_format => $log_date_format,
+ }
+
}
diff --git a/manifests/network.pp b/manifests/network.pp
index 64c696f..a00d481 100644
--- a/manifests/network.pp
+++ b/manifests/network.pp
@@ -124,11 +124,18 @@ class nova::network(
'DEFAULT/floating_range': value => $floating_range;
'DEFAULT/auto_assign_floating_ip': value => $auto_assign_floating_ip;
}
+ nova_ironic_config {
+ 'DEFAULT/floating_range': value => $floating_range;
+ 'DEFAULT/auto_assign_floating_ip': value => $auto_assign_floating_ip;
+ }
}
nova_config {
'DEFAULT/multi_host': value => $multi_host;
}
+ nova_ironic_config {
+ 'DEFAULT/multi_host': value => $multi_host;
+ }
if has_key($config_overrides, 'vlan_start') {
$vlan_start = $config_overrides['vlan_start']
diff --git a/manifests/network/flat.pp b/manifests/network/flat.pp
index ad2870e..ca50dd7 100644
--- a/manifests/network/flat.pp
+++ b/manifests/network/flat.pp
@@ -30,9 +30,19 @@ class nova::network::flat (
if $public_interface {
nova_config { 'DEFAULT/public_interface': value => $public_interface }
+ nova_ironic_config { 'DEFAULT/public_interface': value => $public_interface }
}
nova_config {
+ rk/flat.pp
+ 'DEFAULT/network_manager': value => 'nova.network.manager.FlatManager';
+ 'DEFAULT/fixed_range': value => $fixed_range;
+ 'DEFAULT/flat_interface': value => $flat_interface;
+ 'DEFAULT/flat_network_bridge': value => $flat_network_bridge;
+ }
+
+ nova_ironic_config {
+ rk/flat.pp
'DEFAULT/network_manager': value => 'nova.network.manager.FlatManager';
'DEFAULT/fixed_range': value => $fixed_range;
'DEFAULT/flat_interface': value => $flat_interface;
diff --git a/manifests/network/flatdhcp.pp b/manifests/network/flatdhcp.pp
index 73d89d7..794e2be 100644
--- a/manifests/network/flatdhcp.pp
+++ b/manifests/network/flatdhcp.pp
@@ -62,6 +62,7 @@ class nova::network::flatdhcp (
if $public_interface {
nova_config { 'DEFAULT/public_interface': value => $public_interface }
+ nova_ironic_config { 'DEFAULT/public_interface': value => $public_interface }
}
nova_config {
@@ -76,4 +77,16 @@ class nova::network::flatdhcp (
'DEFAULT/dhcpbridge_flagfile': value => $dhcpbridge_flagfile;
}
+ nova_ironic_config {
+ 'DEFAULT/network_manager': value => 'nova.network.manager.FlatDHCPManager';
+ 'DEFAULT/fixed_range': value => $fixed_range;
+ 'DEFAULT/flat_interface': value => $flat_interface;
+ 'DEFAULT/flat_network_bridge': value => $flat_network_bridge;
+ 'DEFAULT/force_dhcp_release': value => $force_dhcp_release;
+ 'DEFAULT/flat_injected': value => $flat_injected;
+ 'DEFAULT/dhcp_domain': value => $dhcp_domain;
+ 'DEFAULT/dhcpbridge': value => $dhcpbridge;
+ 'DEFAULT/dhcpbridge_flagfile': value => $dhcpbridge_flagfile;
+ }
+
}
diff --git a/manifests/network/neutron.pp b/manifests/network/neutron.pp
index 8a2c28b..20b0c00 100644
--- a/manifests/network/neutron.pp
+++ b/manifests/network/neutron.pp
@@ -171,4 +171,24 @@ class nova::network::neutron (
'neutron/auth_type': value => $neutron_auth_type;
}
+ nova_ironic_config {
+ 'DEFAULT/dhcp_domain': value => $dhcp_domain;
+ 'DEFAULT/firewall_driver': value => $firewall_driver;
+ 'DEFAULT/vif_plugging_is_fatal': value => false;
+ 'DEFAULT/vif_plugging_timeout': value => $vif_plugging_timeout;
+ 'neutron/default_floating_pool': value => $default_floating_pool_real;
+ 'neutron/url': value => $neutron_url;
+ 'neutron/timeout': value => $neutron_url_timeout;
+ 'neutron/project_name': value => $neutron_project_name;
+ 'neutron/project_domain_name': value => $neutron_project_domain_name;
+ 'neutron/region_name': value => $neutron_region_name;
+ 'neutron/username': value => $neutron_username;
+ 'neutron/user_domain_name': value => $neutron_user_domain_name;
+ 'neutron/password': value => $neutron_password, secret => true;
+ 'neutron/auth_url': value => $neutron_auth_url;
+ 'neutron/ovs_bridge': value => $neutron_ovs_bridge;
+ 'neutron/extension_sync_interval': value => $neutron_extension_sync_interval;
+ 'neutron/auth_type': value => $neutron_auth_type;
+ }
+
}
diff --git a/manifests/network/vlan.pp b/manifests/network/vlan.pp
index f3261b8..aa76196 100644
--- a/manifests/network/vlan.pp
+++ b/manifests/network/vlan.pp
@@ -56,6 +56,7 @@ class nova::network::vlan (
if $public_interface {
nova_config { 'DEFAULT/public_interface': value => $public_interface }
+ nova_ironic_config { 'DEFAULT/public_interface': value => $public_interface }
}
nova_config {
@@ -69,4 +70,15 @@ class nova::network::vlan (
'DEFAULT/dhcpbridge_flagfile': value => $dhcpbridge_flagfile;
}
+ nova_ironic_config {
+ 'DEFAULT/network_manager': value => 'nova.network.manager.VlanManager';
+ 'DEFAULT/fixed_range': value => $fixed_range;
+ 'DEFAULT/vlan_interface': value => $vlan_interface;
+ 'DEFAULT/vlan_start': value => $vlan_start;
+ 'DEFAULT/force_dhcp_release': value => $force_dhcp_release;
+ 'DEFAULT/dhcp_domain': value => $dhcp_domain;
+ 'DEFAULT/dhcpbridge': value => $dhcpbridge;
+ 'DEFAULT/dhcpbridge_flagfile': value => $dhcpbridge_flagfile;
+ }
+
}
diff --git a/manifests/placement.pp b/manifests/placement.pp
index 1ed8ec0..7903dc7 100644
--- a/manifests/placement.pp
+++ b/manifests/placement.pp
@@ -73,4 +73,16 @@ class nova::placement(
'placement/os_interface': value => $os_interface;
}
+ nova_ironic_config {
+ 'placement/auth_type': value => $auth_type;
+ 'placement/auth_url': value => $auth_url;
+ 'placement/password': value => $password, secret => true;
+ 'placement/project_domain_name': value => $project_domain_name;
+ 'placement/project_name': value => $project_name;
+ 'placement/user_domain_name': value => $user_domain_name;
+ 'placement/username': value => $username;
+ 'placement/os_region_name': value => $os_region_name;
+ 'placement/os_interface': value => $os_interface;
+ }
+
}
diff --git a/manifests/policy.pp b/manifests/policy.pp
index 238ca04..2ab9530 100644
--- a/manifests/policy.pp
+++ b/manifests/policy.pp
@@ -41,5 +41,6 @@ class nova::policy (
create_resources('openstacklib::policy::base', $policies, $policy_defaults)
oslo::policy { 'nova_config': policy_file => $policy_path }
+ oslo::policy { 'nova_ironic_config': policy_file => $policy_path }
}
diff --git a/manifests/quota.pp b/manifests/quota.pp
index f4b1682..f71895d 100644
--- a/manifests/quota.pp
+++ b/manifests/quota.pp
@@ -116,4 +116,24 @@ class nova::quota(
'DEFAULT/max_age': value => $max_age;
}
+ nova_ironic_config {
+ 'DEFAULT/quota_instances': value => $quota_instances;
+ 'DEFAULT/quota_cores': value => $quota_cores;
+ 'DEFAULT/quota_ram': value => $quota_ram;
+ 'DEFAULT/quota_floating_ips': value => $quota_floating_ips;
+ 'DEFAULT/quota_fixed_ips': value => $quota_fixed_ips;
+ 'DEFAULT/quota_metadata_items': value => $quota_metadata_items;
+ 'DEFAULT/quota_injected_files': value => $quota_injected_files;
+ 'DEFAULT/quota_injected_file_content_bytes': value => $quota_injected_file_content_bytes;
+ 'DEFAULT/quota_injected_file_path_length': value => $quota_injected_file_path_length;
+ 'DEFAULT/quota_security_groups': value => $quota_security_groups;
+ 'DEFAULT/quota_security_group_rules': value => $quota_security_group_rules;
+ 'DEFAULT/quota_key_pairs': value => $quota_key_pairs;
+ 'DEFAULT/quota_server_groups': value => $quota_server_groups;
+ 'DEFAULT/quota_server_group_members': value => $quota_server_group_members;
+ 'DEFAULT/reservation_expire': value => $reservation_expire;
+ 'DEFAULT/until_refresh': value => $until_refresh;
+ 'DEFAULT/max_age': value => $max_age;
+ }
+
}
diff --git a/manifests/serialproxy.pp b/manifests/serialproxy.pp
index fe1b617..f52b128 100644
--- a/manifests/serialproxy.pp
+++ b/manifests/serialproxy.pp
@@ -39,6 +39,10 @@ class nova::serialproxy(
'serial_console/serialproxy_port': value => $serialproxy_port;
'serial_console/serialproxy_host': value => $serialproxy_host;
}
+ nova_ironic_config {
+ 'serial_console/serialproxy_port': value => $serialproxy_port;
+ 'serial_console/serialproxy_host': value => $serialproxy_host;
+ }
nova::generic_service { 'serialproxy':
enabled => $enabled,
diff --git a/manifests/vncproxy.pp b/manifests/vncproxy.pp
index 23b102f..507e522 100644
--- a/manifests/vncproxy.pp
+++ b/manifests/vncproxy.pp
@@ -51,6 +51,11 @@ class nova::vncproxy(
'vnc/novncproxy_port': value => $port;
}
+ nova_ironic_config {
+ 'vnc/novncproxy_host': value => $host;
+ 'vnc/novncproxy_port': value => $port;
+ }
+
nova::generic_service { 'vncproxy':
enabled => $enabled,
manage_service => $manage_service,
diff --git a/manifests/vncproxy/common.pp b/manifests/vncproxy/common.pp
index 7a6a2ff..d6e26d8 100644
--- a/manifests/vncproxy/common.pp
+++ b/manifests/vncproxy/common.pp
@@ -80,5 +80,8 @@ class nova::vncproxy::common (
nova_config {
'vnc/novncproxy_base_url': value => $vncproxy_base_url;
}
+ nova_ironic_config {
+ 'vnc/novncproxy_base_url': value => $vncproxy_base_url;
+ }
}
}