SUSECloud Part 2 Install The OpenStack Services And Ceph On the Multinode Environment Point And Click Style


Bicycle

Prerequisites

Have a cluster installed like in: SUSECloud Part 1 - Install The Multi Node OpenStack/Ceph Environment

SUSE Cloud multi-node OpenStack and Ceph environment overview diagram

After you have installed the admin node you can access the SUSECloud admin website.

SUSE Cloud admin web interface login page

Getting OpenStack Installed

  • Turn on the one or more VMs that will act as hosts which SUSECloud can provision.
for I in `VBoxManage list vms | grep node | grep -v -E "\-1\""|awk '{ gsub (/"/,""); print $1}'`
do
  VBoxManage startvm ${I} --type headless
  VBoxManage controlvm ${I} vrde on
done

You can watch the process with an RDP client:

VirtualBox VM console showing node boot process via RDP client
  • Wait for the VM to show up in the Crowbar Admin web UI with a blinking yellow icon indicating Sleshammer is waiting for instructions (the VM is ready to be allocated)
  • The VM will display something like the following on the console when it has reached a state ready for allocation:
VM console showing Sledgehammer ready for allocation state
  • Open the admin interface at http://192.168.124.10:3000

  • When nodes are discovered, they must be allocated. Bulk Edit the nodes

    • Enter the corresponding alias in the alias field of the node
    • hit the save button
Crowbar admin interface bulk edit nodes page with alias assignment
  • The client node will begin the allocation which includes:
    • Initial Chef run
    • Reboot
    • Install of base system via PXE & preseed
    • Reboot into newly installed system (login prompt)

Again you can watch the progress with the dashboard view.

SUSE Cloud dashboard showing node allocation progress

Wait until all nodes become solid green again. After that we can edit the nodes to hint their usage. This is useful for the later steps. From top to bottom:

  • click on the node
Node details view in SUSE Cloud admin interface
  • click on the edit button
Node edit interface showing intended role configuration options
  • specify the "Intended Role" with the dropdown control to your needs.

OpenStack Installation Order

Order matters when provisioning OpenStack pieces on the various host nodes. The proper order is as already predefined in the Barclamps -> Openstack list.

OpenStack Barclamps list showing installation order sequence

We have to follow that order from top to bottom.

Database

Create a new Proposal for Database:

Database service proposal creation interface
  • Within the Database Proposal setup under the Deployment section, drag the control node from Available Nodes into the database-server box.
  • Click Apply to initiate setting up the Database service on the selected node.

Keystone

Create a new Proposal for Keystone:

Keystone service proposal configuration page
  • Within the Keystone Proposal setup under the Deployment section, drag the control node from Available Nodes into the keystone-server box.
  • Click Apply to initiate setting up the Keystone service on the selected node.

RabbitMQ

Create a new Proposal for RabbitMQ:

RabbitMQ service proposal setup interface
  • Within the RabbitMQ Proposal setup under the Deployment section, drag the control node from Available Nodes into the rabbitmq-server box.
  • Click Apply to initiate setting up the RabbitMQ service on the selected node.

Ceph

Create a new Proposal for Ceph:

Ceph storage service proposal configuration screen
  • Within the Ceph Proposal setup under the Deployment section, drag the storage-1 - storage-3 nodes from Available Nodes into the ceph-mon and ceph-osd box.
  • Click Apply to initiate setting up the Ceph service on the selected node.

Swift

We leave out Swift in this deployment

Glance

Create a new Proposal for Glance:

Glance image service proposal creation page
  • We use Ceph as the default backend, so choose Rados in the Dropdown
Glance configuration showing Rados backend selection for Ceph integration
  • Within the Glance Proposal setup under the Deployment section, drag the control node from Available Nodes into the glance-server box.
  • Click Apply to initiate setting up the Glance service on the selected node.

Cinder

Create a new Proposal for Cinder:

Cinder block storage service proposal with Rados backend configuration
  • We use Ceph as the default backend, so choose Rados in the Type of Volume Dropdown

  • Within the Cinder Proposal setup under the Deployment section, drag the control node from Available Nodes into the cinder-controller and cinder-volume box.

  • Click Apply to initiate setting up the Cinder service on the selected node.

Neutron

