Puppet: Argumentos erroneos, error en ruby

puppet labs

El agente de puppet no hace gestión de argumentos de entrada. En el caso de ser erróneo, da el siguiente error:

root@puppettest1:~# puppet agent ..server myserver  ..no-daemonize ..verbose ..waitforcert=60
dnsdomainname: Name or service not known
/usr/lib/ruby/vendor_ruby/puppet/application/agent.rb:54:in `handle_serve': uninitialized constant Puppet::Network::Handler (NameError)
        from /usr/lib/ruby/vendor_ruby/puppet/application.rb:363:in `send'
        from /usr/lib/ruby/vendor_ruby/puppet/application.rb:363:in `parse_options'
        from /usr/lib/ruby/1.8/optparse.rb:1298:in `call'
        from /usr/lib/ruby/1.8/optparse.rb:1298:in `parse_in_order'
        from /usr/lib/ruby/1.8/optparse.rb:1254:in `catch'
        from /usr/lib/ruby/1.8/optparse.rb:1254:in `parse_in_order'
        from /usr/lib/ruby/1.8/optparse.rb:1248:in `order!'
        from /usr/lib/ruby/1.8/optparse.rb:1339:in `permute!'
        from /usr/lib/ruby/1.8/optparse.rb:1360:in `parse!'
        from /usr/lib/ruby/vendor_ruby/puppet/application.rb:370:in `parse_options'
        from /usr/lib/ruby/vendor_ruby/puppet/application.rb:305:in `run'
        from /usr/lib/ruby/vendor_ruby/puppet/application.rb:416:in `hook'
        from /usr/lib/ruby/vendor_ruby/puppet/application.rb:305:in `run'
        from /usr/lib/ruby/vendor_ruby/puppet/application.rb:407:in `exit_on_fail'
        from /usr/lib/ruby/vendor_ruby/puppet/application.rb:305:in `run'
        from /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:69:in `execute'
        from /usr/bin/puppet:4

En versiones anteriores como 2.6, se requería añadir a mano en lib/puppet/application/agent.rb la línea

 require 'puppet/network/handler'

Para saber qué versión de puppet se está ejecutando

puppet agent --version

En version 2.7, hay que revisar los argumentos de entrada. En nuestro caso, al cortar y pegar, se habían sustituido los — por ..

Configurando un servidor propio de owncloud

Interfaz web owncloud
Interfaz web oncloud

Instalación del servidor

CentOS: CentOS release 6.5 (Final)

Paquetes instalados:

owncloud-3rdparty.noarch                  6.0.4-8.1                     @isv_ownCloud_community
 owncloud-httpd.noarch                     4.5.13-3.el6                  epel
 owncloud-mysql.noarch                     4.5.13-3.el6                  epel
 owncloud-nginx.noarch                     4.5.13-3.el6                  epel
 owncloud.noarch                           6.0.4-8.1                     @isv_ownCloud_community
 owncloud-postgresql.noarch                4.5.13-3.el6                  epel
 owncloud-sqlite.noarch                       4.5.13-3.el6                  epel

Repositorios de paquetes:

yum repolist
repo id                repo name                                          status
base                   CentOS-6 - Base                                     6.367
epel                   Extra Packages for Enterprise Linux 6 - x86_64     10.947
extras                 CentOS-6 - Extras                                      14
isv_ownCloud_community Latest stable community release of ownCloud (CentO      3
puppetlabs-deps        Puppet Labs Dependencies El 6 - x86_64                 63
puppetlabs-products    Puppet Labs Products El 6 - x86_64                    403
updates                CentOS-6 - Updates

En este punto, ya deberíamos poder acceder a nuestro servidor de owncloud mediante el interfaz web:

https://my-server/owncloud/index.php/apps/files

Interfaz web owncloud

Archivos: Conexión desde clientes linux

Comenzamos las pruebas conectando un cliente linux y una carpeta. Igual que haríamos con un servicio como dropbox.

El pc cliente es un debian 7.5.

Si fuera debian 7.0, podríamos seguir las indicaciones de owncloud añadimos a las fuentes el repositorio de owncloud para debian:

newkey=977C43A8BA684223
   gpg --keyserver pgpkeys.mit.edu --recv-key $newkey
   gpg -a --export $newkey| sudo apt-key add -
   echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud-client.list 
   apt-get update
   apt-get install owncloud-client

Al tratarse de debian 7.5, hemos usado el repositorio  wheezy-backports:

echo 'deb http://http.debian.net/debian wheezy-backports main' >> /etc/apt/sources.list
apt-get update
 apt-get install owncloud-client

Podemos abrir ya el cliente y configurarlo en el interfaz gráfico:

owncloud
owncloud

En el propio cliente, podemos verificar los datos de la cuenta y pausar el tráfico en un momento dado:

Owncloud02

 

También podemos poner rutas para que no se baje todo nuestro repositorio en el PC, o que ignore rutas en concreto:

Owncloud03
Owncloud03

Instalación del cliente en MAC

Accedemos a la página de owncloud, y descargamos el cliente de MAC