puppet ejecuta script remoto en todos los serveres

cómo puedo ejecutar un script python en todos los clientes títeres.

He añadido una class para que el script se ejecute

class curp { exec { "/usr/src/scripts/curp.py": } } 

y lo incluyó en nodos.pp

pero cuando ejecuto en el cliente alejado, dice el file no se puede encontrar ???

 #client:# /usr/sbin/puppetd --test --server=puppetmasterserver notice: //chkconfig/Package[vsftpd]/ensure: created err: //curp/Exec[/usr/src/scripts/curp.py]/returns: change from notrun to 0 failed: Could not `find executable /usr/src/scripts/curp.py` 

más edición:

He arreglado el configissue mediante la creación de un server de files,

 class curp { file { '/opt/files/curp.py': ensure => present, owner => 'root', group => 'root', mode => '0755', source => 'puppet:///modules/files/curp.py', } exec { '/opt/files/curp.py': require => File['/opt/files/curp.py'] } 

}

pero la secuencia de commands falla con una dependencia, no puedo encontrar en ningún otro lugar en el logging a lo que está relacionado con …

 err: //curp/File[/opt/files/curp.py]: Failed to retrieve current state of resource: Could not retrieve information from source(s) puppet:///modules/files/curp.py at /etc/puppet/manifests/templates.pp:114 notice: //curp/Exec[/opt/files/curp.py]: Dependency file[/opt/files/curp.py] has 1 failures warning: //curp/Exec[/opt/files/curp.py]: Skipping because of failed dependencies 

¿Algunas ideas?

resuelto:

el problema era / opt / files no existía en los serveres del cliente, él trabaja cuando el directory alejado está disponible

3 Solutions collect form web for “puppet ejecuta script remoto en todos los serveres”

El error:

Error al recuperar el estado actual del recurso: No se pudo recuperar la información del (los) origen (s)

significa que la marioneta no pudo recuperar el file del puppetmaster. El segundo error es porque no intentará ejecutar el file si no puede recuperar el file.

Creo que encontrarás esta página útil a medida que aprendes títeres: http://bitcube.co.uk/content/puppet-errors-explained El error que estás golpeando aquí es el de arriba en esa página. También tiene más información sobre dónde espera que los files de títeres sean. Las direcciones URL no coinciden necesariamente directamente con las routes del sistema de files.

En general, al depurar posts de error, primero corrige el primero. Es muy común que los posts de error posteriores sean causados ​​por otros anteriores.

Debe utilizar la estructura de directorys recomendada, algo así:

 |-- environments | |-- development | | `-- modules | `-- testing | `-- modules |-- manifests | |-- defines | | `-- netinstall.pp | |-- nodes.pp | `-- site.pp |-- modules | |-- python | | |-- files | | |-- manifests | | `-- templates 

ponga su class en los modules/python/manifests , el curp.py en modules/python/files , y use source como belows:

 source => 'puppet:///modules/python/curp.py', 

usted tiene que agregar una statement de file:

file {"curp": nombre => "/usr/src/scripts/curp.py", asegúrese => file, fuente => "marioneta: ///modules/your_module/curp.py"}

y

class curp {exec {"/usr/src/scripts/curp.py":} require => {Archivo ["curp"]},}

Significa que la sentencia File enviará el file a todos los nodos títeres que utilicen ese module.

  • ¿Por qué debo usar una class parametrizada de títeres?
  • El logging maestro de marionetas no se ha creado en la location configurada
  • clientes marioneta debian (0.24.5-3) no recuperar el file, centOs (0.25.5-1) funcionando bien
  • Confusión de la herencia de la clase de la marioneta
  • El lugar más apropiado para los hechos de títeres personalizados - RHEL
  • Evitar la statement de expresiones regex si utiliza resources exportados en títeres
  • Gestión de AWS Beanstalks con títeres
  • ¿Cómo implemento una revisión específica de mi código de títeres con r10k?
  • marioneta propagar variable de nodo a erb plantilla?
  • Puppet: service debe estar abajo para cambiar files de configuration
  • Cliente de copy de security de Amanda sin el server Amanda
  • ¿Cómo hacer que los types de SELinux de marioneta para directorys caseros?
  • Habilitar FastCGI en Apache con Puppetlabs / Apache
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.