FAQ
Hello everyone,

I am currently trying to add elements to an XML file (a libvirt network
definition) using Puppet (2.7.23)/Augeas (0.10). The XML looks like this:

<network>
     <name>virbr0</name>
     <uuid>57fdc6e3-cba1-4110-88ef-850f1b71ee39</uuid>
     <forward dev='eth0' mode='nat'/>
     <bridge name='virbr0' stp='on' delay='0' />
     <ip address="172.20.20.1" netmask="255.255.255.0">
         <dhcp>
             <range start="172.20.20.100" end="172.20.20.254" />
             <host mac="52:54:00:54:1e:00" name="host1.domain"
ip="172.20.20.121" />
         </dhcp>
     </ip>
</network>

Specifically, I would like to add elements to the dhcp element (using the
name attribute as a uniqueness constraint). So far, I tried this definition:

augeas { "libvirt-dhcp-config-$name":
     lens => 'Xml.lns',
     incl => '/etc/libvirt/qemu/networks/virbr0.xml',
     changes => [
         "set
network/ip/dhcp/host[#attribute/name='$name.domain']/#attribute/ip $ip",
      ],
      notify => Service['libvirtd'],
}

Unfortunately, this just fails to execute:

debug: Augeas[libvirt-dhcp-config-mysql](provider=augeas): Opening augeas
with root /, lens path , flags 64
debug: Augeas[libvirt-dhcp-config-mysql](provider=augeas): Augeas version
0.10.0 is installed
debug: Augeas[libvirt-dhcp-config-mysql](provider=augeas): Will attempt to
save and only run if files changed
debug: Augeas[libvirt-dhcp-config-mysql](provider=augeas): sending command
'set' with params
["/files/etc/libvirt/qemu/networks/virbr0.xml/network/ip/dhcp/host[#attribute/name='host.domain']/#attribute/ip",
"172.20.20.120"]
debug: Augeas[libvirt-dhcp-config-mysql](provider=augeas): Closed the
augeas connection
/usr/lib/ruby/vendor_ruby/puppet/util/errors.rb:60:in `fail'
/usr/lib/ruby/vendor_ruby/puppet/provider/augeas/augeas.rb:313:in
`need_to_run?'
/usr/lib/ruby/vendor_ruby/puppet/type/augeas.rb:205:in `retrieve'
/usr/lib/ruby/vendor_ruby/puppet/type.rb:720:in `retrieve'
/usr/lib/ruby/vendor_ruby/puppet/type.rb:715:in `each'
/usr/lib/ruby/vendor_ruby/puppet/type.rb:715:in `retrieve'
/usr/lib/ruby/vendor_ruby/puppet/type.rb:728:in `retrieve_resource'
/usr/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:32:in
`perform_changes'
/usr/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:133:in
`evaluate'
/usr/lib/ruby/vendor_ruby/puppet/transaction.rb:49:in `apply'
/usr/lib/ruby/vendor_ruby/puppet/transaction.rb:84:in `eval_resource'
/usr/lib/ruby/vendor_ruby/puppet/transaction.rb:104:in `evaluate'
/usr/lib/ruby/vendor_ruby/puppet/util.rb:509:in `thinmark'
/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/usr/lib/ruby/vendor_ruby/puppet/util.rb:508:in `thinmark'
/usr/lib/ruby/vendor_ruby/puppet/transaction.rb:104:in `evaluate'
/usr/lib/ruby/vendor_ruby/puppet/transaction.rb:386:in `traverse'
/usr/lib/ruby/vendor_ruby/puppet/transaction.rb:99:in `evaluate'
/usr/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:141:in `apply'
/usr/lib/ruby/vendor_ruby/puppet/configurer.rb:122:in
`retrieve_and_apply_catalog'
/usr/lib/ruby/vendor_ruby/puppet/util.rb:161:in `benchmark'
/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/usr/lib/ruby/vendor_ruby/puppet/util.rb:160:in `benchmark'
/usr/lib/ruby/vendor_ruby/puppet/configurer.rb:121:in
`retrieve_and_apply_catalog'
/usr/lib/ruby/vendor_ruby/puppet/configurer.rb:152:in `run'
/usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:229:in `main'
/usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:149:in `run_command'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:309:in `run'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:416:in `hook'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:309:in `run'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:407:in `exit_on_fail'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:309:in `run'
/usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:69:in `execute'
/usr/bin/puppet:4
err:
/Stage[main]//Node[node_name]/Vm[mysql]/Augeas[libvirt-dhcp-config-mysql]:
Could not evaluate: Save failed with return code false

Any ideas? I tried locating some Xml lens documentation, but so far did not
find anything useful.

Thanks,
Thilo

--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.

Search Discussions

  • Neil at Oct 11, 2013 at 8:12 am

    On 11 Oct 2013 01:04, "Thilo-Alexander Ginkel" wrote:
    Hello everyone,

    I am currently trying to add elements to an XML file (a libvirt network
    definition) using Puppet (2.7.23)/Augeas (0.10). The XML looks like this
    Hello
    I think you need to upgrade augeas. The xml stuff does not work, for me at
    least, in 0.10
    I upgraded to 1.1 and my troubles went away.
    Neil

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com.
    To post to this group, send email to puppet-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/puppet-users.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Puppet List at Oct 11, 2013 at 8:12 am

    On 11 Oct 2013 01:04, "Thilo-Alexander Ginkel" wrote:
    Hello everyone,

    I am currently trying to add elements to an XML file (a libvirt network
    definition) using Puppet (2.7.23)/Augeas (0.10). The XML looks like this

    Hello
    upgrade augeas I use 1.1 as the xml features do not work in 0.1
    Neil

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com.
    To post to this group, send email to puppet-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/puppet-users.
    For more options, visit https://groups.google.com/groups/opt_out.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedOct 11, '13 at 12:04a
activeOct 11, '13 at 8:12a
posts3
users3
websitepuppetlabs.com

People

Translate

site design / logo © 2021 Grokbase