Merge "Use eval_generate instead of generate"
This commit is contained in:
commit
647f282408
|
@ -24,6 +24,9 @@ Puppet::Type.newtype(:override_resources) do
|
|||
parameters.each do |parameter, value|
|
||||
resource[parameter] = value
|
||||
end
|
||||
if parameters.has_key?('value') and resource.property('ensure')
|
||||
resource['ensure'] = :present
|
||||
end
|
||||
end
|
||||
|
||||
def create_resource(type, title, parameters = {})
|
||||
|
@ -31,7 +34,7 @@ Puppet::Type.newtype(:override_resources) do
|
|||
Puppet::Type.type(type.to_sym).new(parameters)
|
||||
end
|
||||
|
||||
def generate
|
||||
def eval_generate
|
||||
type = self[:type]
|
||||
data = self[:data] || {}
|
||||
defaults = self[:defaults] || {}
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
notice('MODULAR: keystone.pp')
|
||||
|
||||
# Override confguration options
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
override_resources { 'keystone_config':
|
||||
data => $override_configuration['keystone_config']
|
||||
} ~> Service['httpd']
|
||||
|
||||
$network_scheme = hiera_hash('network_scheme', {})
|
||||
$network_metadata = hiera_hash('network_metadata', {})
|
||||
prepare_network_config($network_scheme)
|
||||
|
@ -251,9 +257,3 @@ if ($::operatingsystem == 'Ubuntu') {
|
|||
package_name => 'keystone',
|
||||
}
|
||||
}
|
||||
|
||||
# Override confguration options
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
override_resources { 'keystone_config':
|
||||
data => $override_configuration['keystone_config']
|
||||
}
|
||||
|
|
|
@ -1,7 +1,18 @@
|
|||
notice('MODULAR: openstack-controller.pp')
|
||||
|
||||
$network_scheme = hiera_hash('network_scheme', {})
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
# override nova options
|
||||
override_resources { 'nova_config':
|
||||
data => $override_configuration['nova_config']
|
||||
}
|
||||
# override nova-api options
|
||||
override_resources { 'nova_paste_api_ini':
|
||||
data => $override_configuration['nova_paste_api_ini']
|
||||
}
|
||||
|
||||
Override_resources <||> ~> Service <| tag == 'nova-service' |>
|
||||
|
||||
$network_scheme = hiera_hash('network_scheme', {})
|
||||
$network_metadata = hiera_hash('network_metadata', {})
|
||||
prepare_network_config($network_scheme)
|
||||
|
||||
|
@ -276,16 +287,6 @@ nova_config {
|
|||
'DEFAULT/ram_weight_multiplier': value => '1.0'
|
||||
}
|
||||
|
||||
# override nova options
|
||||
override_resources { 'nova_config':
|
||||
data => $override_configuration['nova_config']
|
||||
}
|
||||
|
||||
# override nova-api options
|
||||
override_resources { 'nova_paste_api_ini':
|
||||
data => $override_configuration['nova_paste_api_ini']
|
||||
}
|
||||
|
||||
if $storage_hash['volumes_ceph'] {
|
||||
package { 'open-iscsi':
|
||||
ensure => present,
|
||||
|
|
|
@ -2,6 +2,14 @@ notice('MODULAR: openstack-network/agents/dhcp.pp')
|
|||
|
||||
$use_neutron = hiera('use_neutron', false)
|
||||
|
||||
if $use_neutron {
|
||||
# override neutron options
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
override_resources { 'neutron_dhcp_agent_config':
|
||||
data => $override_configuration['neutron_dhcp_agent_config']
|
||||
} ~> Service['neutron-dhcp-service']
|
||||
}
|
||||
|
||||
class neutron {}
|
||||
class { 'neutron' :}
|
||||
|
||||
|
@ -36,10 +44,4 @@ if $use_neutron {
|
|||
ensure => 'installed',
|
||||
}
|
||||
|
||||
# override neutron options
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
override_resources { 'neutron_dhcp_agent_config':
|
||||
data => $override_configuration['neutron_dhcp_agent_config']
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,16 +1,22 @@
|
|||
notice('MODULAR: openstack-network/agents/l3.pp')
|
||||
|
||||
$use_neutron = hiera('use_neutron', false)
|
||||
$neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { })
|
||||
$dvr = pick($neutron_advanced_config['neutron_dvr'], false)
|
||||
$controller = roles_include(['controller', 'primary-controller'])
|
||||
$compute = roles_include('compute')
|
||||
|
||||
if $use_neutron and ($controller or ($dvr and $compute)) {
|
||||
# override neutron options
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
override_resources { 'neutron_l3_agent_config':
|
||||
data => $override_configuration['neutron_l3_agent_config']
|
||||
} ~> Service['neutron-l3']
|
||||
}
|
||||
|
||||
class neutron {}
|
||||
class { 'neutron' :}
|
||||
|
||||
$neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { })
|
||||
$dvr = pick($neutron_advanced_config['neutron_dvr'], false)
|
||||
|
||||
$controller = roles_include(['controller', 'primary-controller'])
|
||||
$compute = roles_include('compute')
|
||||
|
||||
if $use_neutron and ($controller or ($dvr and $compute)) {
|
||||
$debug = hiera('debug', true)
|
||||
$metadata_port = '8775'
|
||||
|
@ -54,10 +60,4 @@ if $use_neutron and ($controller or ($dvr and $compute)) {
|
|||
ensure => 'installed',
|
||||
}
|
||||
|
||||
# override neutron options
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
override_resources { 'neutron_l3_agent_config':
|
||||
data => $override_configuration['neutron_l3_agent_config']
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,14 @@ $compute = roles_include($neutron_compute_roles)
|
|||
$neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { })
|
||||
$dvr = pick($neutron_advanced_config['neutron_dvr'], false)
|
||||
|
||||
if $use_neutron and ($controller or ($dvr and $compute)) {
|
||||
# override neutron options
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
override_resources { 'neutron_metadata_agent_config':
|
||||
data => $override_configuration['neutron_metadata_agent_config']
|
||||
} ~> Service['neutron-metadata']
|
||||
}
|
||||
|
||||
class neutron {}
|
||||
class { 'neutron' :}
|
||||
|
||||
|
@ -61,10 +69,4 @@ if $use_neutron and ($controller or ($dvr and $compute)) {
|
|||
ensure => 'installed',
|
||||
}
|
||||
|
||||
# override neutron options
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
override_resources { 'neutron_metadata_agent_config':
|
||||
data => $override_configuration['neutron_metadata_agent_config']
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3,6 +3,14 @@ notice('MODULAR: openstack-network/plugins/ml2.pp')
|
|||
$use_neutron = hiera('use_neutron', false)
|
||||
$compute = roles_include('compute')
|
||||
|
||||
if $use_neutron {
|
||||
# override neutron options
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
override_resources { 'neutron_agent_ovs':
|
||||
data => $override_configuration['neutron_agent_ovs']
|
||||
} ~> Service['neutron-ovs-agent-service']
|
||||
}
|
||||
|
||||
class neutron {}
|
||||
class { 'neutron' :}
|
||||
|
||||
|
@ -154,10 +162,4 @@ if $use_neutron {
|
|||
ensure => 'installed',
|
||||
}
|
||||
|
||||
# override neutron options
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
override_resources { 'neutron_agent_ovs':
|
||||
data => $override_configuration['neutron_agent_ovs']
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3,6 +3,20 @@ notice('MODULAR: openstack-network/server-config.pp')
|
|||
$use_neutron = hiera('use_neutron', false)
|
||||
$compute = roles_include('compute')
|
||||
|
||||
if $use_neutron {
|
||||
# override neutron options
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
override_resources { 'neutron_api_config':
|
||||
data => $override_configuration['neutron_api_config']
|
||||
} ~> Service['neutron-server']
|
||||
override_resources { 'neutron_config':
|
||||
data => $override_configuration['neutron_config']
|
||||
} ~> Service['neutron-server']
|
||||
override_resources { 'neutron_plugin_ml2':
|
||||
data => $override_configuration['neutron_plugin_ml2']
|
||||
} ~> Service['neutron-server']
|
||||
}
|
||||
|
||||
class neutron { }
|
||||
class { 'neutron' : }
|
||||
|
||||
|
@ -202,16 +216,4 @@ if $use_neutron {
|
|||
ensure => 'installed',
|
||||
}
|
||||
|
||||
# override neutron options
|
||||
$override_configuration = hiera_hash('configuration', {})
|
||||
override_resources { 'neutron_api_config':
|
||||
data => $override_configuration['neutron_api_config']
|
||||
}
|
||||
override_resources { 'neutron_config':
|
||||
data => $override_configuration['neutron_config']
|
||||
}
|
||||
override_resources { 'neutron_plugin_ml2':
|
||||
data => $override_configuration['neutron_plugin_ml2']
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -5,6 +5,18 @@ $override_configuration = hiera_hash('configuration', {})
|
|||
$network_metadata = hiera_hash('network_metadata', {})
|
||||
prepare_network_config($network_scheme)
|
||||
|
||||
# override nova options
|
||||
override_resources { 'nova_config':
|
||||
data => $override_configuration['nova_config']
|
||||
}
|
||||
|
||||
# override nova-api options
|
||||
override_resources { 'nova_paste_api_ini':
|
||||
data => $override_configuration['nova_paste_api_ini']
|
||||
}
|
||||
|
||||
Override_resources <||> ~> Service <| tag == 'nova-service' |>
|
||||
|
||||
# Pulling hiera
|
||||
$compute_hash = hiera_hash('compute', {})
|
||||
$public_int = hiera('public_int', undef)
|
||||
|
@ -365,15 +377,6 @@ if $use_monit_real {
|
|||
}
|
||||
}
|
||||
|
||||
# override nova options
|
||||
override_resources { 'nova_config':
|
||||
data => $override_configuration['nova_config']
|
||||
}
|
||||
|
||||
# override nova-api options
|
||||
override_resources { 'nova_paste_api_ini':
|
||||
data => $override_configuration['nova_paste_api_ini']
|
||||
}
|
||||
########################################################################
|
||||
|
||||
|
||||
|
|
|
@ -25,21 +25,21 @@ describe Puppet::Type.type(:override_resources) do
|
|||
it 'should be a resource type to override' do
|
||||
expect {
|
||||
@overres[:type] = ''
|
||||
@overres.generate
|
||||
@overres.eval_generate
|
||||
}.to raise_error(Puppet::Error, /Title should be a resource type to override!$/)
|
||||
end
|
||||
|
||||
it 'should contain resource hash' do
|
||||
expect {
|
||||
@overres[:data] = 'string => data'
|
||||
@overres.generate
|
||||
@overres.eval_generate
|
||||
}.to raise_error(Puppet::Error, /Data should contain resource hash!$/)
|
||||
end
|
||||
|
||||
it 'should contain resource defaults hash' do
|
||||
expect {
|
||||
@overres[:defaults] = 'string => data'
|
||||
@overres.generate
|
||||
@overres.eval_generate
|
||||
}.to raise_error(Puppet::Error, /Defaults should contain resource defaults hash!$/)
|
||||
end
|
||||
|
||||
|
|
|
@ -45,8 +45,13 @@ class Noop
|
|||
catalog = catalog.call if catalog.is_a? Proc
|
||||
ral_catalog = catalog.to_ral
|
||||
ral_catalog.resources.each do |resource|
|
||||
next unless resource.respond_to? :generate
|
||||
generated = resource.generate
|
||||
if resource.respond_to? :generate
|
||||
generated = resource.generate
|
||||
elsif resource.respond_to? :eval_generate
|
||||
generated = resource.eval_generate
|
||||
else
|
||||
next
|
||||
end
|
||||
next unless generated.is_a? Array
|
||||
generated.each do |generated_resource|
|
||||
next unless generated_resource.is_a? Puppet::Type
|
||||
|
|
Loading…
Reference in New Issue