SlideShare a Scribd company logo
StackHPC
A Universe from Nothing
Containerised OpenStack deployment
using Kolla, Ansible and Kayobe
Compute
Node
Compute
Node
Compute
Node
Compute
Node
Compute
Node
Compute
Node
Compute
Node
Compute
Node
HPC Cluster Kubernetes
StackHPC
About Us
Stig Telfer
StackHPC
Mark Goddard
StackHPC
John Garbutt
StackHPC
StackHPC
With special thanks to
StackHPC
Lab Resources
• Lab etherpad:

https://etherpad.openstack.org/p/a-universe-from-nothing
• Git repo:

https://github.com/stackhpc/a-universe-from-nothing
• README instructions:

https://github.com/stackhpc/a-universe-from-nothing/
blob/master/README.rst
• Kayobe docs:

https://kayobe.readthedocs.io/
StackHPC
Today’s Session Plan
• Introduction to Kolla
• Introduction to Kolla-Ansible
• Introduction to Kayobe
• Introduction to Tenks
• End-to-end deploy of OpenStack
• Reconfigure the deployment
• Anything else!
StackHPC
Kolla and Kolla-Ansible
• Containerised control plane using Kolla
• Kolla - Docker containers for OpenStack
• Follows application container pattern
• Kolla-Ansible
• Deploys a containerised control plane in
a simple, flexible manner.
• Broad support for OpenStack services.
• Ansible keeps things (relatively) simple
StackHPC
Kayobe
• Completes Kolla-Ansible with missing
functionality:
• Bare metal deployment of control
plane
• Equivalent of TripleO’s undercloud
• Configuration of control plane host
OS
• Bare metal compute node
management
• Infrastructure-as-Code
StackHPC
Kayobe - Infrastructure as Code
Ansible
Control
Host
Seed
Host
Network
Devices
Control
Plane
Hosts
Bare Metal
Compute Hosts
Configures
Manages
Provisions ProvisionsControl
Plane
Hosts
Control
Plane
Hosts
Control
Plane
Hosts
Bare Metal
Compute Hosts
Bare Metal
Compute Hosts
Bare Metal
Compute Hosts
Bare Metal
Compute Hosts
Bare Metal
Compute Hosts
Bare Metal
Compute Hosts
Bare Metal
Compute Hosts
Bare Metal
Compute Hosts
StackHPC
Tenks
• A Testing and Development tool
• Virtual models for bare metal
• Uses KVM and VirtualBMC
• Looks like a server with IPMI to
Ironic
• For more information:

https://www.stackhpc.com/
tenks.html
English Spoons by Grenadille, CC-BY-SA-4.0
StackHPC
Bringing it all Together
braio
seedseed
bifrost
registry
controller0 compute0controller0 compute0
galera
haproxy
rabbitmq
fluentd
keystone
glance
nova
neutron
fluentd
neutron
nova
demo1
• Login to lab host
• Start Seed VM & services
• Tenks defines control plane
• Bifrost inspects & provisions
• Kolla-Ansible deploys & configures
• Boot demo VM instance
• Anything else!
StackHPC
Connect to the Lab Host
• Claim a lab host from the lab etherpad and put your name to it:

https://etherpad.openstack.org/p/a-universe-from-nothing
• Log in with the lab user:

ssh lab@<ip-of-lab-host>
• Change lab user password to avoid mishap:

passwd
• Start a screen session in case your connection drops:

screen -drR
StackHPC
Start up the Seed VM
• Check if seed VM is running:

sudo virsh list --all
• If it is not already running, start it up:

sudo virsh start seed
• Change directory to the Kayobe workspace:

cd ~/kayobe
StackHPC
Create Control Plane Instances
• Here we set up our model development environment, alongside the
seed VM.
• Install Tenks and control plane instance configuration:

export TENKS_CONFIG_PATH=config/src/kayobe-config/tenks.yml

./dev/tenks-deploy.sh ./tenks
• Activate the Kayobe environment, to allow running commands
directly:

source dev/environment-setup.sh
StackHPC
What just happened?
• Check that the control plane hosts were defined:

sudo virsh list --all
• Look at the state added to Bifrost:

ssh stack@192.168.33.5

sudo docker exec -it bifrost_deploy bash

source env-vars

openstack baremetal node list
+--------------------------------------+-------------+---------------+-------------+--------------------+-------------+
| UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+-------------+---------------+-------------+--------------------+-------------+
| a1f8bd7c-bb15-48fa-9f04-811434affe80 | compute0 | None | power off | available | False |
| 16dced5c-9afa-448d-8217-2c2697ba44cb | controller0 | None | power off | available | False |
+--------------------------------------+-------------+---------------+-------------+--------------------+-------------+
StackHPC
Inspect and provision the control plane
• Invoke Kayobe to extract control plane host data from Bifrost:

