- 论坛徽章:
- 1
|
本帖最后由 guobaofu 于 2015-07-28 14:38 编辑
现在有这样一个文件,名为cndev.pp的puppet文件。我的要求:
1.判断如果这个文件node{}的结构体里包含 include ntp,将这行文本删除
2.在每个node{}的结构体里的尾部追加一行 include ntp ,include ntp前有两个空格
例子:
node 'cnwebadev02.tls.ad' {
# class {'apache': server_type => 'cnwebtest', adm_url => 'cntestadm1', url => 'cntest1', rproxy_ip => '10.91.27.89'}
# class {'tlsconnect': server_type => 'cnwebtest'}
# class {'syslog': server_type => 'cnwebtest'}
class {'zabbix': roles => 'linux, apache, dev', ntp_server => '10.91.18.200', server => 'cnmon01.tls.ad'}
class {'munin': roles => 'apache'}
# class {'openssl': server_type => 'test'}
class {'fusioninventory': glpi_server_ip => 'cnasi01.tls.ad'}
include php
}
源文件:
cat cndev.pp
##############################################
## CN DEV ##
##############################################
#include basenode
################ CNWEBTEST ###################
node 'cnwebadev02.tls.ad' {
# class {'apache': server_type => 'cnwebtest', adm_url => 'cntestadm1', url => 'cntest1', rproxy_ip => '10.91.27.89'}
# class {'tlsconnect': server_type => 'cnwebtest'}
# class {'syslog': server_type => 'cnwebtest'}
class {'zabbix': roles => 'linux, apache, dev', ntp_server => '10.91.18.200', server => 'cnmon01.tls.ad'}
class {'munin': roles => 'apache'}
# class {'openssl': server_type => 'test'}
class {'fusioninventory': glpi_server_ip => 'cnasi01.tls.ad'}
}
node 'cnwebadev03.tls.ad' {
# class {'apache': server_type => 'cnwebtest', adm_url => 'cntestadm1', url => 'cntest1', rproxy_ip => '10.91.27.89'}
# class {'tlsconnect': server_type => 'cnwebtest'}
# class {'syslog': server_type => 'cnwebtest'}
class {'zabbix': roles => 'linux, apache, dev', ntp_server => '10.91.18.200', server => 'cnmon01.tls.ad'}
class {'munin': roles => 'apache'}
# class {'openssl': server_type => 'test'}
class {'fusioninventory': glpi_server_ip => 'cnasi01.tls.ad'}
}
############ CNDBTEST ########################
node 'cndbdev02.tls.ad' {
# class {'syslog': server_type => 'cndbtest'}
# class {'postgres': server_type => 'testdb'}
class {'zabbix': roles => 'postgres, linux, dev', ntp_server => '10.91.18.200', server => 'cnmon01.tls.ad'}
class {'munin': roles => 'postgresql'}
# class {'openssl': server_type => 'test'}
class {'fusioninventory': glpi_server_ip => 'cnasi01.tls.ad'}
}
node 'cndbdev03.tls.ad' {
# class {'syslog': server_type => 'cndbtest'}
# class {'postgres': server_type => 'testdb'}
class {'zabbix': roles => 'postgres, linux, dev', ntp_server => '10.91.18.200', server => 'cnmon01.tls.ad'}
class {'munin': roles => 'postgresql'}
# class {'openssl': server_type => 'test'}
class {'fusioninventory': glpi_server_ip => 'cnasi01.tls.ad'}
}
|
|