Home

infraestructura distribuida para la construcción de paquetes debian

image

Contents

1. Muchos de los nombres usados por las compa as para diferenciar sus productos y servicios son reclamados como marcas registradas All donde estos nombres aparezcan en este documento y cuando el autor haya sido informado de esas marcas registradas los nombres estar n escritos en may sculas o como nombres propios TRIBUNAL Presidente Vocal 1 Vocal 2 Secretario FECHA DE DEFENSA CALIFICACI N PRESIDENTE VOCAL 1 VOCAL 2 SECRETARIO Fdo Fdo Fdo Fdo Indice general Indice general VI Indice de figuras VIII Indice de listados IX Listado de acr nimos X 1 Objetivos 1 1 1 Objetivo general 2 i1 343 edo 4333 Rx YER a 1 1 1 Objetivos espec ficos 2 3 22 ais e RR RO RAS 1 2 Metodolog as y herramientas 2 2 1 Metodolog a de desarrollo 2 Za SCRUM ra cs 2 2 1 2 Hei Boks Se eg ed bed aed a ed ee 2 2 2 Herramientas 23 20 A ph ek Rp og TA O UE ET NI e E 5 2 SOLACE xu ou VLL OS E x id ac Br a 5 2 3 AA E di di t Modi to de 9 2 3 1 M quinas virtuales 9 2 3 2 Arquitectura m nima 11 2 3 3 Implementaci n y ejecuci n del Hello World 12 2A Meracion dl sonas rs a a eae 13 241 Usaromno pbuilder 13 2412 User SOMES de A a AA 15 2
2. PREGAME DEVELOPMENT POSTGAME PHASE PHASE PHASE aS Regular updates Sprint LT TA sa backlog Pennanen Product Y E list Final release backlog Y list Sprint 4 1 Documentation N Priorities Effort estimates X High level design Pe igh level desig Architecture S Q mA Standards oN Conventi Y Eod ED Resources Architecture N gt New product Y increment Figura 2 1 Scrum Process rrollo cuando se encuentra alg n obst culo y de mantener el equipo de modo que se ocupe de las tareas de la forma m s productiva posible Product Owner Es el responsable del proyecto gesti n control Lo elige el Scrum Master Participa sobre todo en la estimaci n de esfuerzo de los elementos Scrum Team Es el equipo del proyecto tienen la autoridad para decidir sobre las acciones y la organizaci n necesaria para alcanzar el xito Tambi n est implicado en toma de decisiones en cuanto a estimaci n del esfuerzo Customer Participa en las tareas relacionadas con el backlog para el sistema que est siendo desarrollado o mejorado Management Es responsable de las decisiones finales de las normas que se tienen que seguir en el proyecto Tambi n participa en la redacci n de requisitos y objetivos a cumplir Pr cticas Scrum no exige ni proporciona ning n m todo ni pr cticas de desarrollo de software Sin embargo requiere de ciertas pr cticas y manejo par
3. Se necesita crear una red para interactuar con las m quinas virtuales y un directorio donde se alojar n las m quinas virtuales Este directorio debe existir en el sistema donde se realice la instalaci n Adem s deber s introducir la ruta absoluta en el archivo src xml pool distdeb xml entre las etiquetas path tal y como se muestra en el siguiente ejemplo Formato XML para redes con libvirt Formato XML para almacenamiento con libvirt A MANUAL DE INSTALACION DE UN NODO lt pool type dir gt lt name gt distdeb lt name gt lt target gt lt path gt home usuario virtualMachines lt path gt lt target gt lt pool gt Ejecuta ahora el script create_stuff sh para que se configuren tanto la red como el directorio donde se instalar n las m quinas virtuales A 3 4 El archivo preseed Preseed ofrece un mecanismo para responder a las preguntas que se realizan durante la instalaci n sin que tener que introducir las respuestas manualmente mientras se ejecuta la instalaci n Gracias a esto es posible automatizar completamente la mayor a de instalaciones e incluso algunas caracter sticas no est n disponibles durante la instalaci n normal como puede ser la instalaci n de algunos paquetes o la configuraci n de sudo por defecto El fichero pressed cfg ya ha sido configurado de forma ptima para la instalaci n del sistema A 4 Instalaci n 4 1 Instalaci n de m quinas virtuales Para proce
4. B 7 TRANSLATION B 8 TERMINATION B 9 FUTURE REVISIONS OF THIS LICENSE B 10 RELICENSING Bibliografia 24 24 24 24 23 26 26 26 26 27 27 27 29 29 29 30 30 32 32 32 33 33 33 34 34 34 35 35 35 36 Indice de figuras 2 1 Scr m Process sui s ours ooo a ee 2 2 Esquema de un sprint en 5 4 2 3 Sistema base formado por un computador y varias m quinas virtuales 10 2 4 Arquitectura de un Nodo y delsistema 16 20 claves OPS aco o AA d AAA 19 VIII Indice de listados 2 1 7 2 2 Cliente HelloWorld distribuido en Python 12 2 3 Servidor HelloWorld distribuido en Python 12 24 Interfaz Logger en Slice 21 IX Listado de acr nimos GPL ICE Slice SGBD General Public License Internet Communication Engine Internet Protocol Specification Language for Ice Sistema de Gesti n de Bases de Datos Objetivos En este capitulo se detallan los objetivos del proyecto tanto generales como especificos De esta manera se determina el alcance del proyecto y los resultados esperados 1 1 Objetivo general Disponer de una infraestructura distribuida para la construcci n de paquetes en un reposi torio Debian Una infraestructura que en definitiva automatice la construcci n
5. a la relaci n Euro Giga es de m s o menos 0 039 en discos duros no SSD y en el futuro bajar cada vez m s De hecho el computador usado para realizar este proyecto Dell XPS 420 sali a la venta en el a o 2007 y ya ten a un disco duro de 300GB de los cuales a d a de hoy para trabajar no se utilizan ni la mitad Otra de las ventajas que tiene utilizar este sistema es que se pueden generar paquetes por medio de m quinas virtuales utilizando la emulaci n de algunos procesadores y que permiti r a construir paquetes para m s arquitecturas de las disponibles A priori no ser a necesario pero de esta forma se generaliza la soluci n al problema dando soporte a m s arquitecturas Esto tambi n puede resultar ventajoso porque la m quina emulada puede resultar en ocasio nes m s r pida que la propia m quina real Se puede utilizar de ejemplo el famoso Raspberry Pi en el cual la construcci n de un paquete tardar a mucho m s que en una m quina virtual emulando ese procesador en un PC de escritorio Pbuilder es un sistema ya probado y que funciona pero tiene la desventaja de que no se pueden construir paquetes para otras arquitecturas diferentes de las del computador que ten gamos en posesi n por ejemplo dado un computador con amd64 solamente podria generar paquetes para esa arquitectura o como mucho i366 Inicialmente se construy un entorno de pruebas m nimo con una m quina virtual de cada arquitectura y ese entorn
6. asi que este puede ser un buen punto de partida ANEXOS Manual de instalacion de un Nodo A 1 Introducci n El presente documento describe los pasos necesarios para la instalaci n de un nodo en el sistema distdeb un sistema distribuido para construcci n de paquetes Debian Tanto el presente documento como el proyecto en s est en constante desarrollo por lo tanto el lector debe saber que puede haber cambios tanto en el manual como el c digo fuente La instalaci n de un Nodo dentro del sistema distdeb se har en el futuro mediante un paquete Debian A 1 1 Estructura del documento Este manual se divide en 4 secciones Qu es Node Builder a Requisitos a Instalaci n Configuraci n Cada uno de los cap tulos describe las acciones necesarias y explicando con detalle to dos los pasos a seguir para configurar un nodo que contiene a dos m quinas virtuales de arquitecturas i386 y amd64 A 2 Qu es Node Builder Node Builder es la parte del sistema distribuido para contruir paquetes debian que se en carga de realizar la recontrucci n de paquetes Ayuda a distdeb y a los desarrolladores a generar los paquetes para las distintas arquitecturas para las cuales se quieren contruir los paquetes ya existentes y una vez construidos subirlos al repositorio Esta opci n se imple mentar en posteriores versiones de desarrollo Node Builder est formado por un computador que a su vez aloja una o varias m
7. n de sudo Si solamente tiene una m quina virtual no utilice clusterssh puede utilizar ssh o meterse normalmente en la m quina virtual para realizar la configuraci n Una vez que clusterssh est instalado en el sistema anfitri n lo que hay que hacer ahora es configurar las m quinas virtuales para que no soliciten la contrase a cada vez que se utilice la orden sudo Por lo tanto mediante el siguiente comando se procede a conectarse a las dos m quinas virtuales instaladas previamente cssh arcoOIP1 arco IP2 Donde IP1 y IP2 son las P correspondientes a cada una de las m quinas virtuales por defecto 192 168 122 11 y 192 168 122 12 sudo nano etc sudoers Y se afiade al archivo para que no pida la contrasef a cada que vez que se usa el comando sudo la l nea arco ALLZNOPASSWD ALL See the man page for details on how to write a sudoers file Defaults env_reset Defaults mail_badpass A MANUAL DE INSTALACION DE UN NODO 30 Defaults secure path usr local sbin usr local bin usr sbin usr bin s Host alias specification User alias specification Cmnd alias specification User privilege specification root ALL ALL ALL ALL Allow members of group sudo to execute any command fsudo ALL ALL ALL ALL harco ALL NOPASSWD ALL See sudoers 5 for more information on include directives includedir etc sudoers d A 5 3 Configuraci n de repositorios Por defecto las instalaci n de Debian marca
8. quinas 24 A MANUAL DE INSTALACION DE UN NODO 23 virtuales donde se realiza la construcci n de paquetes comprobaci n de paquetes una vez construido congelaci n de estado de m quina virtual y muchas m s Nodo 1 Nodo N LAS LJ Nodo 3 arm Virtual Machine Network A 2 1 Por qu Node Builder Mientras se desarrollaban las primeras iteraciones de distdeb y tras realizar algunas prue bas se lleg a la conclusi n de que era m s ventajoso utilizar m quinas virtuales en lugar de pbuilder Con las m quinas virtuales se tienen sistemas limpios donde realizar la construc ci n A utilizar m quinas virtuales se tiene una opci n que puede resolver el problema que se tiene cuando un paquete tarda mucho tiempo en construirse y el computador se tiene que apagar Esto se soluciona con la utilizaci n de snapshots Una snapshot o traducido al espa ol una imagen es la operaci n por la cual se toma un estado en un instante cualquiera de la m quina virtual y se congela pudiendo en cualquier momento ir a ese estado de con gelaci n y empezar o continuar desde ese estado la tarea que se estuviese desarrollando la proxima vez que se encienda el ordenador o la m quina virtual Esta operaci n tambi n tiene la ventaja de que se puede revertir y volver a un estado anterior cuando se requiera Una de las ventajas que tiene utilizar este sistema es que se pueden generar paquetes utilizando la e
9. Cuando se contruye un paquete y se quiere firmar basta con utilizar la orden debuild pero esto solamente funciona si el nombre y los datos coinciden con los del mantenedor del paquete Como en este caso el mantenedor no va a construir el paquete si no que va a ser una maquina que no tiene nada que ver con el mantenedor se debe contruir el paquete utilizando el argumento k seguido de la clave Por lo tanto el comando quedar a debuild kE65B0539 2 5 Iteracion 2 Tras lo visto en las secciones anteriores 2 3 y 2 4 donde se constru a la arquitectura base y se probaba la construcci n de dos paquetes es momento de a adir m s funcionalidad al nodo que hay de prueba Para dar el siguiente paso en esta iteraci n se proponen dos cosas La primera es enviar al nodo m s de un paquete desde otros dos nodos distintos Y la segunda es crear un sistema de logz enviara un nodo dos paquetes desde nodos distintos para que se construyan 2 5 1 Prueba para dos paquetes Ya que se ha probado que es sistema funciona para un nodo lo ideal ser a que utilizando el middleware ICE se enviase m s de un paquete y que se construyesen sin problemas Con ello se demostrar a que se puede construir m s de un paquete y lo m s importante que estas peticiones de construcci n se pueden hacer desde otros computadores distintos al que est ejecutando el nodo 2 5 2 Logger Uno de los requisitos enumerados al principio es que se debe tener un log donde se p
10. HS10 es un middleware orientado a objetos construido por la empresa ZeroC y con licencia GPL Soporta varios lenguajes de programaci n lo cual permite una mayor adaptabilidad seg n las necesitadades del momento ICE Clientes y servidores Los conceptos cliente y servidor varian un poco en lo fundamental el cliente requiere la funcionalidad que el servidor proporciona Los servidores ICE necesitan un adaptador de objetos donde poder a adir los sirvientes necesarios para ofrecer el servicio En cuanto a los clientes necesitan un proxy al servidor para poder solicitar la funcionalidad requerida por la aplicaci n Adaptador de objetos El adaptador de objetos act a como un contenedor del objetos del servidor que son ac cedidos mediante invocaciones remotas En cada adaptador de objetos hay unas direcciones 2 METODOLOGIAS Y HERRAMIENTAS asignadas que se conocen como endpoints En ICE un ejemplo de endpoint seria el siguien te tcp h 127 0 0 1 p 9999 Este ejemplo es un endpoint tcp o explicado de otra forma utilizar el protocolo TPC y escuchar en la interfaz con direcci n IP 127 0 0 1 y en el puerto 9999 Objetos y sirvientes Los objetos en ICE son el mismo concepto que los de cualquier lenguaje de programaci n Pero con algunas caracter sticas Una entidad en el espacio de direcciones remoto o local capaz de responder a las peticiones de los clientes Un objeto puede instanciarse en un ser
11. argv proxy self communicator stringToProxy argv 1 printer Example PrinterPrx checkedCast proxy if not printer raise RuntimeError Invalid proxy printer write Hello World return 0 sys exit client main sys argv Listado 2 2 Cliente HelloWorld distribuido en Python import sys import Ice Ice loadSlice Printer ice import Example class PrinterI Example Printer def write self message current None print message sys stdout flush class Server Ice Application def run self argv 2 METODOLOGIAS Y HERRAMIENTAS 13 broker self communicator servant PrinterI adapter broker createObjectAdapter PrinterAdapter proxy adapter add servant broker stringToldentity printerl 5 print proxy adapter activate self shutdownOnInterrupt broker waitForShutdown return 0 server Server sys exit server main sys argv Listado 2 3 Servidor HelloWorld distribuido en Python Se ha probado con xito y todo funciona por lo tanto se puede continuar con la siguiente iteracion 2 4 Iteracion 1 En esta iteraci n se propone avanzar en el desarrollo de un nodo del sistema Tras tener el sistema m nimo instalado que consta de una m quina virtual de cada arquitectura se ha comprobado que el proyecto puede tomar dos vertientes y que est n basadas en el uso o no de pbuilder Uek07 un sistema de construcci n autom tica de paquetes Debian donde
12. configurado automaticamente rigodon amd64 Virtual Machine File Virtual Machine View Send Key Formateo de particiones Creando el sistema de ficheros ext4 para en la partici n 1 de SCSI1 0 0 0 sda Cuando todo el proceso de instalar una ambas m quinas virtuales ha finalizado las m quinas se apagan y se puede continuar con su configuraci n A MANUAL DE INSTALACION DE UN NODO A 5 Configuraci n Esta es la secci n referida a la configuraci n de las m quinas virtuales Si solamente se ha instalado una m quina virtual no tiene por qu utilizar clusterssh pase directamente al siguiente punto configuraci n de sudo A 5 2 A 5 1 Configuraci n de m quinas virtuales Por defecto la mayor a de los paquetes est n listos e instalados en las m quinas virtuales incluso se tiene creado un usuario por defecto que puede utilizar el comando sudo Este usuario tiene por nombre arco y por contrase a arco Adem s se necesita instalar alg n paquete m s en el computador anfitri n ya que la conexi n entre el anfitri n y las m quinas virtuales se realizad por SSH aptitude install sshpass clusterssh El paquete clusterssh permite ejecutar el mismo comando en n m quinas conectadas por SSH viene muy bien para no tener que repetir tareas en ambas m quinas virtuales Con el uso de cssh se har todo de una sola vez Se ver m s adelante su uso en la subsecci n A 5 2 A 5 2 Configuraci
13. construcci n De este modo si un paquete no tuviese firma o tuviese una de la que no se tiene su clave se considera como no confiable APT utiliza GPG para validar los paquetes deb descargados y asegurarse de que no han sido alterados 2 METODOLOGIAS Y HERRAMIENTAS 19 K private key k public key Figura 2 5 Firma de claves gpg Generaci n de un nuevo par de claves Una vez explicado en que consiste el m todo de firmado se procede a la creaci n de claves en la parte del computador que tiene las m quinas virtuales gpg gen key Y se elige la primera opci n RSA and RSA default cuando pregunte por el tama o ste se deja por defecto a 2048 en cuanto a la duraci n tambi n se deja por defecto a 0 Se siguen los pasos poniendo lo que pida el programa Nombre e mail y comentario Una vez se generan las claves es bueno generar el certificado de revocaci n que en el caso de perder la clave o de haber comprometido su seguridad el certificado de revocaci n se har a p blico para notificar al resto de usuarios que la clave p blica no debe ser usada nunca m s gpg output DD123456 asc gen revoke OxDD123456 Ahora que se tienen las claves es hora de exportarla gpg output ARCO gpg export e mail Tras esto es necesario copiar la clave a las m quinas virtuales y una vez que las tengamos all se importar en cada una de ellas gpg import ARCO gpg 2 METODOLOGIAS Y HERRAMIENTAS
14. copies of the Document then if the Document is less than one half of the entire aggregate the Document s Cover Texts may be placed on covers that bracket the Document within the aggregate or the electronic equivalent of covers if the Document is in electronic form Otherwise they must appear on printed covers that bracket the whole aggregate 7 TRANSLATION Translation is considered a kind of modification so you may distribute translations of the Document under the terms of section 4 Replacing Invariant Sections with translations requires special permission from their copyright holders but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections You may include a translation of this License and all the license notices in the Document and any Warranty Disclaimers provided that you also include the original English version of this License and the original versions of those notices and disclaimers In case of a disagreement between the translation and the original version of this License or a notice or disclaimer the original version will prevail If a section in the Document is Entitled Acknowledgements Dedications or History the requirement section 4 to Preserve its Title section 1 will typically require changing the actual title 8 TERMINATION You may not copy modify sublicense or distribute the Document except as expressly provided un
15. de la fecha y hora de cada evento Se detallar todo esto m s adelante cuando se elaboren las tiser stories porque ahora hay que estudiar como se puede hacer el logger Se plantean varias alternativas para dar soluci n al problema de implementar el Logger La primera alternativa es leer la referencia de los lenguajes de programaci n que se van a utilizar para ver si se dispone de alg n loggerza implementado C al contrario que Python no tiene un loggerimplementado lo que nos lleva a la segunda opci n La segunda es implementar un sistema desde cero programando lo que se necesite Esta opci n aunque v lida requiere realizar un trabajo extra La tercera opci n es utilizar algo externo al lenguaje de programaci n en este caso el middleware ICE tiene un logger que se puede utilizar con el fin de ofrecer los mensajes deseados adem s es personalizable por lo que si se requiere a adir nuevas etiquetas o alguna otra caracter stica se puede a adir sin problemas La interface Logger de ICE es como se aprecia en el siguiente fragmento de c digo module Ice 2 METODOLOGIAS Y HERRAMIENTAS 22 local interface Logger void print string message void trace string category string message void warning string message void error string message Logger cloneWithPrefix string prefix Listado 2 4 Interfaz Logger en Slice Como se observa este fichero slice produce mensajes de traza avisos o mensajes de error
16. de paquetes Debian en un repositorio para ayudar a generar los paquetes para el resto de arquitecturas soportadas por el laboratorio ARCO 1 1 1 Objetivos espec ficos En general se pueden definir los siguientes objetivos Dise ar una plataforma que cumpla con las necesidades que existen para ello se to mar de ejemplo el laboratorio ARCO Debe ser f cil de instalar de configurar y de mantener Para ello se empaquetar n las partes del mismo en paquetes Debian La plataforma deber conocer las arquitecturas a las que debe dar soporte La construcci n de paquetes debe realizarse en un sistema limpio con el fin de no ensuciar el sistema con dependencias y paquetes que van quedando instalados para construir los paquetes Debian Adem s de esta forma se evitan problemas de seguridad pruebas y riesgo de romper el sistema Si un paquete no se puede construir la plataforma debe ofrecer informaci n suficiente acerca del error para que se le pueda poner remedio e intentar de nuevo su construc ci n Cuando los paquetes est n en el repositorio y un usuario realiza cambios en un progra ma al subirlo de nuevo la plataforma deber hacer el mismo proceso que cuando se sube un paquete nuevo Adem s se deber comprobar que las versiones se correspon den con la m s nueva Metodologias y herramientas 2 1 Metodolog a de desarrollo 2 1 1 SCRUM El enfoque de Scrum PAW 13 ha sido desarrollado para manejar
17. unos repos con el nombre en clave de la distribuci n testing actualmente wheezy y proximamente Jessie Se procede a cambiar los repositorios para que apunten a testing y evitar as problemas con las nomenclaturas de esta forma las m quinas virtuales siempre ser n rama testing de Debian sudo nano etc apt sources list Y se sustituye wheezy por testing quedando el archivo de la siguiente forma deb http ftp es debian org debian testing main deb src http ftp es debian org debian testing main deb http security debian org testing updates main deb src http security debian org testing updates main A 5 4 Configuraci n de Grub Este paso es opcional y sirve para desactivar el tiempo de espera que tiene Grub para iniciar las m quinas virtuales ya que libvirt no sabe a priori cuando una m quina virtual A MANUAL DE INSTALACION DE UN NODO 31 esta lista para realizar las conexiones ssh Por ello se edita el fichero boot grub grub cfg cambiando el tiemout de 5 a 0 Una vez se tiene todo esto ya no es necesario realizar ninguna tarea m s en la m quina virtual ya que ser n los scripts los que se encarguen de realizar todas las tareas GNU Free Documentation License Version 1 3 3 November 2008 Copyright 2000 2001 2002 2007 2008 Free Software Foundation Inc lt http fsf org gt Everyone is permitted to copy and distribute verbatim copies of this license document but chan
18. 4 3 Firma de paquetes The GNU Privacy Guard 18 2 9 T gracioni 255 23 A AAA AL ARA A ee te AA AAA 20 2 5 1 Prueba para dos paquetes 48 4 E A A 20 AE AAA AA AAA 20 VI A Manual de instalaci n de un Nodo A l Introducci n A 1 1 Estructura del documento Ad Qu es Node Builder AZ T Por qu Node Builder Requisitos A 3 1 Requisitos de A 3 2 Paquetes A 3 3 Requisitos de A 3 4 El archivo preseed A 4 Instalaci n A 4 1 Instalaci n de m quinas virtuales A 5 Configuraci n A 5 1 Configuraci n de m quinas virtuales A 5 2 Configuraci n de sudo A 5 3 Configuraci n de repositorios A 5 4 Configuraci n de Grub o o B GNU Free Documentation License B 0 PREAMBLE B 1 APPLICABILITY AND DEFINITIONS B2 VERBATIM COPYING mc vaot VASE VAD hoped DOWD DOD wes B3 COPYING IN QUANTITY oy wel oe Poe oe Pals MODIFICATIONS 5 at Ae AR AR A A A ae ie B 5 COLLECTIONS OF DOCUMENTS 4 4 id SS B 6 AGGREGATION WITH INDEPENDENT WORKS
19. 5 0 Apr 26 16 03 55 baran dhclient DHCPACK from 161 67 106 1 Apr 26 16 03 56 baran NetworkManager 3077 lt info gt Clearing nscd hosts cache Apr 26 16 58 20 baran sensord Chip coretemp isa 0000 Apr 26 16 58 20 baran sensord Adapter ISA adapter Apr 26 16 58 20 baran sensord Core 0 32 0 C Apr 26 16 58 20 baran sensord Core 1 30 0 C Apr 26 16 58 20 baran sensord Core 2 26 0 C Apr 26 16 58 20 baran sensord Core 3 27 0 C Como se puede observar a primera vista se muestra una hora un d a del a o y un mes en este caso es el 26 de Abril en varias horas a lo largo del d a baran es el nombre del computador y lo que hay a la derecha es la informaci n que se ofrece En algunas oca siones cuando se quiere resaltar algo suele utilizarse etiquetas como INFO para referirse a informaci n WARNING para avisar de algo importante y ERROR para mostrar un mensaje de error Todo esto viene muy bien para hacerse una idea de lo que el fichero de log deberia tener en el sistema distribuido ya que podr a asemejarse al mostrado arriba por ser una alternativa que es conocida est probada y se usa en los Sistemas Operativos y en muchas m s aplicaciones como los SGBD Una vez conocido como son los ficheros actuales es bueno preguntarse c mo deber a ser el de este proyecto Lo que lleva a pensar que interesa que de informaci n acerca de los errores si ha salido todo bien y por ejemplo que nodo construye cada paquete Todo ello acompa ado
20. INFRAESTRUCTURA DISTRIBUIDA PARA LA CONSTRUCCION DE PAQUETES DEBIAN UNIVERSIDAD DE CASTILLA LA MANCHA ESCUELA SUPERIOR DE INFORMATICA INGENIERIA EN INFORMATICA PROYECTO FIN DE CARRERA Infraestructura distribuida para la construcci n de paquetes Debian Jos Luis Sanroma Tato Abril 2013 UNIVERSIDAD DE CASTILLA LA MANCHA ESCUELA SUPERIOR DE INFORMATICA Departamento de Tecnologias y Sistemas de Informacion PROYECTO FIN DE CARRERA Infraestructura distribuida para la construcci n de paquetes Debian Autor Jos Luis Sanroma Tato Director Dr Francisco Moya Fern ndez Abril 2013 Jos Luis Sanroma Tato Ciudad Real Spain E mail josel sanromatato O gmail com Web site 2013 Jos Luis Sanroma Tato Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 3 or any later version published by the Free Software Foundation with no Invariant Sections no Front Cover Texts and no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License Se permite la copia distribuci n y o modificaci n de este documento bajo los t rminos de la Licencia de Documentaci n Libre GNU versi n 1 3 o cualquier versi n posterior publicada por la Free Software Foundation sin secciones invariantes Una copia de esta licencia esta incluida en el ap ndice titulado GNU Free Documentation License
21. a evitar el caos creado por la complejidad y la imprevisibilidad 2 METODOLOGIAS Y HERRAMIENTAS Product Backlog Define todo lo que es necesario en el producto final basado en el cono cimiento actual que se tiene El Product Backlog define el trabajo que se tiene que hacer en el proyecto Se compone de una lista con prioridades que se actualizan constantemente Pue den incluir caracter sticas funciones correciones de errores mejoras solicitadas etc Varias personas pueden participar en la generaci n del Product Backlog como clientes equipos de desarrollo etc Estimaci n de esfuerzo Es un proceso interactivo en el cual las estimaciones son m s precisas cuanta m s informaci n se tiene El Product Owner junto con el Scrum Team son los responsables de realizar la estimaci n Sprint Es el proceso por el cual se van adaptando los cambios al proyecto El Scrum Team se organiza l mismo para producir nuevos ejecutables en cada iteraci n que dura aproximadamente unos 30 d as Reuniones de planificaci n de sprints reuniones diarias y Sprint Backlog son algunas de las actividades que se realizan en los Sprint Daily Scrum Meetings Requirements Spring Wa 30day ERE and Effort LA SPRINT Meeting estimation 1 A Standards A Re UA Conventions Technology _ Resources Architecture y Executable E a D A product E increment Figu
22. all words of the title equally prominent and visible You may add other material on the covers in addition Copying with changes limited to the covers as long as they preserve the title of the Document and satisfy these conditions can be treated as verbatim copying in other respects If the required texts for either cover are too voluminous to fit legibly you should put the first ones listed as many as fit reasonably on the actual cover and continue the rest onto adjacent pages If you publish or distribute Opaque copies of the Document numbering more than 100 you must either include a machine readable Transparent copy along with each Opaque copy or state in or with each Opaque copy a computer network location from which the general network using public has access to download using public standard network protocols a complete Transparent copy of the Document free of added material If you use the latter option you must take reasonably prudent steps when you begin distribution of Opaque copies in quantity to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy directly or through your agents or retailers of that edition to the public It is requested but not required that you contact the authors of the Document well before redistributing any large number of copies to give them a chance to provide you with an updated version of the Documen
23. der a instalar las m quinas virtuales se ha creado un script que automatiza esta tarea est en src install_vm sh Este script genera autom ticamente una instalaci n m nima del sistema Operativo Debian GNU Linux rama testing de arquitectura 1386 y amd64 Si solamente se desa instalar una de las dos arquitecturas 1386 o amd64 basta con pasarla como par metro al script y autom ticamente la generar sh install_vm sh lt arquitectura gt Importante Si se detectase alg n error durante la instalaci n es recomendable ejecutar la instalaci n por separado de ambas m quinas virtuales Al ejecutar el script se realiza una descarga de internet y luego aparece la ventana del virt manager donde se puede seguir el proceso de la instalaci n Esta visi n no se podr ver m as que unos gr ficos con la carga de trabajo que tiene cada una de las m quinas virtuales por lo que no aporta nada a simple vista 3M s informaci n en su p gina web A MANUAL DE INSTALACION DE UN NODO 28 Virtual Machine Manager File Edit View Help T Open B y Name v CPU usage Y localhost QEMU rigodon amd64 A 79 gt Running AMAN AM AAA Cabe la posibilidad de ver con m s detalle el proceso seleccionando una m quina virtual y pinchando sobre el bot n open del men de virt manager Lo que se ver es la t pica instalaci n de debian pero donde el usuario final no tiene que hacer nada porque todo ya se ha
24. der this License Any attempt otherwise to copy modify sublicense or distribute it is void and will automatically terminate your rights under this License However if you cease all violation of this License then your license from a particular copyright holder is reinstated a provisionally unless and until the copyright holder explicitly and finally terminates your license and b permanently if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation Moreover your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means this is the first time you have received notice of violation of this License for any work from that copyright holder and you cure the violation prior to 30 days after your receipt of the notice Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License If your rights have been terminated and not permanently reinstated receipt of a copy of some or all of the same material does not give you any rights to use it 9 FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new revised versions of the GNU Free Documentation License from time to time Such new versions will be similar in spirit to the present version but may differ in detail to address new proble
25. ections If the Document does not identify any Invariant Sections then there are none The Cover Texts are certain short passages of text that are listed as Front Cover Texts or Back Cover Texts in the notice that says that the Document is released under this License A Front Cover Text may be at most 5 words and a Back Cover Text may be at most 25 words A Transparent copy of the Document means a machine readable copy represented in a format whose specification is available to the general public that is suitable for revising the document straightforwardly with generic text editors or for images composed of pixels generic paint programs or for drawings some widely available drawing editor and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters A copy made in an otherwise Transparent file format whose markup or absence of markup has been arranged to thwart or discourage subsequent modification by readers is not Transparent An image format is not Transparent if used for any substantial amount of text A copy that is not Transparent is called Opaque 32 Examples of suitable formats for Transparent copies include plain ASCII without markup Texinfo input format LaTeX input format SGML or XML using a publicly available DTD and standard conforming simple HTML PostScript or PDF designed for human modifi cation Examples of transparent
26. el desarollo de procesos Se trata de un enfoque emp rico de aplicando las ideas de proceso industrial la teor a de control para el desarrollo de sistemas que resulta en un enfoque que retoma las ideas de flexibilidad adaptabilidad y productividad La idea principal de Scrum es que el desarrollo del sistema envuelve muchas variables requisitos tiempo recursos y tecnolog a que pueden cambiar durante el proceso Esto hace el proceso de desarrollo impredecible y complejo requiriendo felxibilidad para ser capaz de responder a los cambios que ir n surgiendo El proceso Scrum ayuda a mejorar la existencia de pr cticas ingenieriles en la organiza ci n ya que implica frecuentes actividades de gesti n destinadas a identificar las deficiencias o impedimentos en el desarrollo del proceso as como las pr cticas que se utilizan 2 1 2 Procesos El proceso de Scrum est formado por tres partes 1 Pre game phase 2 Development phase 3 Postgame phase Roles y responsabilidades Se pueden identificar seis roles en SCRUM que tienen distintas tareas y prop sitos estos son Scrum Master Product Owner Scrum Team Customer User y Management Scrum Master Es una funci n de administrador dentro de Scrum Es el responsable de asegurarse que el proyecto se haga de acuerdo a las pr cticas establecidas y de que el proyecto avanza seg n lo previsto Se encarga tambi n de liderar al equipo de desa 2 METODOLOGIAS Y HERRAMIENTAS
27. el objetivo es poder generar paquetes Debian sin ensuciar el sistema con las dependencias de los paquetes que se est n construyendo El dilema es usar pbuilder para construir los paquetes o aprovechar las m quinas virtuales que ya son un entorno limpio 2 4 1 Usar o no pbuilder Uno de los requisitos del sistema es que aprovechando los computadores disponibles en el laboratorio ARCO se construir an los paquetes pero surge un problema al que a n no se le ha dado soluci n qu pasar a si un computador se apagaba en medio de la construcci n de un paquete Este caso sirve de ejemplo ilustrativo para poder plantear la resoluci n del camino a tomar a partir de ahora porque qu pasar a si se necesita construir un paquete muy grande y en mitad de la construcci n se apaga el computador Una de las opciones ser a empezar al d a siguiente con un computador de la misma arquitectura elegido por el sistema pero qu suceder a si la construcci n durara m s tiempo del que los computadores est n encendidos Se tendr a que resolver eso de alg n modo Una posible soluci n ser a no apagar ese computador hasta que termine la construcci n del paquete pero entonces se estar a alterando la forma en la que funciona el laboratorio El edificio donde se encuentre el 2 METODOLOGIAS Y HERRAMIENTAS entorno de trabajo puede apagar la electricidad por multitud de razones y esto ya supone un problema de por s y el cual hay que tene
28. fc Respeta esta atribuci n al autor
29. g one section Entitled History likewise combine any sections Entitled Acknowledgements and any sections Entitled Dedications You must delete all sections Entitled Endorsements 5 COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License and replace the individual copies of this License in the various documents with a single copy that is included in the collection provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects You may extract a single document from such a collection and distribute it individually under this License provided you insert a copy of this License into the extracted document and follow this License in all other respects regarding verbatim copying of that document 6 AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works in or on a volume of a storage or distribution medium is called an aggregate if the copyright resulting from the compilation is not used to limit the legal rights of the compilation s users beyond what the individual works permit When the Document is included in an aggregate this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document If the Cover Text requirement of section 3 is applicable to these
30. ging it is not allowed 0 PREAMBLE The purpose of this License is to make a manual textbook or other functional and useful document free in the sense of freedom to assure everyone the effective freedom to copy and redistribute it with or without modifying it either commercially or noncommercially Secondarily this License preserves for the author and publisher a way to get credit for their work while not being considered responsible for modifications made by others This License is a kind of copyleft which means that derivative works of the document must themselves be free in the same sense It complements the GNU General Public License which is a copyleft license designed for free software We have designed this License in order to use it for manuals for free software because free software needs free documentation a free program should come with manuals providing the same freedoms that the software does But this License is not limited to software manuals it can be used for any textual work regardless of subject matter or whether it is published as a printed book We recommend this License principally for works whose purpose is instruction or reference 1 APPLICABILITY AND DEFINITIONS This License applies to any manual or other work in any medium that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License Such a notice grants a world wide royalty free license unli
31. i butos m todos etc Specification Language for Ice Slice es el lenguaje para especificar el contrato entre el cliente y el sevidor Se define la interfaz y las operaciones que ser n ac cesibles mediante un poxy a un determinado sirviente ICE proporciona herramientas como slice2cpp o slice2javapara traducir la interfaz SLICE a C u Java respectivamente ICE tambi n da soporte a Python NET PHP Pbjetive C Ruby y ActionScript module Prueba interface Cajero void sacar dinero int dinero void ingresar dinero int dinero Listado 2 1 Ejemplo de interfaz Slice El listado 2 1 muestra un ejemplo muy sencillo de SLick Este archivo debe ser compartido entre el cliente y el servidor En el ejemplo se puede ver una interfaz Prueba Cajero que tiene dos m todos ingresar y sacar Un objeto que implemente la interfaz Prueba Cajero podr ser a adido a un adaptador de objetos de un servidor As u vez el cliente puede acceder al sirviente asegur ndose as que cumple con la interfaz que se ha definido previamente en el archivo Stic Tanto el clien te como el servidor pueden estar implementados en diferentes lenguajes de programaci n esto sin duda alguna es una ventaja porque se pueden implementar clientes en diferentes lenguajes sin necesidad de hacer cambios en el servidor Servicios de ICE ICE ofrece una serie de servicios estos servicios suministran la funcionalidad que la ma yor a de aplicaciones distrib
32. image formats include PNG XCF and JPG Opaque formats include proprietary formats that can be read and edited only by proprietary word processors SGML or XML for which the DTD and or processing tools are not generally available and the machine generated HTML PostScript or PDF produced by some word processors for output purposes only The Title Page means for a printed book the title page itself plus such following pages as are needed to hold legibly the material this License requires to appear in the title page For works in formats which do not have any title page as such Title Page means the text near the most prominent appearance of the work s title preceding the beginning of the body of the text The publisher means any person or entity that distributes copies of the Document to the public A section Entitled XYZ means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language Here XYZ stands for a specific section name mentioned below such as Acknow ledgements Dedications Endorsements or History To Preserve the Title of such a section when you modify the Document means that it remains a section Entitled XYZ according to this definition The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document These Warranty Disclai
33. informado del proceso que me muestre mensajes simples como OK cuando se finalicen tareas Generar una firma para poder firmar los paquetes que se construyan en las m quinas virtuales Como usuario quiero que el paquete se firme para poder tener un paquete construido y firmado 2 METODOLOGIAS Y HERRAMIENTAS Para realizar estas user stories se utilizar el paquete gentoo un paquete muy sencillo que aparece en los ejemplos de la Debian maint guide y que se utilizar para realizar las pruebas Como se ver m s adelante se requerir en algunos comandos el uso de privilegios de administrador por lo que las m quinas virtuales se han configurado para usar sudo sin que pida la contrase a Para conectar cada una de las m quinas virtuales se hace a trav s del protocolo SSH y sshpass para pasar el usuario y la contrase a como argumentos a trav s de la siguiente orden sshpass p arco ssh o StrictHostKeyChecking no user host lt nombre _de _paquete gt La orden sshpass p arco indica que la contrase a ser arco El argumento o de SSH sirve para indicarle una opci n que en este caso es StrictHostKeyChecking no y que sirve para controlar los logins en host donde no se conocen las claves o estas han cambiado Para la actualizaci n del sistema se requiere de los t picos comandos sudo apt get update amp amp sudo apt get upgrade Ahora que el sistema est actualizado es el momento de crear
34. iously added by you or by arrangement made by the same entity you are acting on behalf of you may not add another but you may replace the old one on explicit permission from the previous publisher that added the old one The author s and publisher s of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version 5 COMBINING DOCUMENTS You may combine the Document with other documents released under this License under the terms defined in section 4 above for modified versions provided that you include in the combination all of the Invariant Sections of all of the original documents unmodified and list them all as Invariant Sections of your combined work in its license notice and that you preserve all their Warranty Disclaimers The combined work need only contain one copy of this License and multiple identical Invariant Sections may be replaced with a single copy If there are multiple Invariant Sections with the same name but different contents make the title of each such section unique by adding at the end of it in parentheses the name of the original author or publisher of that section if known or else a unique number Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work In the combination you must combine any sections Entitled History in the various original documents formin
35. la snapshot con sudo virsh snapshot delete lt nombre_dominio gt lt nombre_snapshot gt Cuando sistema est actualizado y con la snapshot hecha una de las primeras cosas que hay que hacer para construir un paquete Debian que ya est en el repositorio es ejecutar el comando apt get source lt nombre_de_paquete gt para conseguir las fuentes Esto crear los archivos y directorios necesarios para la cons trucci n del paquete por lo que hay que estar dentro del directorio con nombre nombre_ del_paquete version cd nombre _de _paquete Un paquete Debian necesita cumplir unas dependencias de construcci n estas dependen cias de construcci n est n indicadas en el archivo debian rules en la l nea Build Depends Los paquetes que figuran en esa l nea necesitan estar instalados en el sistema para cons truir el paquete ya que se depende de ellos para su construcci n En el caso del paquete gentoo las dependencias son debhelper gt 9 dh autoreconf libgtk2 0 dev 2 METODOLOGIAS Y HERRAMIENTAS libglib2 0 dev Para solventar este problema apt get tiene una opcion build dep que instala las dependencias necesarias para la construcci n del paquete Este comando hay que ejecutarlo como usuario root por lo tanto se usa la orden sudo que permite ejecutar coman dos como administrador sudo apt get build dep lt nombre_del_paquete gt Como ltimo paso dentro de la m quina virtual hay que ejecutar deb
36. maci n Python Lenguaje de alto nivel interpretado y orientado a objetos Se pueden construir pro totipos en poco tiempo sin mucho esfuerzo Ha sido utilizado para implementar algu nas pruebas C Bash 2 METODOLOGIAS Y HERRAMIENTAS Documentaci n GIMP Editor de im genes u retoque fotogr fico Utilizado en la maquetaci n de fotograf as e ilustraciones Inkscape Editor de im genes vectorial Dia Editor de diagramas Utilizado para construir los diagramas que se han utilizado para el desarrollo del proyecto Lenguaje de maquetaci n de textos utilizado para la elaboraci n del presente docu mento Sistemas Operativos Debian GNU Linux Hardware 2 3 Iteracion 0 En esta iteraci n se define el sistema base para todo el proyecto Al tratarse de un sis tema distribuido y dado que no se dispone de infinitos computadores se ha obtado por la utilizaci n de m quinas virtuales como medio para la realizaci n de las pruebas y montar el sistema por lo tanto se requiere de un estudio de las alternativas que existen para la virtualizaci n Adem s se construir un sistema base con una m quina virtual de arquitecturas i366 amd64 y armel tal y como se muestra en la figura 2 3 Una m quina virtual es un sistema de virtualizaci n por software es decir simula un sistema f sico en este caso un computador con unas caracter sticas de hardware determina das Cuando se ejecuta proporciona un ambien
37. mers are considered to be included by reference in this License but only as regards disclaiming warranties any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License 2 VERBATIM COPYING You may copy and distribute the Document in any medium either commercially or noncommercially provided that this License the copyright notices and the license notice saying this License applies to the Document are reproduced in all copies and that you add no other conditions whatsoever to those of this License You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute However you may accept compensation in exchange for copies If you distribute a large enough number of copies you must also follow the conditions in section 3 You may also lend copies under the same conditions stated above and you may publicly display copies 3 COPYING IN QUANTITY If you publish printed copies or copies in media that commonly have printed covers of the Document numbering more than 100 and the Document s license notice requires Cover Texts you must enclose the copies in covers that carry clearly and legibly all these Cover Texts Front Cover Texts on the front cover and Back Cover Texts on the back cover Both covers must also clearly and legibly identify you as the publisher of these copies The front cover must present the full title with
38. mited in duration to use that work under the conditions stated herein The Document below refers to any such manual or work Any member of the public is a licensee and is addressed as you You accept the license if you copy modify or distribute the work in a way requiring permission under copyright law A Modified Version of the Document means any work containing the Document or a portion of it either copied verbatim or with modifications and or translated into another language A Secondary Section is a named appendix or a front matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document s overall subject or to related matters and contains nothing that could fall directly within that overall subject Thus if the Document is in part a textbook of mathematics a Secondary Section may not explain any mathematics The relationship could be a matter of historical connection with the subject or with related matters or of legal commercial philosophical ethical or political position regarding them The Invariant Sections are certain Secondary Sections whose titles are designated as being those of Invariant Sections in the notice that says that the Document is released under this License If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant The Document may contain zero Invariant S
39. mpoco lo es el espacio en disco duro se elige las m quinas virtuales y se cambia el entorno de pruebas por el entorno final donde se desarrollar el proyecto 2 4 2 User Stories Una vez descrito las dos propuestas y escogida una de ellas se procede a la implementaci n de la iteraci n Se parte de un entorno donde se tienen dos m quinas virtuales una con arquitectura amd64 y otra con arquitectura i386 conectadas al computador que las ejecutas A su vez ese compu 2 METODOLOGIAS Y HERRAMIENTAS tador esta conectado a la red del entorno de trabajo donde hay otros computadores que tambi n son un nodo del sistema distribuido tal y como se muestra en la figura 2 4 arm Virtual Machine Network Figura 2 4 Arquitectura de un Nodo y del sistema La implementaci n de esta iteraci n consiste en la construcci n de un paquete para cada arquitectura por lo tanto las User Stories son Dado un paquete del repositorio quiero construir el paquete para que est disponible para las dos arquitecturas ejecutando un comando de la siguiente forma comando nombre de paquete Como usuario quiero poder salvar el estado de la m quina virtual por si algo va mal que me pueda quedar como estaba Crear destruir y revertir un estado Quiero que mi m quina virtual se actualice y si todo va bien usar esa m quina virtual en el futuro para tenerla actualizada en todo momento Como usuario quiero estar
40. ms or concerns See http www gnu org copyleft Each version of the License is given a distinguishing version number If the Document specifies that a particular numbered version of this License or any later version applies to it you have the option of following the terms and conditions either of that specified version or of any later version that has been published not as a draft by the Free Software Foundation If the Document does not specify a version number of this License you may choose any version ever published not as a draft by the Free Software Foundation If the Document specifies that a proxy can decide which future versions of this License can be used that proxy s public statement of acceptance of a version permanently authorizes you to choose that version for the Document 10 RELICENSING Massive Multiauthor Collaboration Site or MMC Site means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works A public wiki that anybody can edit is an example of such a server A Massive Multiauthor Collaboration or MMC contained in the site means any set of copyrightable works thus published on the MMC site CC BY SA means the Creative Commons Attribution Share Alike 3 0 license published by Creative Commons Corporation a not for profit corporation with a principal place of business in San Francisco California as well as fut
41. mulaci n de algunos procesadores y que permitir a construir paquetes para m s arquitecturas que si se usase pbuilder A priori no ser a necesario pero de esta forma se generaliza la soluci n al problema dando soporte a m s arquitecturas Otra ventaja es que la m quina emulada puede resultar en ocasiones m s r pida que la propia m quina A MANUAL DE INSTALACION DE UN NODO 26 real Se puede utilizar de ejemplo el famoso Raspberry Pi en el cual la construcci n de un paquete tardar a mucho m s que en una m quina virtual emulando ese procesador en un PC de escritorio A 3 Requisitos A 3 1 Requisitos de hardware Conexi n a internet de banda ancha Almenos 2GB de RAM A 3 2 Paquetes necesarios Para la instalaci n y configuraci n se necesitan los siguientes paquetes a libvirt virtinst virt viewer virt manager Todos ellos hacen referencia a la API libvirt por la cual se pueden gestionar m quinas virtuales con comandos y de forma casi autom tica Es una buena idea que se a ada el usuario con el que se van a ejecutar los comandos al grupo libvirt para no tener que recurrir a utilizar privilegios de administrador adduser usuario libvirt adduser usuarios kvm A 3 3 Requisitos de ejecuci n Dada la naturaleza de libvirt es necesario a adir lo siguiente a tu bashrc para no tener que ejecutarlo continuamente cada vez que se inicia el computador export LIBVIRT_DEFAULT_URI qemu system
42. nt unaltered in their text and in their titles Section numbers or the equivalent are not considered part of the section titles M Delete any section Entitled Endorsements Such a section may not be included in the Modified Version a N Do not retitle any existing section to be Entitled Endorsements or to conflict in title with any Invariant Section a Preserve any Warranty Disclaimers If the Modified Version includes new front matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document you may at your option designate some or all of these sections as invariant To do this add their titles to the list of Invariant Sections in the Modified Version s license notice These titles must be distinct from any other section titles You may add a section Entitled Endorsements provided it contains nothing but endorsements of your Modified Version by various parties for example statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard You may add a passage of up to five words as a Front Cover Text and a passage of up to 25 words as a Back Cover Text to the end of the list of Cover Texts in the Modified Version Only one passage of Front Cover Text and one of Back Cover Text may be added by or through arrangements made by any one entity If the Document already includes a cover text for the same cover prev
43. o de pruebas ha pasado a ser el sistema para seguir adelante ya que se ha observado una ventaja importante el hecho de poder congelar la construcci n de 2 METODOLOGIAS Y HERRAMIENTAS paquetes Ventajas y desventajas de pbuilder y maquinas virtuales Un resumen de las ventajas e inconvenientes de cada opci n son a Pbuilder e Ventajas o Ya est hecho y funciona o No hace falta crear nada adicional salvo configurarlo o Menor consumo que las m quinas virtuales en cuanto a memoria principal y secundaria e Inconvenientes o Est acotado pues solamente se pueden construir paquetes para la arquitec tura del computador que lo ejecuta Si un computador se apaga se tiene que empezar la construcci n del paquete la pr xima vez que se encienda el computador por lo que se presenta el riesgo de que no se pueda construir el paquete M quinas virtuales e Ventajas Con una instalaci n m nima se tiene un entorno muy similar al que se obtiene con pbuilder o Se puede parar la construcci n del paquete y continuarla cuando se desee gracias a las snapshots o Da soporte a m s arquitecturas gracias a la emulaci n a trav s de gemu de diferentes arquitecturas de procesadores e Inconvenientes o Mayor consumo de memoria principal y de memoria secundaria o Tarda m s tiempo en la construcci n de paquetes Por todo ello y viendo que el tiempo que tarde en construir los paquetes no es un proble ma y que ta
44. on under the terms of this License in the form shown in the Addendum below G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document s license notice a Include an unaltered copy of this License I Preserve the section Entitled History Preserve its Title and add to it an item stating at least the title year new authors and publisher of the Modified Version as given on the Title Page If there is no section Entitled History in the Document create one stating the title year authors and publisher of the Document as given on its Title Page then add an item describing the Modified Version as stated in the previous sentence a J Preserve the network location if any given in the Document for public access to a Transparent copy of the Document and likewise the network locations given in the Document for previous versions it was based on These may be placed in the History section You may omit a network location for a work that was published at least four years before the Document itself or if the original publisher of the version it refers to gives permission a For any section Entitled Acknowledgements or Dedications Preserve the Title of the section and preserve in the section all the substance and tone of each of the contributor acknowledgements and or dedications given therein a L Preserve all the Invariant Sections of the Docume
45. r en cuenta Con el uso de m quinas virtuales se abren nuevas opciones y nuevas formas de resolver el problema incluso dando soluciones a otros nuevos problemas Las snapshots son una Operaci n que se puede hacer sobre las m quinas virtuales y que puedes resolver este pro blema Una snapshot o traducido al espa ol una imagen es la operaci n por la cual se toma un estado en un instante t cualquiera de la m quina virtual y se congela pudiendo en cualquier momento volver a ese estado de congelaci n y empezar o continuar desde ese estado la tarea que se estuviese desarrollando la proxima vez que se encienda el ordenador o la m quina virtual Esta operaci n tambi n tiene la ventaja de que se puede revertir y volver a un estado anterior cuando se requiera La idea de esto es que ya que se necesita un entorno limpio para construir los paquetes aprovechar que al generar el sistema base en la iteraci n anterior se tienen m quinas vir tuales m nimas muy similares a lo que pbuilder para construir los paquetes Tal y como se describe parece que usar las m quinas virtuales a priori no tiene ninguna desventaja pero si que tiene Por ejemplo se necesita almacenamiento en disco extra cada vez que se genera una snapshot de la m quina virtual en cuesti n si ocupa 3GB se necesitar an 6GB 3 GB de la snapshot y 3GB de la original Ahora la pregunta es es un problema el almacenamiento La respuesta es que no ya que hoy en d
46. ra 2 2 Esquema de un sprint en Scrum 2 METODOLOGIAS Y HERRAMIENTAS Sprint Planning meeting Es organizada por el Scrum Master y tiene dos fases En la primera de ellas participan el cliente usuarios administradores y scrum team en esta fase se definen los objetivos y la funcionalidad para el siguiente Sprint La segunda fase se realiza entre el Scrum Master y el Scrum Team centr ndose en como se implementar n las cosas durante el Sprint Sprint Backlog Es el punto de partida de cada Sprint es una lista de elementos del Pro duct Backlog seleccionados para ser implementados en el siguiente Sprint Estos elementos son seleccionados por el Scrum Teamz Product Owner la Sprint Planning meeting Daily Scrum meeting Son reuniones diarias para mantener un seguimiento Se responde a preguntas del tipo Qu se ha hecho desde la anterior reuni n y que se va a hacer para la siguiente Tambi n se discuten problemas que han surgido Duran en torno a 15 minutos El Scrum Master es quien las dirige Sprint Review meeting El ltimo d a del Sprint se reunen el Scrum Team y el Scrum Master y se presentan los resultados a los administradores clientes usuarios etc Los partici pantes el prototipo entregado Esta reuni n debe dar un nuevo Backlog con nuevos elementos y si se debe o no cambiar de direcci n en el desarrollo 2 2 Herramientas 2 2 1 ZeroC ICE Internet Communications Engine Internet Communication Engine ICE
47. rvidor El o los publicadores env an datos a un canal mediante invocaciones remotas que ser n enviadas a los suscriptores de dicho canal Por ejemplo imag nese que hay nodos que quieren recibir audio de un nodo servidor El publicador puede publicar el audio en un canal de eventos de tal forma que los clientes que quieran recibir el audio solamente tendr n que suscribirse a ese canal Cada canal se identifica por su nombre y puede tener m ltiples publicadores y suscriptores Freeze y FreezeScript Freeze es un servicio de persistencia que permite guardar el estado de los objetos en una base de datos Berkeley Freeze puede recuperar auto m ticamente los objetos de una base de datos sobre la demanda y autom ticamente actualizar la base de datos cuando cambia el estado del objeto FreezeScript es un len guaje de comandos que permite consultar el contenido de una base de datos Freeze Resulta de mucha utilidad para la depuraci n de aplicaciones FreezeScript ofrece fun ciones de transformaci n que permiten migrar de forma sencilla de una base de datos existente para adaptarse a un nuevo esquema Glacier2 Es un servicio de firewall que permite la comunicaci n segura entre clientes y servidores IcePatch2 cePatch permite la distribuci n de actualizaciones de software a los nodos que componen el grid IcePatch comprueba autom ticamente la versi n que tiene cada nodo y env a las actualizaciones disponibles Lenguajes de progra
48. t 4 MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above provided that you release the Modified Version under precisely this License with the Modified Version filling the role of the Document thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it In addition you must do these things in the Modified Version A Use in the Title Page and on the covers if any a title distinct from that of the Document and from those of previous versions which should if there were any be listed in the History section of the Document You may use the same title as a previous version if the original publisher of that version gives permission a List on the Title Page as authors one or more persons or entities responsible for authorship of the modifications in the Modified Version together with at least five of the principal authors of the Document all of its principal authors if it has fewer than five unless they release you from this requirement State on the Title page the name of the publisher of the Modified Version as the publisher a D Preserve all the copyright notices of the Document a E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices a F Include immediately after the copyright notices a license notice giving the public permission to use the Modified Versi
49. te de ejecuci n similar a todos los efecto a un computador f sico con su CPU puede ser m s de una memoria RAM tarjeta gr fica tarjeta de red sistema de sonido dispositivos de almacenamiento secundario Con esto se consigue ejecutar uno o m s computadores dentro de un mismo computador de manera simultanea y se resuelve as el problema de no tener muchos computadores dis ponibles donde probar el sistema 2 3 1 M quinas virtuales Se procede al estudio de las distintas alternativas que existen para virtualizar computadores de diferentes arquitecturas Para ello se consultan varias herramientas basando la b squeda en los los siguientes requisitos a Se requiere de la virtualizaci n de m quinas virtuales de distintas arquitecturas como m nimo i386 y amd64 aunque tambi n ser a deseable poder tener armel 2 METODOLOGIAS Y HERRAMIENTAS 10 Figura 2 3 Sistema base formado por un computador y varias m quinas virtuales Deben poderse realizar las siguientes acciones con las m quinas virtuales e Parar la herramienta debe permitir parar una o varias maquinas virtuales cuando se requiera manteniendo otras encendidas e Iniciar la herramienda debe permitir el inicio de una o varias m quinas virtuales cuando se requiera e Clonar Se debe permitir el clonado de una o varias m quinas virtuales con el fin de poder a adir m s nodos al sistemas distribuido e Reiniciar Se debe permitir que una varias m q
50. temas virtualizados adem s al utilizar gemu permite emular procesadores arm y con ello tambi n se puede dar soporte a esta arquitectura cosa que con VirtualBox no se puede hacer Cumple tambi n con el ltimo requisito que es que se pueda administrar por comandos para poder as construir scripts que automaticen todo lo posible el proceso 2 3 2 Arquitectura m nima Tras el an lisis se procede a la construcci n de la arquitectura m nima sobre la que se construir el sistema 2 METODOLOGIAS Y HERRAMIENTAS 12 User Stories Como usuario quiero una m quina virtual que emule una arquitectura 386 para poder construir paquetes para esta arquitectura Como usuario quiero una m quina virtual que emule una arquitectura amd64 para poder construir paquetes para esta arquitectura Implementar un Hello World distribuido con el que poder probar que todo est bien Ejecutar el Hello World en el sistema distribuido 2 3 3 Implementaci n y ejecuci n del Hello World Tras instalar ambas m quinas virtuales con la API libvirt se procede a la ejecuci n del Hello World para demostrar que la arquitectura m nima funciona Para ello se ha elegido el lenguaje de programaci n Python que permite crear prototipos de forma r pida El cliente y el servidor del HelloWorld se muestran a continuaci n import sys import Ice Ice loadSlice Printer ice import Example class client Ice Application def run self
51. to y con la ayuda del manual es muy sencillo emular un procesador con arquitectura arm y por consiguiente realizar la instalaci n de una versi n de Debian para esa arquitectura Se pueden realizar todas las acciones descritas en los requisitos por lo que se convierte en candidato gnome boxes Gnome boxes Es una aplicaci n del escritorio GNOME para acceder a sis temas virtuales ya sea a trav s del propio computador o remotamente Pretende tener funcionando r pidamente y de forma f cil m quinas virtuales Gracias a su sencilla interfaz resulta extremadamente f cil de usar Est dise ado para alguien que s lo requiera encender apagar l s m quinas virtuales utiliza como motor para vir tualizar pero no se pueden realizar todas las operaciones que s se pueden realizar con gemu o VirtualBox Libvirt Es una API para virtualizaci n que puede realizar todas las operaciones descritas en los requisitos adem s de otras como monitorizar y modificar entre otras Dispone de una interfaz gr fica f cil de usar donde se puede ver la carga de los sistemas virtua lizados Permite ejecutar rdenes por comando a trav s del comando virsh o virt Tiene licencia LGPL y al igual que gnome boxes usa qemu por lo tanto se convierte en candidato Tras este an lisis y tras haber probado cada una de las alternativas la opci n final ha sido utilizar Libvirt Dispone de un abanico de operaciones m s amplio para interactuar con los si
52. ueda consultar que es lo que ha pasado o cuales han sido las ltimas acciones realizadas con el fin de informar de alg n error de alg n acierto o seguir las acciones que se van realizando En t rminos marinos existe el cuaderno de bit cora que es un libro donde se apuntan los datos de lo acontecido para poder consultar todo lo que ha pasado durante un periodo de tiempo En inform tica se utiliza la palabra log el cual es un registro oficial de eventos que se hace durante un periodo de tiempo en particular La informaci n que se suele almacenar en los logsresponde a preguntas del tipo qui n qu d nde por qu y cuando La idea es que de una forma r pida el usuario pueda saber qu ha fallado qui n hizo esa operaci n d nde se realiz por qu se produjo el fallo y cuando sucedi Ojo un fichero de este tipo tambi n ayuda a comprobar que algo funciona correctamente En Sistemas Operativos como GNU Linux existen unos ficheros con extensi n 1og don de se almacena este tipo de informaci n Normalmente cada aplicaci n tiene un fichero de 2 METODOLOGIAS Y HERRAMIENTAS logza que seria inmanejable tener uno gigantesco para todo el sistema En este tipo de fiche ros la informaci n est organizada respondiendo a esas preguntas formuladas en el p rrafo anterior Por ejemplo t mese el archivo var user log para observar lo que sucede Apr 26 09 53 49 baran NetworkManager 3077 lt info gt prefix 24 255 255 25
53. uidas requieren Estos servicios proporcionan un excelente ren dimiento y pueden ser replicados para lograr tolerancia a fallos y escalabilidad a IceGrid ceGrid es uno de los servicios m s importantes de ICE proporciona una gran cantidad de funcionalidades para un grid de ordenadores como activaci n auto m tica de objetos balanceo de carga y transparencia de localizaci n Permite que un cliente se comunique con un objeto remoto sin saber en qu nodo se encuentra ni en qu puerto est escuchando ceGrid incluye dos herramientas de administraci n para controlar sus caracter sticas icegridadmin la cual tiene una interfaz por linea de co mandos y icegrid admin con una interfaz gr fica Es importante conocer algunos de los conceptos que maneja IceGrid 2 METODOLOGIAS Y HERRAMIENTAS Nodo Identifica a un nodo l gico puede haber m s de un nodo en un computador Servidor Identifica mediante un nombre nico a un programa que se ejecutar en un nodo Adaptador de objetos Tiene datos espec ficos de un adaptador de objetos utilizado en un servidor ICE como endpoints Aplicaci n Conjunto de servicios objetos y configuraciones que forman la aplicaci n distribuida Se puede almacenar en un fichero XML IceStorm ceStorm es el servicio de ICE que proporciona comunicaci n entre clientes y servidores a trav s de canales de eventos En este mbito es m s com n utilizar publicador y suscriptor en lugar de cliente y se
54. uild para construir el paquete debuild us uc Para terminar el proceso hay que revertir la snapshot para dejar la m quina virtual ac tualizada y preparada para realizar la siguiente construcci n sudo virsh snapshot revert lt nombre_dominio gt lt nombre_snapshot gt Para automatizar todo este proceso se ha realizado un script que se ejecutar en cada uno de los nodos cuando se requiera para construir los paquetes Este script se encuentra en src 2 4 3 Firma de paquetes The GNU Privacy Guard El GnuPG es el la implementaci n libre del est ndar OpenPGP definido en el RFC4880 GnuPG permite encriptar y firmar tus datos y comunicaciones cuenta con un sistema de ges ti n de claves as como m dulos de acceso para todo tipo de directorios de claves Gnupg es conocido por GPG y es una herramienta para la l nea de comandos para integrarla f cilmente con el resto de aplicaciones El funcionamiento consiste en que cada usuario tiene una clave privada y una clave p bli ca La clave privada es la que se utiliza para desencriptar aquello que te env an encriptado con la clave p blica La clave privada solamente la debe conocer el propietario si alguien m s la conociese podr a desencriptar lo que te env an y ser a un problema de seguridad Lo que se pretende conseguir al firmar los paquetes es que se tenga la seguridad de que esos paquetes no est n da ados o alterados cuando pasan por las numerosas fases de
55. uinas virtuales se reinicien cuando se requiera e Que sea software libre Adem s de todo ello ser a deseable que las m quinas virtuales se puedan gestionar mediante comandos con el fin de construir alg n script que facilite las operaciones En base a estos criterios se procede al estudio de las siguientes herramientas VMwa re VMw13 VirtualBox Cor13 QEMU Bel13 Gnome Boxes Libvirt RH11 VMWare Software de virtualizaci n disponible para computadores x86 Este programa no dispone de una licencia de software libre por lo tanto no cumple con uno de los requisitos y se descarta su uso por esta raz n 2 METODOLOGIAS Y HERRAMIENTAS 11 VirtualBox Software de virtualizaci n para arquitecturas x86 y amd64 es multiplatafor ma lo cual quiere decir que se pueden tener instancias en varios sistemas operativos como Windows Mac o GNU Linux Dispone de gesti n mediante comandos a trav s del comando VBoxManage as como de una interfaz gr fica donde poder instalar el sistema operativo deseado Su licencia es GPL sin embargo un punto en contra es la no virtualizaci n de la arquitectura arm Se pueden realizar todas las operaciones descritas en los requisitos por lo tanto se convierte en candidato QEMU En ingl s Quick EMUlator es capaz de virtualizar diferentes tipos de CPU y de este modo se pueden virtualizar diferentes arquitecturas Dispone de interfaz gr fica y de administraci n mediante comandos gracias a es
56. ure copyleft versions of that license published by that same organization Incorporate means to publish or republish a Document in whole or in part as part of another Document An MMC is eligible for relicensing if it is licensed under this License and if all works that were first published under this License somewhere other than this MMC and subsequently incorporated in whole or in part into the MMC 1 had no cover texts or invariant sections and 2 were thus incorporated prior to November 1 2008 The operator of an MMC Site may republish an MMC contained in the site under CC BY SA on the same site at any time before August 1 2009 provided the MMC is eligible for relicensing Bibliografia Bel13 Fabrice Bellard Qemu Emulator User Documentation 2013 Cor13 Oracle Corporation Oracle VM Virtual Box User Manual 2013 HS10 Henning y M Spruiell Distributed Programming with Ice Version 3 4 0 ZeroC Inc 2010 PAW13 Jussi Ronkainen Pekka Abrahamsson Outi Salo y Juhani Warsta Agile Software Development Methods Review and analysis 2013 RH11 Inc Red Hat The virtualization API http 1ibvirt org index html Sep tiembre 2011 Uek07 Junichi Uekawa Pbuilder User s Manual May 27 2007 VMw13 Inc VMware VMware Debian 6 Documentation 2013 36 Este documento fue editado y tipografiado con BIEX empleando la clase arco pfc que se puede encontrar en https bitbucket org arco_group arco p
57. vidor o en varios servidores Cada objeto tiene una o m s interfaces la cual tiene varias operaciones soportadas por un objeto Los clientes son los que invocan estas operaciones Una operaci n tiene cero o m s parametros y un valor de retorno Tanto los par metros como el valor de retorno son de un tipo espec fico Cada objeto tiene una identidad nica con esta identidad nica se distingue a un objeto de otros Las peticiones de los clientes deben terminar ejecut ndo c digo en el servidor El com ponente en el lado del servidor que proporciona el comportamiento que est asociado a la invocaci n se denomina sirviente Cuando un sirviente se a ade a un adaptador es necesa rio asignale una identidad de objeto para identificarlo globalmente en el sistema distribui do Proxy Para identificar un sirviente bastar con conocer su identidad y el endpoint del adaptador de objetos donde se encuentra Objetol t tcp h 127 0 0 1 p 9999 El sirviente con la identidad 0b jeto1 es accesible en el endpoint tcp h 127 0 0 1 p 9999 El valor t quiere decir que el modo de acceso al objeto es twoway o lo que es lo mismo que el sirviente puede recibir mensajes y se esperar n sus respuestas 2 METODOLOGIAS Y HERRAMIENTAS Slice C mo sabe el cliente el tipo de objeto que hay al otro lado El servidor y el cliente deben compartir informaci n sobre los objetos involucrados en la comunicaci n as como sus atr

Download Pdf Manuals

image

Related Search

Related Contents

536350 -Libretto F.Inc 32 Etna (mod).FH11  pdf, 2.8 Mo  Samsung MM-X5 دليل المستخدم  Easy SCADA User Manual  

Copyright © All rights reserved.
Failed to retrieve file