kayobe overcloud inventory discover
• Inspect our control plane hosts:

kayobe overcloud hardware inspect
• Deploy the host base software image:

kayobe overcloud provision
• Configure the control plane hosts for OpenStack:

kayobe overcloud host configure
StackHPC
Deploy and configure OpenStack
• Install the Kolla-Ansible containers:

kayobe overcloud container image pull
• Install and configure Kolla-Ansible OpenStack:

kayobe overcloud service deploy
• Apply post-deploy initial config (mostly Ironic, here for
completeness):

source config/src/kayobe-config/etc/kolla/public-openrc.sh

kayobe overcloud post configure
StackHPC
Boot a VM
• Register some resources (keys, flavors, networks, images, etc):

source config/src/kayobe-config/etc/kolla/public-openrc.sh

./config/src/kayobe-config/init-runonce.sh
• Source environment and boot a VM:

source ~/os-venv/bin/activate

openstack server create --image cirros 

--flavor m1.tiny --key-name mykey 

--network demo-net demo1
StackHPC
Connect to the VM
• Assign a floating IP to the server to make it accessible:

openstack floating ip create public1

fip=$(openstack floating ip list -f value 

-c 'Floating IP Address’ --status DOWN | 

head -n 1)

openstack server add floating ip demo1 $fip
• Check SSH access to our VM:

ssh cirros@$fip
StackHPC
Access Horizon
• Extract admin credentials

source config/src/kayobe-config/etc/kolla/public-openrc.sh

echo $OS_PASSWORD
• Open a web browser to your lab host IP and login with the admin
account
• NB: VNC URLs are not rewritten to account for port-forwarding
(you’ll need to do that yourself)
StackHPC
Let’s have some more fun!
• Reconfigure the control plane to deploy ElasticSearch, Kibana and
centralised log aggregation
• Edit config/src/kayobe-config/etc/kayobe/kolla.yml
• Change value:

-#kolla_enable_central_logging:

+kolla_enable_central_logging: yes
StackHPC
Look before you leap!
• Save all the config for the control plane:

mkdir ~/config-before

kayobe overcloud service configuration save 

--output-dir ~/config-before
• Generate new config as a dry run:

kayobe overcloud service configuration generate 

--node-config-dir /tmp/config-new
• Gather next config for comparison of changes:

mkdir ~/config-after

kayobe overcloud service configuration save 

--output-dir ~/config-after
StackHPC
OK lets do it
• Bring down the new containers we need:

kayobe overcloud container image pull
• Make the control plane reconfiguration:

kayobe overcloud service deploy
StackHPC
Lab host access to Kibana
• Check the new containers are installed and running on
controller0 (192.168.33.3):

ssh stack@192.168.33.3 sudo docker ps
• Update forwarding config script configure-local-
networking.sh to add port 5601 for Kibana, and run it again.
• Get the password set for the kibana user from Kolla-Ansible:

grep kibana config/src/kayobe-config/etc/kolla/passwords.yml
• Open the lab host URL with port 5601 to access the logs!
StackHPC
Join the Community!
• IRC Channel #openstack-kayobe
• IRC meetings:

http://eavesdrop.openstack.org/#Kayobe_Team_Meeting
• Online documentation:

https://kayobe.readthedocs.io/en/latest/
StackHPC
Thank you!
stig@stackhpc.com, @oneswig
mark@stackhpc.com, @markgoddard86
john@stackhpc.com, @johnthetubaguy
https://www.stackhpc.com/

More Related Content

What's hot

오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
SONG INSEOB
 
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
Linaro
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
NHN FORWARD
 
OpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - IntroductionOpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - Introduction
Eueung Mulyana
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
OpenStack Korea Community
 
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPFA Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
oholiab
 
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
OpenStack Korea Community
 
Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)
Brendan Gregg
 
Ironic - A modern approach to machine deployment
Ironic - A modern approach to machine deploymentIronic - A modern approach to machine deployment
Ironic - A modern approach to machine deployment
Devananda Van Der Veen
 
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
OpenStack Korea Community
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
Brendan Gregg
 
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
StreamNative
 
Learning how AWS implement AWS VPC CNI
Learning how AWS implement AWS VPC CNILearning how AWS implement AWS VPC CNI
Learning how AWS implement AWS VPC CNI
HungWei Chiu
 
Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!
Ray Jenkins
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27
Kentaro Ebisawa
 
