Herramientas de usuario

Herramientas del sitio


notas:enomalism
no way to compare when less than two revisions

Diferencias

Muestra las diferencias entre dos versiones de la página.


notas:enomalism [2009/07/04 04:41] (actual) – creado cayu
Línea 1: Línea 1:
 +====== Configuraciones a mano ======
 +
 +
 +
 +[[http://www.enomalism.com/|Enomalism]]
 +
 +
 +Para agregar una imagen bajada o hecha en casa
 +
 +<code>
 +slapadd  -l mi-imagen.ldif
 +</code>
 +
 +o mas recomendado 
 +
 +<code>
 +ldapadd -D 'cn=Manager,dc=enomalism,dc=com' -w secret -x -f debian.ldif
 +</code>
 +
 +mi-imagen.ldif
 +
 +<code>
 +dn: cn={mi-imagen},ou=Images,dc=enomalism,dc=com
 +cn: {mi-imagen}
 +objectClass: top
 +objectClass: device
 +objectClass: enomalism-domu-image
 +enomalism-dom-adminusers: uid=admin,ou=users,dc=enomalism,dc=com
 +url: /opt/enomalism/vmimages/{mi-imagen}.xvm
 +</code>
 +
 +En http://www.vmcasting.org/fileadmin/vmimages/ hay imagenes de ejemplo para bajar
 +
 +Ademas /opt/enomalism/data/xvmmake/ hay un esqueleto armando a modo de helper para crear las imagenes virtuales.
 +
 +La imagenes-templates se guardan almacenadas en un tar sin comprimir .xvm en /opt/enomalism/vmimages y el enomalism al crear las maquinas las descomprime en /xen
 +
 +En el archivo init de enomalism hay que cambiar esta linea 
 +
 +<code>
 +            ${SLAPDPATH}slapd -f "$SLAPCFG" -h "ldap:// ldaps://"
 +</code>
 +
 +<code>
 +            /usr/sbin/slapd -f "/opt/enomalism/openldap/etc/openldap/slapd_debian.conf" -h "ldap:// ldaps://"
 +</code>
 +
 +Y el archivo slapd_debian se crea en base al slapd_ubuntu
 +
 +====== Crear una VM a mano ======
 +
 +Ejemplo tengo un archivo ldif con los datos de la maquina a usar
 +
 +<code>
 +dn: cn={mi_vm},ou=DomU,ou=XenDomains,dc=enomalism,dc=com
 +enomalism-parent-dom0: cn=localhost,ou=dom0,ou=XenDomains,dc=enomalism,dc=com
 +ipHostNumber: 0.0.0.0
 +enomalism-hdimage-uuid: {mi_uuid}
 +cn: {mi_vm}
 +enomalism-dom-adminusers: cn=Manager,dc=enomalism,dc=com
 +enomalism-dom-adminusers: uid=fedora,ou=users,dc=enomalism,dc=com
 +objectClass: top
 +objectClass: ipHost
 +objectClass: enomalism-domU
 +</code>
 +
 +
 +para introducir los datos
 +
 +<code>
 +ldapadd -D 'cn=Manager,dc=enomalism,dc=com' -v -w secret -x -f mi_VM.ldif
 +</code>
 +
 +
 +
 +para borrarlos
 +<code>
 +ldapdelete -D 'cn=Manager,dc=enomalism,dc=com' -v -w secret -x cn=imagen_inventada,ou=DomU,ou=XenDomains,dc=enomalism,dc=com
 +</code>
 +
 +* secret es el passwd default
 +
 +
 +luego en /xen/ hay que crear un directorio que se llame
 +<code>
 +{mi_uuid}_{mi_VM}
 +</code>
 +
 +ejemplo hay una maquina que aparecer en enomalism como fedora6-no pero que se llama para el xm como f52cf5d5d42739d9758c943db1b76c04_fedora6-eno, y hay que crear un /xen/f52cf5d5d42739d9758c943db1b76c04_fedora6-eno y alli dentro esta xen.cfg y si usa una imagen disco virtual tambien esta ej sda1.img
 +
 +
 +el archivo xen.cfg
 +
 +<code>
 +import os, re
 +arch = os.uname()[4]
 +if re.search('64', arch):
 +    arch_libdir = 'lib64'
 +else:
 +    arch_libdir = 'lib'
 +device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
 +
 +kernel = "/boot/vmlinuz-2.6-xenU"
 +vif = ['']
 +# ej name = "f52cf5d5d42739d9758c943db1b76c04_fedora6-eno"
 +name = "{mi_uuid}_{mi_VM}"
 +usbdevice = "tablet"
 +on_reboot = "restart"
 +builder = "linux"
 +on_crash = "restart"
 +device_model = "/usr/lib64/xen/bin/qemu-dm"
 +vcpus = "1"
 +memory = "128"
 +serial = "pty"
 +disk = ['tap:aio:/xen/f52cf5d5d42739d9758c943db1b76c04_fedora6-eno/sda1.img,ioemu:sda1,w']
 +root = "/dev/sda1 ro"
 +usb = "1"
 +</code>
 +
 +====== Sobre los UUID ======
 +
 +
 +FIXME! ejemplo un uuid seria asi : 
 +<code>
 +enomalism-hdimage-uuid: f52cf5d5d42739d9758c943db1b76c05
 +</code>
 +
 +pero se le puede inventar cualquiera, no hace falta que sea algun caracter en particular, pero seria bueno ver de donde lo inventa el enomalism, aunque me parece aleatorio.
 +* Podria tal vez ir ahi el ID cliente del que habiamos hablado al crear un VM ?
 +
 +Encontrado :)
 +
 +
 +Aca esta el codigo de generacion del UUID en /opt/enomalism/enomalism/ProvisionTools.py
 +<code>
 +    def generateUUID(self):
 +        try:
 +            fp=open('/dev/urandom','r')
 +        except:
 +            try:
 +                fp=open('/dev/random','r')
 +            except:
 +                return False
 +        if fp.__class__.__name__!='file':
 +            return False
 +        temp=fp.read(128);
 +        m=md5.new()
 +        m.update(temp)
 +        return m.hexdigest()
 +</code>
 +
 +Efectivamente era un codigo aleatorio
 +
 +====== Ejemplo de VM ======
 +
 +La VM se llama maquina_inventada
 +
 +/xen/f52cf5d5d42739d9758c943db1b76c05f_imagen_inventad
 +
 +el ldif
 +<code>
 +dn: cn=imagen_inventada,ou=DomU,ou=XenDomains,dc=enomalism,dc=com
 +enomalism-parent-dom0: cn=localhost,ou=dom0,ou=XenDomains,dc=enomalism,dc=com
 +ipHostNumber: 0.0.0.0
 +enomalism-hdimage-uuid: f52cf5d5d42739d9758c943db1b76c05f
 +cn: imagen_inventada
 +enomalism-dom-adminusers: cn=Manager,dc=enomalism,dc=com
 +enomalism-dom-adminusers: uid=fedora,ou=users,dc=enomalism,dc=com
 +objectClass: top
 +objectClass: ipHost
 +objectClass: enomalism-domU
 +</code>
 +
 +el xen.cfg
 +
 +<code>
 +kernel = "/boot/vmlinuz-2.6-xenU"
 +vnc = "0"
 +vif = ['']
 +name = "f52cf5d5d42739d9758c943db1b76c05f_imagen_inventada"
 +usbdevice = "tablet"
 +on_reboot = "restart"
 +builder = "linux"
 +on_crash = "restart"
 +vcpus = "1"
 +memory = "128"
 +root = "/dev/hda1 ro"
 +arch_libdir = "lib"
 +disk    = [ 'phy:/dev/storage/debian64-test1-disk,hda1,w', 'phy:/dev/storage/debian64-test1-swap,hda2,w' ]
 +arch = "x86_64"
 +serial = ""
 +usb = "0"
 +</code>
  
notas/enomalism.txt · Última modificación: 2009/07/04 04:41 por cayu