Openstack CLI y autocompletar en bash

Hace ya tiempo que utilizo el comando integrado openstack para vincularme con nubes en Openstack de distintos proveedores y siempre extrañe que en algunas distribuciones de GNU/Linux no estuviera disponible el autocompletar en Bash.

El comando openstack ofrece el parámetro complete que genera el script para que bash-completion lo cargue y quede funcional.

Ejecutar como usuario con permiso sudo:

$ openstack complete | sudo  tee /etc/bash_completion.d/osc.bash_completion > /dev/null

o también como root:

# openstack complete > /etc/bash_completion.d/osc.bash_completion

El parámetro complete implementado en el comando openstack utiliza el framework cliff – Command Line Interface Formulation Framework para obtener la salida del script de bash-completion.

screencast

OpenStack Mitaka, instalación Just For Fun

Siguiendo mi anterior artículo sobre mis primeras impresiones sobre OpenStack Mitaka, aquí está un breve screencast de unos minutos sobre como instalarlo en un ambiente virtualizado con Virtualbox y Vagrantfile:

El archivo Vagrantfile necesario para la instalación, es el siguiente:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "puppetlabs/centos-7.2-64-nocm"

  config.vm.network "forwarded_port", guest: 80, host: 8080
  config.vm.synced_folder ".", "/vagrant", disabled: true

  config.vm.provider "virtualbox" do |vb|
    vb.cpus = 2
    vb.memory = "4096"
  end

  config.vm.provision "shell", inline: <<-SHELL
     sed -i s/enabled=1/enabled=0/ /etc/yum.repos.d/epel.repo
     yum -y update
     systemctl stop NetworkManager 
     systemctl stop firewalld
     systemctl disable NetworkManager 
     systemctl disable firewalld
     systemctl enable network
     setenforce 0
     echo -e "LANG=en_US.utf-8\nLC_ALL=en_US.utf-8" > /etc/environment
     yum install -y https://www.rdoproject.org/repos/rdo-release.rpm
     yum update -y
     yum install -y openstack-packstack vim
     packstack --gen-answer-file=/root/answers.txt
     sed -i s/CONFIG_CINDER_INSTALL=y/CONFIG_CINDER_INSTALL=n/ /root/answers.txt
     sed -i s/CONFIG_SWIFT_INSTALL=y/CONFIG_SWIFT_INSTALL=n/ /root/answers.txt
     sed -i s/CONFIG_CEILOMETER_INSTALL=y/CONFIG_CEILOMETER_INSTALL=n/ /root/answers.txt
     sed -i s/CONFIG_AODH_INSTALL=y/CONFIG_AODH_INSTALL=n/ /root/answers.txt
     sed -i s/CONFIG_GNOCCHI_INSTALL=y/CONFIG_GNOCCHI_INSTALL=n/ /root/answers.txt
     sed -i s/CONFIG_NAGIOS_INSTALL=y/CONFIG_NAGIOS_INSTALL=n/ /root/answers.txt
  SHELL
end

Confío esto sea de utilidad para que puedas probar OpenStack.

OpenStack Mitaka

La versión 13 del sistema operativo para computación en la nube ya está entre nosotros: OpenStack Mitaka. Para esta versión de OpenStack han colaborado activamente un total de 2,336 desarrolladores, ingenerios, administradores de sistemas y usuarios que representan un total de 345 organizaciones.

Recién ahora, a los siete días de su release he conseguido hacerme un tiempo para probarla, aunque más no sea instalar y algun uso simple; pero enseguida se aprecian las mejoras que se publicitan en la nota de prensa. Aquí adjunto algunas de mis capturas.

Administración simplificada

Mitaka incluye numerosas mejoras que facilitan el uso y las tareas diarias de quienes interactúan con la nube y la administran. Responde con bastante celeridad a los comandos, lo que evidencia un gran desarrollo en el motor de software:

Comandos OpenStack.

y también la interfaz web Horizon se percibe muy ágil, con mucha interacción de tirar y arrastrar, logrando que las tareas sean más visuales y rápidas.

Mejor escalabilidad

Mitacka tiene muchos avances para mejorar la escalabilidad de las nubes OpenStack, por ejemplo el orquestador Heat ahora puede encargarse de mayores exigencias de trabajo y más complejas acciones de escalabilidad automatizada. Las mejoras en el gestor de permisos y usuarios keystone han reducido mucho los tiempos de respuesta.

Proyecto OpenStack

Mejorar la experiencia de usuario

Es el punto de Mitaka que más he notado, como ya he hecho referencia en la interfaz web Horizon. Por ejemplo así es como se ven la topología de red ahora (utilizando un despliegue gráfico que ya tenía Ceilometer desde versiones anteriores) :

Topologia de Red

Pero también ahora hay un cliente unificado OpenStack Client que permite mediante un solo comando dar instrucciones a todos los servicios del stack OpenStack.

openstack --help

Recién lo estoy mirando y sorpendiéndome, trataré de seguir profundizando sobre Mitaka en futuros artículos.

Nadie entiende la nube, es un misterio

El software libre que actualmente tiene mayor desarrollo, que involucra a miles de desarrolladores y decentas de empresas alrededor del Mundo e incorpora funcionalidades a un ritmo de vértigo es precisamente un software para computación en la nube llamado OpenStack. Trataremos de entender qué es la nube y cómo mediante este software libre (y otros) podemos apropiarnos de la tecnología de punta y crear nuestra nube privada.

Público objetivo: Estudiantes de carreras de informática, profesionales de informática administradores de sistemas, empresarios y emprendedores en general.

Requisitos: Nivel básico

Conferencia dictada en:

FLISOL 2015 en Florida

FLISOL-Florida-2015

Este próximo fin de semana se realiza el evento de Software Libre más grande de Hispanoamérica: el Festival de Instalación de Software Libre (FLISOL) que este año 2015 se realiza conjuntamente en 20 países  y en varias ciudades en cada uno de ellos.

En Uruguay se realiza en las ciudades de Florida, Montevideo y Paysandú. Tendré la oportunidad de participar en la primera con una presentación que he titulado «Nadie entiende la nube, es un misterio!»,  no solo para hablar de computación en la nube, sino para ver opciones de software libre (como OpenStack) para apropiarnos de la tecnología.

Aqui dejo el enlace a la noticia del FLISOL 2015 en Florida y el video promocional que los compañeros de Comunidad Florida Libre (CFL) han preparado

Seguro será una jornada para recordar.

Servicio de identificación en OpenStack

El servicio de identificación (keystone) de OpenStack realiza las siguientes funciones:

  • Controla los usuarios y sus permisos.
  • Expone el catálogo de los servicios disponibles para ser consumidos mediante API.

Cada servicio instalado se debe registrar en Keystone, de esta forma se estará controlando el acceso a cada uno y cómo está disponible en la red.

Para comprender el servicio de identificación, es necesario entender estos conceptos:

User / usuario
Representación de una persona, sistema o servicio que utiliza OpenStack. El servicio de identificación permite validar los pedidos que son hechos por el usuario.  Los usuarios pueden ingresar y obtener tokens para acceder a recursos.  Los usuarios son asignados a un proyecto en particular y quedan contenidos dentro del proyecto.
Credentials / credenciales
Datos que confirman la identidad de un usuario. Por ejemplo: nombre de usuario y clave,  nombre de usuario y llave API, o token obtenido del sistema de identificación.
Authentication / autenticación
El proceso de confirmar la identidad de un usuario. El servicio de identificación confirma un pedido validando un conjunto de credenciales que envía el usuario.

Estas credenciales son inicialmente el nombre y la clave, o el nombre de usuario y una llave de API. Cuando el usuario se valida, el sistema de identidad emite un token de autenticación que el usuario puede usar para pedidos futuros.

Token / pase
Es una cadena de texto alfanumérica utilizada para acceder a la API y recursos de OpenStack. Este pase puede ser revocado en cualquier momento y es valido por un período determinado.

Actualmente el sistema de identificación de OpeneStack soporta autenticación mediante token aunque la intention es soportar protocolos adicionales en el futuro. El objetivo principal es ser un servicio de integración y no se aspira a dar una solución integral de administración de identificación.

Tenant / beneficiario

Es un contenedor para agrupar o aislar recursos. Dependiendo del servicio, un tenant puede ser un cliente, una cuenta, una organización o un proyecto.
Service / servicio
Un servicio de OpenStack, como ser de cómputo (nova), para guardar objetos (swift), de imágenes (glance). El servicio presenta uno o más endpoints mediante los cuales los usuarios pueden acceder a los recursos y realizar operaciones.
Endpoint / llegada

Es una dirección de red accesible para acceder a un servicio, usualmente una URL. Si se utiliza una extensión de perfiles (templates), un perfil de endpoint puede ser creado, el cual representa todos los servicios que pueden ser consumidos y que están disponibles entre las regiones.

Una personalidad con un conjunto definido de permisos de usuario y privilegios para realizar operaciones específicas.

En el servicio de identificación, un token que es emitido a un usuario que incluye una lista de roles. Los servicios que están siendo invocados por un usuario determinan cómo serán interpretados los conjuntos de roles que dicho usuario tiene y a cuáles operaciones o recursos se tendrá acceso.

Keystone Client / cliente de keystone
Una interfaz de línea de comando para el API keystone de identificación de OpenStack. Por ejemplo, los usuarios podrán ejecutar keystone service-create y keystone endpoint-create para registrar servicios en sus instalaciones de OpenStack.

El siguiente diagrama muestra el proceso de identificación de OpenStack:

Keystone

Este texto es la tradicción directa del manual de OpenStack con algunos agregados y modificaciones básicas que entiendo mejoran la comprension.

Gestión y administración centralizada

Nos encaminamos hacia la computación en la nube como la mejor solución para el manejo diario de aplicaciones que requieren soluciones flexibles, plataformas que evolucionan y adaptabilidad de servicios. Además, el Software Libre se desarrolla a velocidades sorprendentes para satisfacer esta necesidad de cloud computing, generando continuamente nuevos proyectos y comunidades.

El Software Libre y la computación de nube han elevado el número de nodos como nunca antes; si bien se pueden aplicar algunas políticas generales, siempre hay que llegar a impactar cambios a nivel de cada nodo o máquina virtual. Se ha vuelto necesario disponer de herramientas que permitan aplicar esas políticas rápidamente: desde una nueva regla para el sistema de monitoreo, una tarea programada o la instalación de un nuevo software. Esta presentación aborda algunas de las alternativas disponbiles con Software Libre que permiten convertirse en el Director del centro de datos: para que los nodos actúen al unísono y las políticas estén siempre aplicadas.

Público objetivo: Técnicos encargados de administración de servidores, SysOps y DevOps, administradores de centros de datos.

Requisitos: Conocimientos de sistemas operativos (Unix), administración de servidores. Cloud computing

Conferencia dictada en:

Video de la presentación realziada en el marco de Avanza 2014:

Avanza 2014

OpenStack en VirtualBox «just for fun»

Screencast de nueve minutos sobre cómo instalar OpenStack en una máquina virtual VirtualBox corriendo CentOS.

Esta instalación la sugiero para familiarizarse con OpenStack y su uso.

Los invito a suscribirse a mi canal de Youtube: @PILASGURU DROPS