OpenTelemetry For Developers
OpenTelemetry For DevelopersOpenTelemetry For Developers
OpenTelemetry For Developers
Kevin Brockhoff
 
Cfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF Superpowers
Raphaël PINSON
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
CJ Cullen
 
Keystone at openstack multi sites
Keystone at openstack multi sitesKeystone at openstack multi sites
Keystone at openstack multi sites
Vietnam Open Infrastructure User Group
 
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStackMeetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Vietnam Open Infrastructure User Group
 

What's hot (20)

오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
 
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
OpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - IntroductionOpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - Introduction
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
 
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPFA Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
 
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
 
Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)
 
Ironic - A modern approach to machine deployment
Ironic - A modern approach to machine deploymentIronic - A modern approach to machine deployment
Ironic - A modern approach to machine deployment
 
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
 
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
 
Learning how AWS implement AWS VPC CNI
Learning how AWS implement AWS VPC CNILearning how AWS implement AWS VPC CNI
Learning how AWS implement AWS VPC CNI
 
Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27
 
OpenTelemetry For Developers
OpenTelemetry For DevelopersOpenTelemetry For Developers
OpenTelemetry For Developers
 
Cfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF Superpowers
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Keystone at openstack multi sites
Keystone at openstack multi sitesKeystone at openstack multi sites
Keystone at openstack multi sites
 
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStackMeetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStack
 

Similar to A Universe From Nothing

Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Software, Inc.
 
Deploying OpenStack with Chef
Deploying OpenStack with ChefDeploying OpenStack with Chef
Deploying OpenStack with Chef
Matt Ray
 
Calico with open stack and chef
Calico with open stack and chefCalico with open stack and chef
Calico with open stack and chef
D.Rajesh Kumar
 
Velocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack WorkshopVelocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack Workshop
Chef Software, Inc.
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
Erica Windisch
 
Docker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureDocker 102 - Immutable Infrastructure
Docker 102 - Immutable Infrastructure
Adrian Otto
 
Baylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackBaylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStack
Jesse Andrews
 
Practical introduction to dev ops with chef
Practical introduction to dev ops with chefPractical introduction to dev ops with chef
Practical introduction to dev ops with chefLeanDog
 
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherAzure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Karim Vaes
 
Using Docker with OpenStack - Hands On!
 Using Docker with OpenStack - Hands On! Using Docker with OpenStack - Hands On!
Using Docker with OpenStack - Hands On!
Adrian Otto
 
Docker Support
Docker Support Docker Support
Docker Support
HPCC Systems
 
Linecook - A Chef Alternative
Linecook - A Chef AlternativeLinecook - A Chef Alternative
Linecook - A Chef Alternative
thinkerbot
 
Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013
Matt Ray
 
201304 chef for open stack overview
201304 chef for open stack overview201304 chef for open stack overview
201304 chef for open stack overviewOpenStack Foundation
 
201304 chef for open stack overview
201304 chef for open stack overview201304 chef for open stack overview
201304 chef for open stack overviewOpenStack Foundation
 
Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015
Alex S
 
Best Practice for Deploying Application with Heat
Best Practice for Deploying Application with HeatBest Practice for Deploying Application with Heat
Best Practice for Deploying Application with Heat
Ethan Lynn
 
Chef for OpenStack December 2012
Chef for OpenStack December 2012Chef for OpenStack December 2012
Chef for OpenStack December 2012
Matt Ray
 
openATTIC using grafana and prometheus
openATTIC using  grafana and prometheusopenATTIC using  grafana and prometheus
openATTIC using grafana and prometheus
Alex Lau
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Walter Liu
 

Similar to A Universe From Nothing (20)

Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
 
Deploying OpenStack with Chef
Deploying OpenStack with ChefDeploying OpenStack with Chef
Deploying OpenStack with Chef
 
Calico with open stack and chef
Calico with open stack and chefCalico with open stack and chef
Calico with open stack and chef
 
Velocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack WorkshopVelocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack Workshop
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
 
Docker 102 - Immutable Infrastructure
Docker 102 - Immutable InfrastructureDocker 102 - Immutable Infrastructure
Docker 102 - Immutable Infrastructure
 
Baylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackBaylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStack
 
Practical introduction to dev ops with chef
Practical introduction to dev ops with chefPractical introduction to dev ops with chef
Practical introduction to dev ops with chef
 
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherAzure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
 
Using Docker with OpenStack - Hands On!
 Using Docker with OpenStack - Hands On! Using Docker with OpenStack - Hands On!
Using Docker with OpenStack - Hands On!
 
Docker Support
Docker Support Docker Support
Docker Support
 
