Don't use proc in title patterns
Using a proc in type title patterns causes an error when generating puppet types for environment isolation. For example, running `puppet generate types` on a puppet master produces the following error: ``` Error: /etc/puppetlabs/code/environments/production/modules/keystone/lib/puppet/type/keystone_user_role.rb: title patterns that use procs are not supported. ``` This commit changes the `project_domain` parameter to always default to `DEFAULT_DOMAIN` even when using a `<user>::<user_domain>@::<domain>` or `<user>@::<domain>` title pattern. The only place I could find that utilized `project_domain` being unset was determining `keystone_domain` autorequires. The logic was updated to reflect that `project_domain` is either set or should use the default unless `domain` is set. Change-Id: Icd29c5aa89ae442ca69cad0411188162462bf6ff
This commit is contained in:
parent
b0a0cda06c
commit
e17812f1ce
|
@ -95,8 +95,11 @@ Puppet::Type.newtype(:keystone_user_role) do
|
||||||
r[:ensure] == :present
|
r[:ensure] == :present
|
||||||
end
|
end
|
||||||
rv = [self[:user_domain]]
|
rv = [self[:user_domain]]
|
||||||
rv << self[:project_domain] if parameter_set?(:project_domain)
|
if parameter_set?(:domain)
|
||||||
rv << self[:domain] if parameter_set?(:domain)
|
rv << self[:domain]
|
||||||
|
else
|
||||||
|
rv << self[:project_domain]
|
||||||
|
end
|
||||||
# Only used to display the deprecation warning.
|
# Only used to display the deprecation warning.
|
||||||
rv << default_domain.name unless default_domain.nil?
|
rv << default_domain.name unless default_domain.nil?
|
||||||
rv
|
rv
|
||||||
|
@ -113,7 +116,6 @@ Puppet::Type.newtype(:keystone_user_role) do
|
||||||
domain = user
|
domain = user
|
||||||
user_domain = Regexp.new(/(?:[^:@]|:[^:@])+/)
|
user_domain = Regexp.new(/(?:[^:@]|:[^:@])+/)
|
||||||
project = user_domain
|
project = user_domain
|
||||||
unset = ->(_) { PuppetX::Keystone::CompositeNamevar::Unset }
|
|
||||||
[
|
[
|
||||||
[
|
[
|
||||||
# fully qualified user with fully qualified project
|
# fully qualified user with fully qualified project
|
||||||
|
@ -127,14 +129,11 @@ Puppet::Type.newtype(:keystone_user_role) do
|
||||||
],
|
],
|
||||||
# fully qualified user with domain
|
# fully qualified user with domain
|
||||||
[
|
[
|
||||||
/^(#{user})::(#{user_domain})@::(#{domain})($)/,
|
/^(#{user})::(#{user_domain})@::(#{domain})$/,
|
||||||
[
|
[
|
||||||
[:user],
|
[:user],
|
||||||
[:user_domain],
|
[:user_domain],
|
||||||
[:domain],
|
[:domain]
|
||||||
# Don't want to have project_domain set to default, while
|
|
||||||
# not used.
|
|
||||||
[:project_domain, unset]
|
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
# fully qualified user with project
|
# fully qualified user with project
|
||||||
|
@ -157,11 +156,10 @@ Puppet::Type.newtype(:keystone_user_role) do
|
||||||
],
|
],
|
||||||
# user with domain
|
# user with domain
|
||||||
[
|
[
|
||||||
/^(#{user})@::(#{domain})($)/,
|
/^(#{user})@::(#{domain})$/,
|
||||||
[
|
[
|
||||||
[:user],
|
[:user],
|
||||||
[:domain],
|
[:domain]
|
||||||
[:project_domain, unset]
|
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
# user with project
|
# user with project
|
||||||
|
|
|
@ -40,7 +40,7 @@ describe Puppet::Type.type(:keystone_user_role) do
|
||||||
:user => user,
|
:user => user,
|
||||||
:user_domain => 'user_domain',
|
:user_domain => 'user_domain',
|
||||||
:project => PuppetX::Keystone::CompositeNamevar::Unset,
|
:project => PuppetX::Keystone::CompositeNamevar::Unset,
|
||||||
:project_domain => PuppetX::Keystone::CompositeNamevar::Unset,
|
:project_domain => 'Default',
|
||||||
:domain => 'domain'
|
:domain => 'domain'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ describe Puppet::Type.type(:keystone_user_role) do
|
||||||
:user => user,
|
:user => user,
|
||||||
:user_domain => 'Default',
|
:user_domain => 'Default',
|
||||||
:project => PuppetX::Keystone::CompositeNamevar::Unset,
|
:project => PuppetX::Keystone::CompositeNamevar::Unset,
|
||||||
:project_domain => PuppetX::Keystone::CompositeNamevar::Unset,
|
:project_domain => 'Default',
|
||||||
:domain => 'domain'
|
:domain => 'domain'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue