Infrastructure – OpenStack
Before getting into the weeds of setting up clusters with Cloudbreak we need few things put in place.
The RedHat OpenStack 8 platform was installed using automated installer called OSP Director [TripleO].
It consists of one controller and one compute. Carved NFS storage capacity for this POC is 1TB.
Final command used for creating overcloud was:
openstack overcloud deploy \ –templates \ -e /home/stack/templates/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml \ -e /home/stack/templates/network-isolation.yaml \ -e /home/stack/templates/network-environment.yaml \ -e /home/stack/templates/storage-environment-v2.yaml \ –control-scale 1 \ –compute-scale 1 \ –ceph-storage-scale 0 \ –block-storage-scale 0 \ –swift-storage-scale 0 \ –control-flavor control \ –compute-flavor compute \ –neutron-tunnel-types vlan \ –neutron-network-type vlan \ –neutron-flat-networks datacentre,physnet-tenant \ –neutron-bridge-mappings datacentre:br-ex,physnet-tenant:br-tenant \ –neutron-network-vlan-ranges datacentre:1612:1612,physnet-tenant:1701:1720 \ –neutron-disable-tunneling \ –timeout 300 \ –log overcloud.log \ –verbose && sudo openstack-service stop && sudo openstack-service start |
From above few things are important in our lab setup:
- initial overcloud [cloud deployed by using OSP director] uses local storage for instances,
- ovs network overlay is vlan [Cisco does not supprt VXLAN as of yet],
- there are two flat networks defined in UCSM, one for tenant[physnet-tenant], and other, public [datacentre]
- vlan range must be satisfied for both nets
After first step I have further modified configuration as I switched to Keystone version 3.
I am using AD for authenticating my users.
Also to scale better for testing I reconfigured storage to use NetApp NFS share 1TB in side.
On controller as root I have created a file that points to NFS share:
cat >> /etc/cinder/cinder-nfs.conf << EOF 10.237.4.100:/OSP EOFchgrp cinder /etc/cinder/cinder-nfs.conf |
Update overcloud with NFS changes.
You must use all your previous yaml files plus new additions if you want configuration to remain as before:
openstack overcloud deploy \ –templates \ -e /home/stack/templates/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml \ -e /home/stack/templates/network-isolation.yaml \ -e /home/stack/templates/network-environment.yaml \ -e /home/stack/templates/storage-environment-v2.yaml \ -e /home/stack/templates/cinder-netapp-config-v2.yaml \ –log overcloud.log \ –verbose && sudo openstack-service stop && sudo openstack-service start |
I have also created a project called cloudbreak, and gave myself admin and _member_ privileges.
Also, very important is to give yourself and admin users, heat_stack_owner. If not HEAT template creation will fail!!
CloudBreak Prep
Cloudbreak has two main components: the Cloudbreak Application and the Cloudbreak Deployer.
In order to install Cloudbreak on the latest RedHat OpenStack Platform we have to install Cloudbreak Deployer first. There are two ways of accomplishing this. First is to install a VM and install docker image, or use prebuilt cloud image. The prebuilt cloud image is available for OpenStack, MS Azure, AWS, or GCP [Google Cloud Platform].
To download the latest Cloudbreak Deployer and Cloudbreak app image, execute bellow from internet facing system:
cd
|
Import CloudBreak Images into OSP8. Here’s handy script to do it:
for name in cloudbreak-deployer-130-2016-06-14.img cloudbreak-2016-05-26-11-18.img; do NAME1="${name##*/}"; NAME="${NAME1%.img}"; glance image-create --name ${NAME} --file "${name}" --disk-format qcow2 --container-format bare --progress done ... [=============================>] 100% +------------------+--------------------------------------------------------------------+ | Property | Value | +------------------+--------------------------------------------------------------------+ | checksum | e51f799c726eaf8ed738b8a17865f8cf | | container_format | bare | | created_at | 2016-09-26T18:09:17Z | | direct_url | file:///var/lib/glance/images/4ee2d3fc-07ad-42c3-9bfe-fc6dc9626ea8 | | disk_format | qcow2 | | id | 4ee2d3fc-07ad-42c3-9bfe-fc6dc9626ea8 | | min_disk | 0 | | min_ram | 0 | | name | cloudbreak-deployer-130-2016-06-14 | | owner | 860191bfe5784d9c93ac34356f497785 | | protected | False | | size | 5813370880 | | status | active | | tags | [] | | updated_at | 2016-09-26T18:12:01Z | | virtual_size | None | | visibility | public | +------------------+--------------------------------------------------------------------+ [=============================>] 100% +------------------+--------------------------------------------------------------------+ | Property | Value | +------------------+--------------------------------------------------------------------+ | checksum | d3d7b84114d2b129a83979558e6ba4a9 | | container_format | bare | | created_at | 2016-09-26T18:12:03Z | | direct_url | file:///var/lib/glance/images/c6930048-c99f-48e8-a08e-c39610ad9e31 | | disk_format | qcow2 | | id | c6930048-c99f-48e8-a08e-c39610ad9e31 | | min_disk | 0 | | min_ram | 0 | | name | cloudbreak-2016-05-26-11-18 | | owner | 860191bfe5784d9c93ac34356f497785 | | protected | False | | size | 2938961920 | | status | active | | tags | [] | | updated_at | 2016-09-26T18:13:27Z | | virtual_size | None | | visibility | public | +------------------+--------------------------------------------------------------------+ stack@osp8director-xx:[xx@HIGHVAIL/HIGHVAIL/cloudbreak (v3)]~/images> |
These are uploaded images. Minimum disk space is set to 40GB, and RAM to 8192MB.
Two new flavours are created to support Cloudbreak deployer and later cluster setup.
VM flavors
Creating security groups:
nova secgroup-create ICMP_rules “Rules for ICMP Traffic”
nova secgroup-create SSH_rules “Rules for SSH Traffic”
nova secgroup-create Web_rules “Rules for Web Traffic”
nova secgroup-create openstack-Cloudbreak_Rules “Rules for Cloudbreak”
nova secgroup-add-rule ICMP_rules icmp -1 -1 0.0.0.0/0
nova secgroup-add-rule SSH_rules tcp 22 22 0.0.0.0/0
nova secgroup-add-rule Web_rules tcp 443 443 0.0.0.0/0
nova secgroup-add-rule Web_rules tcp 80 80 0.0.0.0/0
nova secgroup-add-rule openstack-Cloudbreak_Rules tcp 3000 3001 0.0.0.0/0
nova secgroup-add-rule openstack-Cloudbreak_Rules tcp 8080 8080 0.0.0.0/0
nova secgroup-add-rule openstack-Cloudbreak_Rules tcp 8089 8089 0.0.0.0/0
|
This is an additional security group with required ports for Cloudbreak.
# linux details
# run as cloudbreak user from /var/lib/cloudbreak-deployment
# Initialize your Profile
/var/lib/cloudbreak-deployment/Profile
export PUBLIC_IP=10.236.13.39 |
Start Cloudbreak
# Start Cloudbreak Deployer
[cloudbreak@cbd cloudbreak-deployment]$ cbd start
generating docker-compose.yml
generating uaa.yml
Recreating cbreak_haveged_1…
Recreating cbreak_uluwatu_1…
Recreating cbreak_consul_1…
Recreating cbreak_cloudbreak_1…
Recreating cbreak_registrator_1…
Recreating cbreak_periscope_1…
Recreating cbreak_sultans_1…
Recreating cbreak_logsink_1…
Recreating cbreak_logspout_1…
Recreating cbreak_identity_1…
Uluwatu (Cloudbreak UI) url:
http://10.236.13.39:3000
login email:
admin@example.com
password:
xxx
|
# cbd sub-commands
Available commands: aws Amazon Webservice namespace azure Azure namespace bash-complete Generates bash autocomplete function: eval “$(cbd bash-complete)” delete Deletes yaml files, and all dbs doctor Deployer doctor: Checks your environment, and reports a diagnose. env Environment namespace generate Generates docker-compose.yml and uaa.yml help Shows help information for a command init Creates Profile if missing kill Kills and removes all cloudbreak related container login Shows Uluwatu (Cloudbreak UI) login url and credentials logs Follow all logs in color. Separate service names by space to filter, e.g. “cbd logs cloudbreak uluwatu” migrate Executes the db migration ps docker-compose: List containers pull Pulls service images pull-parallel Pulls service images parallel regenerate Backups and generates new docker-compose.yml and uaa.yml start Starts Cloudbreak Deployer containers start-wait Starts Cloudbreak Deployer containers, and waits until API is available startdb Starts the DB containers update Binary selfupdater. Either latest github release (default), or specific branch from CircleCI util Util namespace version Displays the version of Cloudbreak Deployer |
Generate a new SSH key
ssh-keygen -t rsa -b 4096 -C “nrokic@highvail.com”
|
Login to the browser:
admin@example.com [xxx]
Next post will focus on building a cluster.
One thought on “Cloudbreak POC – Setup and Installation LAB”