Desarrollo local títere con Geppetto y VMware

En este artículo se describe el entorno de desarrollo local y de flujo de trabajo que utilizo para desarrollar y probar las configuraciones multi-sistema que son administrados por Puppet. VMWare Estación de trabajo se utiliza para ejecutar Puppet Master local y prueba de nodo con '/ etc / puppet' en el maestro asignado a la estación de trabajo Geppetto se encuentra en mi equipo local.

Objetivos

El desarrollo eficaz y eficiente de los títeres-configurados sistemas requiere la integración frecuentes, y pruebas: el código de marionetas que escribe debe aparecer inmediatamente en un maestro de marionetas y aplicarse a los distintos nodos que comprenden un sistema de prueba.

¿Cómo funciona?

Tengo Windows como mi estación de trabajo local. Los manifiestos de la marioneta se almacenan en un repositorio de código, como Subversion o Git. Geppetto es el IDE. VMware Workstation ofrece servidores virtuales para un Puppet Master local y uno o más nodos de pruebas que simulan una configuración de sistema multi-ordenador.

Usando Geppetto, el código de Títeres está desprotegido en un espacio de trabajo local en mi estación de trabajo Windows. VMware Workstation hace que este "Geppetto espacio de trabajo" disponible para el servidor virtual de Puppet Master. Este montaje se hace "solo lectura", como una preferencia personal. Me SoftLink el directorio '/ etc / puppet' en el amo de la marioneta a este sistema de archivos montado.

Cualquier cambio de código que ahora hago usando el editor de Geppetto aparecerán inmediatamente en el Puppet Master locales. Tenga en cuenta que todavía no lo he comprobado en cualquier código. Todo este trabajo de desarrollo es local en mi estación de trabajo.

Regresión y pruebas de funcionamiento se realiza mediante la activación de los agentes de marionetas en los distintos nodos de prueba. Con frecuencia me restauro un nodo de prueba a una instantánea de base con el fin de probar la Títeres manifiestan a fondo.

En este enfoque, el ciclo de Código-Test es rápido y da más seguridad de que el código que finalmente el proceso de registro tendrá éxito tanto en un escenario de metal al descubierto, así como parches incrementales a un entorno ya de por correr.

Después de registrarnos, el código se implementa en un entorno de control de calidad y, finalmente, a los servidores de producción.

Cómo construir lo

Carpeta para compartir VMware es el único paso difícil en el logro de este entorno de desarrollo local. Aquí está cómo hacerlo.

Crear un servidor virtual como el Puppet Master Local

Puedo crear una máquina virtual basada en Debian que se utiliza como maestro de marionetas. Generar el catálogo Puppet requiere mucha memoria, por lo que destinará más de suficiente memoria, 2GB.

Configure Workspace Local de Geppetto
Enable "Folder Sharing" in the Options tab for the Puppet master virtual machine.

Permitir "Compartir Carpetas" en la ficha Opciones de la máquina virtual titiritero.

El repositorio de código Puppet está desprotegido por Geppetto a un área de trabajo local en la estación de trabajo. Este directorio se utilizará en la etapa siguiente, la creación de la compartición de carpetas.

Habilite el uso compartido de carpetas en VMworkstation

Habilite el uso compartido de carpetas en la pestaña Opciones de la máquina virtual titiritero y seleccione la misma carpeta que utiliza Geppetto cuando crea su código local de depósito de espacio de trabajo.

Instalar VMware Tools en Puppet Master Virtual Machine

Al iniciar la máquina virtual titiritero, verá el mensaje recordatorio a continuación:

VMware Reminder Message to Install Tools in Guest OS

VMware Recordatorio mensaje para instalar Herramientas de sistema operativo invitado

Monte la unidad de CD-ROM utilizando 'mount / dev / cdrom /' de comandos desde el invitado, extraer el archivo VMwareTools y vuelva a ejecutar el comando '. / vmware-install.pl'.

Si ve el siguiente mensaje de error, entonces usted necesita tomar medidas adicionales para instalar hacer, gcc y las cabeceras del kernel para los huéspedes.

Required Packages Preventing the Installation of VMware Tools.

Paquetes requeridos impedir la instalación de VMware Tools.

En Debian estos paquetes se instalan mediante el comando:

aptitude install gcc libglib2.0-0 make linux-headers-`uname-r`-y

Si utiliza VMware Workstation 7, puede que tenga que especificar la ruta completa al paquete gcc-4.3, como se muestra a continuación:

Specifying the full path to gcc-4.3: /usr/bin/gcc-4.3 in Debian.

Especificar la ruta completa de gcc-4.3: /usr/bin/gcc-4.3 en Debian.

Igualmente, puede que tenga que especificar manualmente la ubicación de las cabeceras del kernel. En mi máquina virtual, se encuentran en '/ usr/src/linux-headers-2.6.32-5-686/include'. Esto será diferente para su equipo:

KernelHeaders

Localización de Cabeceras del núcleo

Las herramientas de VMware ahora deberían recopilar y mostrar los mensajes de confirmación se muestran a continuación:

Successful Compilation of VMware Tools.

Compilación exitosa de las herramientas de VMware.

Vinculación de / etc / puppet para sistema de archivos montado

Para permitir que el titiritero de usar los módulos almacenados en la carpeta compartida, el enfoque más simple es reemplazar el directorio '/ etc / puppet' con un enlace lógico al sistema de archivos montado, como se muestra en el siguiente comando:

Replacing the Puppet Directory with a Softlink to the Mounted Filesystem.

Sustitución del Directorio de marionetas con un enlace lógico al sistema de archivos montado.

Ahora podemos confirmar que el directorio '/ etc / puppet' en el maestro de la máquina virtual de Títeres es una de sólo lectura de montaje del espacio de trabajo de Geppetto en la estación de trabajo local, como se muestra por la prueba siguiente:

Testing the Setup

Prueba de la instalación

18 de junio, 2013 Publicado por Jon Jaroker Archivado en: Flujos de trabajo de títeres