Atom feed of this document
  
 

 Install Compute controller services

Compute is a collection of services that enable you to launch virtual machine instances. You can configure these services to run on separate nodes or the same node. In this guide, most services run on the controller node and the service that launches virtual machines runs on a dedicated compute node. This section shows you how to install and configure these services on the controller node.

  1. Install the Compute packages necessary for the controller node.

    # apt-get install nova-api nova-cert nova-conductor nova-consoleauth \
      nova-novncproxy nova-scheduler python-novaclient
  2. Compute stores information in a database. In this guide, we use a MySQL database on the controller node. Configure Compute with the database location and credentials. Replace NOVA_DBPASS with the password for the database that you will create in a later step.

    Edit the [database] section in the /etc/nova/nova.conf file, adding it if necessary, to modify this key:

    [database]
    connection = mysql://nova:NOVA_DBPASS@controller/nova
  3. Configure the Compute service to use the RabbitMQ message broker by setting these configuration keys in the [DEFAULT] configuration group of the /etc/nova/nova.conf file:

    [DEFAULT]
    ...
    rpc_backend = rabbit
    rabbit_host = controller
    rabbit_password = RABBIT_PASS
  4. Set the my_ip, vncserver_listen, and vncserver_proxyclient_address configuration options to the management interface IP address of the controller node:

    Edit the /etc/nova/nova.conf file and add these lines to the [DEFAULT] section:

    [DEFAULT]
    ...
    my_ip = 10.0.0.11
    vncserver_listen = 10.0.0.11
    vncserver_proxyclient_address = 10.0.0.11
  5. By default, the Ubuntu packages create an SQLite database. Delete the nova.sqlite file created in the /var/lib/nova/ directory so that it does not get used by mistake:

    # rm /var/lib/nova/nova.sqlite
  6. Use the password you created previously to log in as root. Create a nova database user:

    $ mysql -u root -p
    mysql> CREATE DATABASE nova;
    mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
    IDENTIFIED BY 'NOVA_DBPASS';
    mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
    IDENTIFIED BY 'NOVA_DBPASS';
  7. Create the Compute service tables:

    # su -s /bin/sh -c "nova-manage db sync" nova
  8. Create a nova user that Compute uses to authenticate with the Identity Service. Use the service tenant and give the user the admin role:

    $ keystone user-create --name=nova --pass=NOVA_PASS --email=[email protected]
    $ keystone user-role-add --user=nova --tenant=service --role=admin
  9. Configure Compute to use these credentials with the Identity Service running on the controller. Replace NOVA_PASS with your Compute password.

    Edit the [DEFAULT] section in the /etc/nova/nova.conf file to add this key:

    [DEFAULT]
    ...
    auth_strategy = keystone

    Add these keys to the [keystone_authtoken] section:

    [keystone_authtoken]
    ...
    auth_uri = http://controller:5000
    auth_host = controller
    auth_port = 35357
    auth_protocol = http
    admin_tenant_name = service
    admin_user = nova
    admin_password = NOVA_PASS
  10. You must register Compute with the Identity Service so that other OpenStack services can locate it. Register the service and specify the endpoint:

    $ keystone service-create --name=nova --type=compute \
      --description="OpenStack Compute"
    $ keystone endpoint-create \
      --service-id=$(keystone service-list | awk '/ compute / {print $2}') \
      --publicurl=http://controller:8774/v2/%\(tenant_id\)s \
      --internalurl=http://controller:8774/v2/%\(tenant_id\)s \
      --adminurl=http://controller:8774/v2/%\(tenant_id\)s
  11. Restart Compute services:

    # service nova-api restart
    # service nova-cert restart
    # service nova-consoleauth restart
    # service nova-scheduler restart
    # service nova-conductor restart
    # service nova-novncproxy restart
  12. To verify your configuration, list available images:

    $ nova image-list
    +--------------------------------------+---------------------+--------+--------+
    | ID                                   | Name                | Status | Server |
    +--------------------------------------+---------------------+--------+--------+
    | acafc7c0-40aa-4026-9673-b879898e1fc2 | cirros-0.3.2-x86_64 | ACTIVE |        |
    +--------------------------------------+---------------------+--------+--------+
Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page

loading table of contents...