OpenStack Mitaka - LXC

Instalación y configuración de OpenStack Mitaka sobre LXC en Ubuntu 14.04

Nova Computer - En el nodo controlador

Creamos las bases de datos necesarias para "nova" y otorgamos los permisos necesarios.

      root@nova-controller:~# mysql -u root -p
      MariaDB [(none)]> CREATE DATABASE nova_api;
      MariaDB [(none)]> CREATE DATABASE nova;
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
    
Cargamos las credenciales del usuario Admin.
      root@client:~$ source admin-openrc
    
Creamos el usuario "nova", lo añadimos al rol "admin" y al projecto "service".
      root@client:~$ openstack user create --domain default --password-prompt nova
      root@client:~$ openstack role add --project service --user nova admin
    
Creamos la entidad de servicio para nova-computer.
      root@os-client:~$ openstack service create --name nova --description "OpenStack Compute" compute
    
Creamos los endpoints para la API de nova-compute.
      root@os-client:~$ openstack endpoint create --region RegionOne compute public http://NOVA_CONTROLLER_IP:8774/v2.1/%\(tenant_id\)s
      root@os-client:~$ openstack endpoint create --region RegionOne compute internal http://NOVA_CONTROLLER_IP:8774/v2.1/%\(tenant_id\)s
      root@os-client:~$ openstack endpoint create --region RegionOne compute admin http://NOVA_CONTROLLER_IP:8774/v2.1/%\(tenant_id\)s
    
Instalamos los paquetes necesarios en el nodo controlador, nova-controller.
      root@nova-controller:~# apt install -y nova-api nova-conductor nova-consoleauth nova-novncproxy nova-scheduler
    
Editamos en nova_controller el fichero de configuración /etc/nova/nova.conf.
      root@nova-controller:~# emacs /etc/nova/nova.conf
      [DEFAULT]
      dhcpbridge_flagfile=/etc/nova/nova.conf
      dhcpbridge=/usr/bin/nova-dhcpbridge
      state_path=/var/lib/nova
      lock_path=/var/lock/nova
      force_dhcp_release=True
      libvirt_use_virtio_for_bridges=True
      ec2_private_dns_show_ip=True
      api_paste_config=/etc/nova/api-paste.ini
      enabled_apis=osapi_compute,metadata
      rpc_backend=rabbit
      auth_strategy=keystone
      use_neutron=True
      firewall_driver=nova.virt.firewall.NoopFirewallDriver

      [api_database]
      connection=mysql+pymysql://nova:NOVA_DB_PASS@NOVA_CONTROLLER_INTERNAL_IP/nova_api

      [database]
      connection=mysql+pymysql://nova:NOVA_DB_PASS@NOVA_CONTROLLER_INTERNAL_IP/nova

      [oslo_messaging_rabbit]
      rabbit_host=NOVA_CONTROLLER_INTERNAL_IP
      rabbit_userid=openstack
      rabbit_password=RABBIT_PASS

      [keystone_authtoken]
      auth_uri=http://KEYSTONE_INTERNAL_IP:5000
      auth_url=http://KEYSTONE_INTERNAL_IP:35357
      memcached_servers=KEYSTONE_INTERNAL_IP:11211
      auth_type=password
      project_domain_name=default
      user_domain_name=default
      project_name=service
      username=nova
      password=NOVA_PASS

      [vnc]
      vncserver_listen=NOVA_CONTROLLER_INTERNAL_IP
      vncserver_proxyclient_address=NOVA_CONTROLLER_INTERNAL_IP

      [glance]
      api_servers=http://GLANCE_INTERNAL_IP:9292

      [oslo_concurrency]
      lock_path=/var/lib/nova/tmp
    
Reiniciamos los servicios.
      root@nova-controller:~# service nova-api restart
      root@nova-controller:~# service nova-consoleauth restart
      root@nova-controller:~# service nova-scheduler restart
      root@nova-controller:~# service nova-conductor restart
      root@nova-controller:~# service nova-novncproxy restart