Skip to content

Commit 0138a96

Browse files
committed
Autorequire nova security group
Autorequire nova security group for related nova security rule. Change-Id: I89aa036c8a24d919c15ceb909f0c567dad3c6032 (cherry picked from commit 9aa5ee10241dd66585be685427c178c2f05e051a)
1 parent 40d60c7 commit 0138a96

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

lib/puppet/type/nova_security_rule.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,4 +134,8 @@ def is_cidr_net?(value)
134134
end
135135
end
136136

137+
autorequire(:nova_security_group) do
138+
self[:security_group]
139+
end
140+
137141
end

spec/unit/type/nova_security_rule_spec.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,26 @@
8080
:ip_range => '192.168.1.0/24',
8181
:security_group => 'scg0')
8282
end
83+
84+
it 'should autorequire the related nova security group' do
85+
catalog = Puppet::Resource::Catalog.new
86+
s_group = Puppet::Type.type(:nova_security_group).new(
87+
:name => 'allow_all',
88+
:description => 'Allow all traffic'
89+
)
90+
s_rule = Puppet::Type.type(:nova_security_rule).new(
91+
:name => 'all_01',
92+
:ip_protocol => 'tcp',
93+
:from_port => '1',
94+
:to_port => '65535',
95+
:ip_range => '0.0.0.0/0',
96+
:security_group => 'allow_all'
97+
)
98+
catalog.add_resource s_group, s_rule
99+
dependency = s_rule.autorequire
100+
expect(dependency.size).to eq(1)
101+
expect(dependency[0].target).to eq(s_rule)
102+
expect(dependency[0].source).to eq(s_group)
103+
end
104+
83105
end

0 commit comments

Comments
 (0)