On 20/01/13 17:53, Stephen Sollar wrote: > I am trying to add multiple new services to /etc/services file. I was > able to get one entry placed as the last service, but have been unable > to insert additional entries. > > augtool> set /files/etc/services/service-name[last()] "DB2_db2inst1_1"
last() in this case is going to overwrite the last entry you already have in the file, you want to use last()+1 instead. > augtool> set /files/etc/services/service-name[. = 'DB2_db2inst1_1']/port > 60001 > augtool> set /files/etc/services/service-name[. = > 'DB2_db2inst1_1']/protocol tcp > augtool> save > Saved 1 file(s) > > cat /etc/services | grep DB_db2inst1_1 > DB2_db2inst1_1 60001/tcp > > I tried using the service-name[last()+1] to add a service after that > last one but it errors and will not save using augtool. > > set /files/etc/services/service-name[last()+1] "DB2_db2inst1_2" > set /files/etc/services/service-name[. = 'DB2_db2inst1_2']/port 60002" > set /files/etc/services/service-name[. = 'DB2_db2inst1_2']/protocol tcp" There's a trailing quote on these two lines. > I would like the output to look like this; > DB2_db2inst1_1 60001/tcp > DB2_db2inst1_2 60002/tcp > > Im sure there is a way with Xpath to write to the next line, but I have > not been successful with it yet. Any thoughts? The example here works fine for me. You say it errors - what error does it give? You might need to run "print /augeas//error" to get detailed output. If you're using Puppet 3, --debug gives the same information. A slightly better way than using last()+1 is to do this, which has the bonus of being entirely idempotent - so if the line already exists, it won't add a second. set /files/etc/services/service-name[. = 'DB2_db2inst1_2'] "DB2_db2inst1_2" set /files/etc/services/service-name[. = 'DB2_db2inst1_2']/port 60002 set /files/etc/services/service-name[. = 'DB2_db2inst1_2']/protocol tcp -- Dominic Cleal Red Hat Engineering -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.