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.