Create a new Proposal for Neutron:

Neutron networking service proposal with linuxbridge plugin selection
  • We use the linuxbridge as the network plugin, so choose linuxbridge in the Plugin Dropdown

We want all our public/floating traffic on a separate physical interface. Unfortunately SUSECloud does not support this out of the box yet, so we have to alter the chef recipes and templates.

This is somewhat hackish at the moment as it is really tied to this Virtualbox setup were we know that its gonna be eth1 and vlan 300 for the public interface.

admin:~ # sed -i 's/network_vlan_ranges = physnet1:/network_vlan_ranges = physnet2:300:300,physnet1:/' /opt/dell/chef/cookbooks/neutron/templates/default/ml2_conf.ini.erb
admin:~ # sed -i 's/network_vlan_ranges = physnet1:/network_vlan_ranges = physnet2:300:300,physnet1:/' /opt/dell/chef/cookbooks/neutron/templates/default/linuxbridge_conf.ini.erb
sed -i 's/physical_interface_mappings = physnet1:/physical_interface_mappings = physnet2:eth1,physnet1:/' /opt/dell/chef/cookbooks/neutron/templates/default/linuxbridge_conf.ini.erb
sed -i 's/public_net\["vlan"\]} --provider:physical_network physnet1/public_net["vlan"]} --provider:physical_network physnet2/' /opt/dell/chef/cookbooks/neutron/recipes/post_install_conf.rb

admin:~ # knife cookbook upload neutron -o /opt/dell/chef/cookbooks/
Uploading neutron        [1.0.0]
Uploaded 1 cookbook.
  • Within the Neutron Proposal setup under the Deployment section, drag the control node from Available Nodes into the neutron-server box.
  • Click Apply to initiate setting up the Neutron service on the selected node.

Nova

We are running Nova with Qemu as Virtualbox does us not allow to use kvm in kvm. This is currently not supported in SUSECloud 3. There is just one issue: Using Ceph with Qemu needs an code change to the recipes.

ssh root@192.168.124.10
grep -ir -e "libvirt_type" /opt/dell/chef/cookbooks/* |grep rbd
/opt/dell/chef/cookbooks/nova/recipes/config.rb:  if cinder_server[:cinder][:volume][:volume_type] == "rbd" and node[:nova][:libvirt_type] == "kvm"

We have to change this line to:

if cinder_server[:cinder][:volume][:volume_type] == "rbd” and ['kvm','qemu'].include?(node[:nova][:libvirt_type])

and upload it to the chef server

admin:~ # knife cookbook upload nova -o /opt/dell/chef/cookbooks/
Uploading nova           [0.3.0]
Uploaded 1 cookbook.

Create a new Proposal for Nova:

Nova compute service proposal configuration interface
  • Within the Neutron Proposal setup under the Deployment section, drag the control node from Available Nodes into the nova-multi-controller box and the compute-1 and compute-2 nodes into the nova-multi-compute-qemu
  • Click Apply to initiate setting up the Neutron service on the selected node.

Horizon

Create a new Proposal for Horizon:

Horizon dashboard service proposal setup page
  • Within the Horizon Proposal setup under the Deployment section, drag the control node from Available Nodes into the nova_dashhboard-server box.
  • Click Apply to initiate setting up the Horizon service on the selected node.

Finished Installation

We leave out ceilometer and heat in this deployment. So if everything went well we should see now a lot of green on the OpenStack Barclamp list:

OpenStack Barclamps list showing successful installation with green status indicators

To use the Openstack login we can have a look at the control node:

Control node details page with dashboard access links

The details page of the control node has two links build in. One for the the admin-net dashboard and one for the public-net dashboard.

OpenStack Dashboard Login

To access the dashboard open the browser at http://192.168.124.81

  • Username: crowbar
  • Password: crowbar
OpenStack Horizon dashboard login interface
  • System Info - Services:
OpenStack dashboard system information showing active services status
  • System Info - Network Agents:
OpenStack dashboard network agents overview displaying agent status
  • System Info - Hypervisors:
OpenStack dashboard hypervisors summary showing compute node information
Go Back explore our courses

We are here for you

You are interested in our courses or you simply have a question that needs answering? You can contact us at anytime! We will do our best to answer all your questions.

Contact us