Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

For Future Reference

With ocata placement service is mandatory and placement service is part of nova that could be deployed independently. Here are the steps I followed.

  1. Install the placement package. [If you already had installed nova, I would suggest to take backup of nova.conf, as installation would override nova.conf, once installation is completed replace it with the backup.

    sudo apt install nova-placement-api
    
  2. Create user placement.

    openstack user create --domain default --password-prompt placement
    
  3. Add the user placement to project service with admin role

     openstack role add --project service --user placement admin
    
  4. Create a service catalog of type placement

    openstack service create --name placement --description "OpenStack Placement" placement
    
  5. Create endpoint

    openstack endpoint create --region RegionOne placement \
                      public http://<ip_of_placement_service_host>:8780
    openstack endpoint create --region RegionOne placement \
                      admin http://<ip_of_placement_service_host>:8780
    openstack endpoint create --region RegionOne placement \
                      internal http://<ip_of_placement_service_host>:8780
    

    NOTE: The Port is different one I had configured here, default port is not 8780, I dont remember right now, its better to check in /etc/apache2/sites-enabled/placement-api.conf placement configuration.

  6. Update /etc/nova/nova.conf with credentials in placement section

    os_region_name = RegionOne
    project_domain_name = Default
    project_name = service
    user_domain_name = Default
    password = placement
    username = mypassword
    auth_url = http://controller:35357/v3
    auth_type = password
    
  7. Update database configuration, since placement service is part of nova_api provide database connection details in placement_database section

    connection=mysql+pymysql://nova:<nova_password>@controller/nova_api
    
  8. Restart apache2 and nova services.


Once I installed Placement, nova boot started failing again with same error, but this time the error message was related to cells. I'm not sure if cells is made mandatory in ocata. even though I tried to disable by explicitly setting enable=false in cells sections it still complained saying no cells to host mapping configured. I ended up configuring cells as well. Here are the steps I followed.

  1. Login to database and create nova_cell0 database and give permission similar to that of nova_api

      create database nova_cell0;
      GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%'  IDENTIFIED BY '<password>';
      GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost'  IDENTIFIED BY '<password>';
    
  2. Execute following commands.

       su -s /bin/sh -c "nova-manage cell_v2 map_cell0"  nova
       nova-manage db sync
       nova-manage cell_v2 create_cell
    
  3. Make sure all the hyperivisor(compute nodes) are connected and then execute bellow command.

       nova-manage cell_v2 discover_hosts
    

    For further information on cells installation please refer here

For Future Reference

With ocata placement service is mandatory and placement service is part of nova that could be deployed independently. Here are the steps I followed.

  1. Install the placement package. [If you already had installed nova, I would suggest to take backup of nova.conf, as installation would override nova.conf, once installation is completed replace it with the backup.

    sudo apt install nova-placement-api
    
  2. Create user placement.

    openstack user create --domain default --password-prompt placement
    
  3. Add the user placement to project service with admin role

     openstack role add --project service --user placement admin
    
  4. Create a service catalog of type placement

    openstack service create --name placement --description "OpenStack Placement" placement
    
  5. Create endpoint

    openstack endpoint create --region RegionOne placement \
                      public http://<ip_of_placement_service_host>:8780
    openstack endpoint create --region RegionOne placement \
                      admin http://<ip_of_placement_service_host>:8780
    openstack endpoint create --region RegionOne placement \
                      internal http://<ip_of_placement_service_host>:8780
    

    NOTE: The Port is different one I had configured here, default port is not 8780, I dont remember right now, its better to check in /etc/apache2/sites-enabled/placement-api.conf placement configuration.

  6. Update /etc/nova/nova.conf with credentials in placement section

    os_region_name = RegionOne
    project_domain_name = Default
    project_name = service
    user_domain_name = Default
    password = placement
    username = mypassword
    auth_url = http://controller:35357/v3
    auth_type = password
    
  7. Update database configuration, since placement service is part of nova_api provide database connection details in placement_database section

    connection=mysql+pymysql://nova:<nova_password>@controller/nova_api
    
  8. Restart apache2 and nova services.


Configuration of Cells

Once I installed Placement, nova boot started failing again with same error, but this time the error message was related to cells. I'm not sure if cells is made mandatory in ocata. even though I tried to disable by explicitly setting enable=false in cells sections it still complained saying no cells to host mapping configured. I ended up configuring cells as well. Here are the steps I followed.

  1. Login to database and create nova_cell0 database and give permission similar to that of nova_api

      create database nova_cell0;
      GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%'  IDENTIFIED BY '<password>';
      GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost'  IDENTIFIED BY '<password>';
    
  2. Execute following commands.

       su -s /bin/sh -c "nova-manage cell_v2 map_cell0"  nova
       nova-manage db sync
       nova-manage cell_v2 create_cell
    
  3. Make sure all the hyperivisor(compute nodes) are connected and then execute bellow command.

       nova-manage cell_v2 discover_hosts
    

    For further information on cells installation please refer here

For Future Reference

With ocata placement service is mandatory and placement service is part of nova that could be deployed independently. Here are the steps I followed.

  1. Install the placement package. [If you already had installed nova, I would suggest to take backup of nova.conf, as installation would override nova.conf, once installation is completed replace it with the backup.

    sudo apt install nova-placement-api
    
  2. Create user placement.

    openstack user create --domain default --password-prompt placement
    
  3. Add the user placement to project service with admin role

     openstack role add --project service --user placement admin
    
  4. Create a service catalog of type placement

    openstack service create --name placement --description "OpenStack Placement" placement
    
  5. Create endpoint

    openstack endpoint create --region RegionOne placement \
                      public http://<ip_of_placement_service_host>:8780
    openstack endpoint create --region RegionOne placement \
                      admin http://<ip_of_placement_service_host>:8780
    openstack endpoint create --region RegionOne placement \
                      internal http://<ip_of_placement_service_host>:8780
    

    NOTE: The Port is different one I had configured here, default port is not 8780, I dont remember right now, its better to check in /etc/apache2/sites-enabled/placement-api.conf placement configuration.

  6. Update /etc/nova/nova.conf with credentials in placement section

    os_region_name = RegionOne
    project_domain_name = Default
    project_name = service
    user_domain_name = Default
    password = placement
    username = mypassword
    auth_url = http://controller:35357/v3
    auth_type = password
    
  7. Update database configuration, since placement service is part of nova_api provide database connection details in placement_database section

    connection=mysql+pymysql://nova:<nova_password>@controller/nova_api
    
  8. Restart apache2 and nova services.


In case of devstack you can enable the placement service by adding enable_service placement-api

to local.conf

Configuration of Cells

Once I installed Placement, nova boot started failing again with same error, but this time the error message was related to cells. I'm not sure if cells is made mandatory in ocata. even though I tried to disable by explicitly setting enable=false in cells sections it still complained saying no cells to host mapping configured. I ended up configuring cells as well. Here are the steps I followed.

  1. Login to database and create nova_cell0 database and give permission similar to that of nova_api

      create database nova_cell0;
      GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%'  IDENTIFIED BY '<password>';
      GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost'  IDENTIFIED BY '<password>';
    
  2. Execute following commands.

       su -s /bin/sh -c "nova-manage cell_v2 map_cell0"  nova
       nova-manage db sync
       nova-manage cell_v2 create_cell
    
  3. Make sure all the hyperivisor(compute nodes) are connected and then execute bellow command.

       nova-manage cell_v2 discover_hosts
    

    For further information on cells installation please refer here