Nos tempos passados da empresa em que trabalho, alguém configurou muitos aliases e exporta em /etc/profile
.
Desde então, implementamos o Puppet e há um módulo que gerencia as exportações e os aliases do usuário do aplicativo.
O novo módulo é realmente muito simples ... ele garante que um arquivo chamado application_env.sh
resida em /etc/profile.d/
e basicamente esse é o arquivo que configura as exportações e aliases relevantes.
Recebi uma tarefa para garantir que essas exportações e aliases sejam provenientes apenas do arquivo application_env.sh
e não de /etc/profile
.
Então, o que pretendo fazer é adicionar ao manifesto do application_env que atualmente é assim:
class appuser-env {
file{ "/etc/profile.d/appuser-env.sh":
ensure => "present",
content => template("appuser-env/appuser-env.sh.erb"),
mode => "774",
require => Class["facts"],
}
}
Outro tipo que parece assim:
file_line{ "remove_old_exports_aliases":
ensure => absent,
line => ['export ANT_HOME_1_7_0=/appdir/org/apache/ant/1.7.0', 'export ANT_HOME=$ANT_HOME_1_7_0', 'export PATH=$ANT_HOME/bin:$PATH', 'export JAVA_HOME_1_6_0=/appdir/com/sun/jdk', 'export JAVA_HOME=$JAVA_HOME_1_6_0', 'export PATH=$JAVA_HOME/bin:$PATH','export ENVIRONMENT_TYPE=prod','export CVS_RSH=${CVS_RSH-ssh}# change default from rsh to ssh for cvs command','export TOMCAT_HOME_6_0_29=/appdir/org/apache/tomcat/6.0.29','export TOMCAT_HOME=$TOMCAT_HOME_6_0_29','export PATH=$PATH:$TOMCAT_HOME/bin','export VOLDEMORT_HOME=/appdir/voldemort-0.80.1/config/test_config3','export LOCATION=nyc'],
path => '/etc/profile',
}
Mas quando executo puppet agent -t
na máquina relevante, recebo o seguinte erro:
[root@server4 # puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for server4.company.com
Info: Applying configuration version '1448374061'
Error: /Stage[main]/appuser-env/File_line[remove_old_exports_aliases]: Could not evaluate: private method 'chomp' called for #<Array:0x7fba5a3ead20>
Notice: Finished catalog run in 16.90 seconds
[root@server4 ]#
Alguma ideia do que este erro significa ou como é feito corretamente?