Skip to content

Commit 77435ec

Browse files
more parsing and use resource in template
1 parent b62d9b6 commit 77435ec

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

lib/puppet/provider/network/libvirt.rb

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,15 @@ def self.parse_network(network)
4242
data[setting] = ip.attribute(setting).content
4343
end
4444
end
45+
if ip.at_xpath('//dhcp')
46+
data[:dhcp] = {}
47+
for setting in ['start', 'end']
48+
data[:dhcp][setting] = ip.at_xpath('//dhcp/range').attribute(setting).content
49+
end
50+
if ip.at_xpath('//dhcp/bootp')
51+
data[:dhcp][:bootp_file] = ip.at_xpath('//dhcp/bootp').attribute('file').content
52+
end
53+
end
4554
if ip.attribute('family') and ip.attribute('family').content == 'ipv6'
4655
definition[:ipv6].push(data)
4756
else
@@ -87,20 +96,20 @@ def flush
8796
<% if @property_hash[:mac] %>
8897
<mac address='<%= @property_hash[:mac] %>'/>
8998
<% end %>
90-
<% if @property_hash[:forward_mode] %>
91-
<forward<% if @property_hash[:forward_dev] %> dev='<%= @property_hash[:forward_dev] %>'<%end%> mode='<%= @property_hash[:forward_mode] %>'<% if !@property_hash[:forward_interfaces] %>/<%end%>>
92-
<% if @property_hash[:forward_interfaces] %>
93-
<% @property_hash[:forward_interfaces].each do |dev| %>
99+
<% if @resource[:forward_mode] %>
100+
<forward<% if @resource[:forward_dev] %> dev='<%= @resource[:forward_dev] %>'<%end%> mode='<%= @resource[:forward_mode] %>'<% if !@resource[:forward_interfaces] %>/<%end%>>
101+
<% if @resource[:forward_interfaces] %>
102+
<% @resource[:forward_interfaces].each do |dev| %>
94103
<interface dev='<%= dev %>'/>
95104
<% end %>
96105
</forward>
97106
<% end %>
98107
<% end %>
99-
<% if @property_hash[:bridge] %>
100-
<bridge name='<%= @property_hash[:bridge] %>'<% if @property_hash[:forward_mode] and @property_hash[:forward_mode] != 'bridge' %> stp='on' delay='0'<%end%>/>
108+
<% if @resource[:bridge] %>
109+
<bridge name='<%= @resource[:bridge] %>'<% if @resource[:forward_mode] and @resource[:forward_mode] != 'bridge' %> stp='on' delay='0'<%end%>/>
101110
<% end %>
102-
<%if @property_hash[:ip] %>
103-
<% @property_hash[:ip].each do |ip| %>
111+
<%if @resource[:ip] %>
112+
<% @resource[:ip].each do |ip| %>
104113
<ip<%if ip['address']%> address='<%=ip['address']%>'<%end%><% if ip['netmask']%> netmask='<%=ip['netmask']%>'<%end%><% if ip['prefix']%> prefix='<%=ip['prefix']%>'<%end%><% unless ip['dhcp'] %>/<% end %>>
105114
<% if ip['dhcp'] %>
106115
<% dhcp = ip['dhcp'] %>
@@ -116,8 +125,8 @@ def flush
116125
<% end%>
117126
<% end%>
118127
<%end%>
119-
<% if @property_hash[:ipv6] %>
120-
<% @property_hash[:ipv6].each do |ip| %>
128+
<% if @resource[:ipv6] %>
129+
<% @resource[:ipv6].each do |ip| %>
121130
<ip family='ipv6'<% if ip['address']%> address='<%=ip['address']%>'<%end%><% if ip['netmask']%> netmask='<%=ip['netmask']%>'<%end%><% if ip['prefix']%> prefix='<%=ip['prefix']%>'<%end%><% unless ip['dhcp'] %>/<% end %>>
122131
<% if ip['dhcp'] %>
123132
<% dhcp = ip['dhcp'] %>

0 commit comments

Comments
 (0)