Linecook - A Chef Alternative
Linecook - A Chef AlternativeLinecook - A Chef Alternative
Linecook - A Chef Alternative
 
Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013Chef for OpenStack: OpenStack Spring Summit 2013
Chef for OpenStack: OpenStack Spring Summit 2013
 
201304 chef for open stack overview
201304 chef for open stack overview201304 chef for open stack overview
201304 chef for open stack overview
 
201304 chef for open stack overview
201304 chef for open stack overview201304 chef for open stack overview
201304 chef for open stack overview
 
Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015
 
Best Practice for Deploying Application with Heat
Best Practice for Deploying Application with HeatBest Practice for Deploying Application with Heat
Best Practice for Deploying Application with Heat
 
Chef for OpenStack December 2012
Chef for OpenStack December 2012Chef for OpenStack December 2012
Chef for OpenStack December 2012
 
openATTIC using grafana and prometheus
openATTIC using  grafana and prometheusopenATTIC using  grafana and prometheus
openATTIC using grafana and prometheus
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 

Recently uploaded

Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 

Recently uploaded (20)

Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 

A Universe From Nothing

  • 1. StackHPC A Universe from Nothing Containerised OpenStack deployment using Kolla, Ansible and Kayobe Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node Compute Node HPC Cluster Kubernetes
  • 2. StackHPC About Us Stig Telfer StackHPC Mark Goddard StackHPC John Garbutt StackHPC
  • 4. StackHPC Lab Resources • Lab etherpad:
 https://etherpad.openstack.org/p/a-universe-from-nothing • Git repo:
 https://github.com/stackhpc/a-universe-from-nothing • README instructions:
 https://github.com/stackhpc/a-universe-from-nothing/ blob/master/README.rst • Kayobe docs:
 https://kayobe.readthedocs.io/
  • 5. StackHPC Today’s Session Plan • Introduction to Kolla • Introduction to Kolla-Ansible • Introduction to Kayobe • Introduction to Tenks • End-to-end deploy of OpenStack • Reconfigure the deployment • Anything else!
  • 6. StackHPC Kolla and Kolla-Ansible • Containerised control plane using Kolla • Kolla - Docker containers for OpenStack • Follows application container pattern • Kolla-Ansible • Deploys a containerised control plane in a simple, flexible manner. • Broad support for OpenStack services. • Ansible keeps things (relatively) simple
  • 7. StackHPC Kayobe • Completes Kolla-Ansible with missing functionality: • Bare metal deployment of control plane • Equivalent of TripleO’s undercloud • Configuration of control plane host OS • Bare metal compute node management • Infrastructure-as-Code
  • 8. StackHPC Kayobe - Infrastructure as Code Ansible Control Host Seed Host Network Devices Control Plane Hosts Bare Metal Compute Hosts Configures Manages Provisions ProvisionsControl Plane Hosts Control Plane Hosts Control Plane Hosts Bare Metal Compute Hosts Bare Metal Compute Hosts Bare Metal Compute Hosts Bare Metal Compute Hosts Bare Metal Compute Hosts Bare Metal Compute Hosts Bare Metal Compute Hosts Bare Metal Compute Hosts
  • 9. StackHPC Tenks • A Testing and Development tool • Virtual models for bare metal • Uses KVM and VirtualBMC • Looks like a server with IPMI to Ironic • For more information:
 https://www.stackhpc.com/ tenks.html English Spoons by Grenadille, CC-BY-SA-4.0
  • 10. StackHPC Bringing it all Together braio seedseed bifrost registry controller0 compute0controller0 compute0 galera haproxy rabbitmq fluentd keystone glance nova neutron fluentd neutron nova demo1 • Login to lab host • Start Seed VM & services • Tenks defines control plane • Bifrost inspects & provisions • Kolla-Ansible deploys & configures • Boot demo VM instance • Anything else!
  • 11. StackHPC Connect to the Lab Host • Claim a lab host from the lab etherpad and put your name to it:
 https://etherpad.openstack.org/p/a-universe-from-nothing • Log in with the lab user:
 ssh lab@<ip-of-lab-host> • Change lab user password to avoid mishap:
 passwd • Start a screen session in case your connection drops:
 screen -drR
  • 12. StackHPC Start up the Seed VM • Check if seed VM is running:
 sudo virsh list --all • If it is not already running, start it up:
 sudo virsh start seed • Change directory to the Kayobe workspace:
 cd ~/kayobe
  • 13. StackHPC Create Control Plane Instances • Here we set up our model development environment, alongside the seed VM. • Install Tenks and control plane instance configuration:
 export TENKS_CONFIG_PATH=config/src/kayobe-config/tenks.yml
 ./dev/tenks-deploy.sh ./tenks • Activate the Kayobe environment, to allow running commands directly:
 source dev/environment-setup.sh
  • 14. StackHPC What just happened? • Check that the control plane hosts were defined:
 sudo virsh list --all • Look at the state added to Bifrost:
 ssh stack@192.168.33.5
 sudo docker exec -it bifrost_deploy bash
 source env-vars
 openstack baremetal node list +--------------------------------------+-------------+---------------+-------------+--------------------+-------------+ | UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance | +--------------------------------------+-------------+---------------+-------------+--------------------+-------------+ | a1f8bd7c-bb15-48fa-9f04-811434affe80 | compute0 | None | power off | available | False | | 16dced5c-9afa-448d-8217-2c2697ba44cb | controller0 | None | power off | available | False | +--------------------------------------+-------------+---------------+-------------+--------------------+-------------+
  • 15. StackHPC Inspect and provision the control plane • Invoke Kayobe to extract control plane host data from Bifrost:
 kayobe overcloud inventory discover • Inspect our control plane hosts:
 kayobe overcloud hardware inspect • Deploy the host base software image:
 kayobe overcloud provision • Configure the control plane hosts for OpenStack:
 kayobe overcloud host configure
  • 16. StackHPC Deploy and configure OpenStack • Install the Kolla-Ansible containers:
 kayobe overcloud container image pull • Install and configure Kolla-Ansible OpenStack:
 kayobe overcloud service deploy • Apply post-deploy initial config (mostly Ironic, here for completeness):
 source config/src/kayobe-config/etc/kolla/public-openrc.sh
 kayobe overcloud post configure
  • 17. StackHPC Boot a VM • Register some resources (keys, flavors, networks, images, etc):
 source config/src/kayobe-config/etc/kolla/public-openrc.sh
 ./config/src/kayobe-config/init-runonce.sh • Source environment and boot a VM:
 source ~/os-venv/bin/activate
 openstack server create --image cirros 
 --flavor m1.tiny --key-name mykey 
 --network demo-net demo1
  • 18. StackHPC Connect to the VM • Assign a floating IP to the server to make it accessible:
 openstack floating ip create public1
 fip=$(openstack floating ip list -f value 
 -c 'Floating IP Address’ --status DOWN | 
 head -n 1)
 openstack server add floating ip demo1 $fip • Check SSH access to our VM:
 ssh cirros@$fip
  • 19. StackHPC Access Horizon • Extract admin credentials
 source config/src/kayobe-config/etc/kolla/public-openrc.sh
 echo $OS_PASSWORD • Open a web browser to your lab host IP and login with the admin account • NB: VNC URLs are not rewritten to account for port-forwarding (you’ll need to do that yourself)
  • 20. StackHPC Let’s have some more fun! • Reconfigure the control plane to deploy ElasticSearch, Kibana and centralised log aggregation • Edit config/src/kayobe-config/etc/kayobe/kolla.yml • Change value:
 -#kolla_enable_central_logging:
 +kolla_enable_central_logging: yes
  • 21. StackHPC Look before you leap! • Save all the config for the control plane:
 mkdir ~/config-before
 kayobe overcloud service configuration save 
 --output-dir ~/config-before • Generate new config as a dry run:
 kayobe overcloud service configuration generate 
 --node-config-dir /tmp/config-new • Gather next config for comparison of changes:
 mkdir ~/config-after
 kayobe overcloud service configuration save 
 --output-dir ~/config-after
  • 22. StackHPC OK lets do it • Bring down the new containers we need:
 kayobe overcloud container image pull • Make the control plane reconfiguration:
 kayobe overcloud service deploy
  • 23. StackHPC Lab host access to Kibana • Check the new containers are installed and running on controller0 (192.168.33.3):
 ssh stack@192.168.33.3 sudo docker ps • Update forwarding config script configure-local- networking.sh to add port 5601 for Kibana, and run it again. • Get the password set for the kibana user from Kolla-Ansible:
 grep kibana config/src/kayobe-config/etc/kolla/passwords.yml • Open the lab host URL with port 5601 to access the logs!
  • 24. StackHPC Join the Community! • IRC Channel #openstack-kayobe • IRC meetings:
 http://eavesdrop.openstack.org/#Kayobe_Team_Meeting • Online documentation:
 https://kayobe.readthedocs.io/en/latest/
  • 25. StackHPC Thank you! stig@stackhpc.com, @oneswig mark@stackhpc.com, @markgoddard86 john@stackhpc.com, @johnthetubaguy https://www.stackhpc.com/