bab9bb6b69
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>
1026 lines
40 KiB
Diff
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;
|
|
+ }
|
|
}
|
|
}
|