= EGI !FedCloud = [[NoteBox(note, Se recomienda la lectura la [https://wiki.egi.eu/wiki/FAQ10_EGI_Federated_Cloud_User guía de usuario] antes de realizar de las prácticas.)]] == Práctica 1 == El objetivo de esta práctica es tomar contacto con el uso de recursos de computación cloud en EGI. Recuerde que estos comandos han de ejecutarse desde el frontend `ui.macc.unican.es`. * Para está práctica utilizaremos la aplicación [https://appdb.egi.eu/store/vappliance/egi.ubuntu.14.04 EGI Ubuntu 14.04] y el site `CESNET-MetaCloud`. Para ello debemos configurar una serie de variables: `ENDPOINT`, `OS_TPL`, `RES_TPL`. Estas variables se pueden obtener bien desde el apartado '''Availability & Usage''' de la aplicación indicada o con siguientes comandos: *`ENDPOINT` : {{{ #!sh [user@ui ~]$ ldapsearch -x -H ldap://lcg-bdii.cern.ch:2170 -b GLUE2DomainID=CESNET-MetaCloud,GLUE2GroupID=grid,o=glue GLUE2EndpointInterfaceName=OCCI | grep GLUE2EndpointURL | awk {'print $2'} }}} *`OS_TPL` : {{{ #!sh occi --endpoint $ENDPOINT --action list --resource os_tpl --auth x509 --user-cred $X509_USER_PROXY --voms }}} *`RES_TPL` : {{{ #!sh occi --endpoint $ENDPOINT --action list --resource resource_tpl --auth x509 --user-cred $X509_USER_PROXY --voms }}} * Configuramos las variables de entorno con los siguiente valores: {{{ #!sh [user@ui ~]$ export ENDPOINT=https://carach5.ics.muni.cz:11443 [user@ui ~]$ export OS_TPL=http://occi.carach5.ics.muni.cz/occi/infrastructure/os_tpl#uuid_egi_ubuntu_server_14_04_lts_fedcloud_warg_131 [user@ui ~]$ export RES_TPL=http://fedcloud.egi.eu/occi/compute/flavour/1.0#small }}} * Generamos un proxy válido para poder operar en la infraestructura EGI !FedCloud: {{{ #!sh [user@ui ~]$ voms-proxy-init -voms fedcloud.egi.eu --rfc }}} * Creamos un par clave publica-privada para conectarnos a las maquinas virtuales (VM) que creemos : {{{ #!sh [user@ui ~]$ ssh-keygen -t rsa -b 2048 -f tmpfedcloud }}} * Configuramos la VM utilizado [https://coreos.com/os/docs/latest/cloud-config.html cloud config]: {{{ #!sh [user@ui ~]$ cat > tmpfedcloud.login << EOF #cloud-config users: - name: cloudadm shell: /bin/bash sudo: ALL=(ALL) NOPASSWD:ALL lock-passwd: true ssh-import-id: cloudadm ssh-authorized-keys: - `cat tmpfedcloud.pub` EOF }}} * Creamos la VM : {{{ #!sh [user@ui ~]$ VM_ID=$(occi --endpoint $ENDPOINT --auth x509 --user-cred $X509_USER_PROXY --voms --action create --resource compute --attribute occi.core.title="MyFirstVM" --mixin $OS_TPL --mixin $RES_TPL --context user_data="file://$PWD/tmpfedcloud.login") }}} * Obtenemos información de sus características como su dirección IP: {{{ #!sh [user@ui ~]$ occi --endpoint $ENDPOINT --auth x509 --user-cred $X509_USER_PROXY --voms --action describe --resource ${VM_ID} }}} [[NoteBox(note, En este caso la IP que se obtiene es publica. Si no lo fuera\, tendríamos que ejecutar el siguiente comando para obtener una:` occi --endpoint http://cloud.recas.ba.infn.it:8787/occi/ --auth x509 --user-cred x509_fedcloud.egi.eu --voms --action link --resource ${VM_ID} --link /network/public`)]] * Nos conectamos a la VM por medio de `ssh` haciendo uso de la clave privada que hemos generado con anterioridad: {{{ #!sh [user@ui ~]$ ssh -i tmpfedcloud cloudadm@DIR_IP }}} * Una vez conectados ejecutamos a la VM, ejecutamos los comandos `hostname`, `uname -a`, `cat /proc/cpuinfo`, `cat /proc/meminfo` y `ifconfig` para obtener información sobre ella. * Finalmente destruimos la VM: {{{ #!sh [user@ui ~]$ occi --endpoint $ENDPOINT --auth x509 --user-cred $X509_USER_PROXY --voms --action delete --resource ${VM_ID} }}} == Práctica 2 == * Basándose en la práctica 1 cree una máquina virtual con un flavour distinto (`RES_TPL`), indicando las principales características del nuevo flavour utilizado. * ¿ Qué ocurre si eliminamos la linea `shell: /bin/bash` del fichero de configuarion `tmpfedcloud.login` ? == Práctica 3 == * Repita el proceso de la práctica 1 para crear una máquina virtual, con la aplicación [https://appdb.egi.eu/store/vappliance/egi.ubuntu.14.04 EGI Ubuntu 14.04] como base, siendo en este caso el site donde desplegar la máquina virtual `RECAS-BARI`. Indique los comandos utilizados así como la respuesta de los mismos y las variables utilizadas. [[NoteBox(warn, Recuerde de eliminar siempre las máquinas virtuales que no utilice.)]]