Tripleo Deploy Flow

advertisement
Deploying Openstack with
Tripleo
Tom Howley, Dublin, May 2014
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
HP Confidential
OpenStack® Professional Services
We’re hiring…
Linux System Engineers (Galway) – all levels
Architects, System Integrators (Dublin)
hp.com/jobs
search for OpenStack Ireland
Or contact our Recruiting lead: james.houlder@hp.com
2
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Introductions
Tom Howley
• Member of the Helion CloudOS Core
Engineering team
• Member of the HP Cloud Cinder/Bock
Engineering team
• Member of the IAAS Shared Services /
High Availability team
3
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
I hope to cover
•
•
•
•
•
•
•
•
4
HP Helion Public Cloud Deployment
Motivation for Tripleo
Tripleo Overview
Diskimage Builder
os-collect/refresh/apply-config suite
Heat and Heat templates
The Developer Experience
Current Challenges + Future Work
(Openstack Atlanta Update)
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
What is Openstack?
5
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Lots of moving parts to install, maintain, upgrade
6
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
We used Chef for HP Public Cloud
See http://wiki.opscode.com/display/chef/Home
Git Repo
Chef Server
Download + Apply
Cookbook Recipes
Node 1
Pull/Push
Chef files
Cookbooks,
Roles,
Environments,
Data bags,
Node Settings
Node 2
Node 3
Node 4
Management Desktop:
git + knife
7
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Chef
Node
Role
Recipe
Resource
Install RabbitMQ
RMQ recipe
host-0001
Configure users,
vhosts…
RabbitMQ
HA Server
Install pacemaker
HA recipe
Write corosync
conf file
8
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Some limitations of Chef
1. Single-node view
• Ok, there are environments – just a global set of attributes
• Tend to think in node roles
2. Lacks orchestration
•
•
Not easy to describe inter-node dependencies
Required for install and upgrades (ideally of the rolling variety)
3. Tendency towards snowflakes
•
No facility for roll-back
4. Does not do baremetal install
5. Common set of cookbooks/recipes upstream?
•
•
9
Stackforge Chef repo: AT&T, IBM, Rackspace + others
but other repos do exist
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Lots of moving parts to install, maintain, upgrade
10
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Who in their right mind would use
Openstack to deploy Openstack?
And where does this gratuitous recursion end?
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
HP Confidential
Enter Tripleo
From https://wiki.openstack.org/wiki/TripleO#TripleO_-_OpenStack_on_OpenStack
“TripleO is a program aimed at installing, upgrading and operating OpenStack clouds
using OpenStack's own cloud facilities as the foundations - building on nova, neutron
and heat to automate fleet management at datacentre scale (and scaling down to as
few as 2 machines).”
12
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Tripleo Breakdown of Deployment Lifecycle
Provisioning
Software
Configuration
Nova-BM/
Ironic
diskimage
-builder
os-apply
-config
MaaS
Crowbar
13
State
os-refresh
-config
Juju
~~~ Chef ~~~
Razor
~~~ Puppet ~~~
Manual
Install
Stand-alone Chef, Puppet, etc
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Orchestration
Heat
Crowbar
Tripleo Deployment
• Heat stack defines the cluster
• Heat drives the Nova API to deliver images to machines
• Virtual machines in developer test
• Bare metal Nova for CI/CD and production deployment
14
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Diskimage Builder Golden Images
• Images created independent of deploy with Internet access
• Encapsulate a known good set of software
• Excludes configuration and persistent state
•
•
Deploy never needs Internet access
Equivalent of packages at cluster level
•
•
•
•
15
these are placed on a separate state partition
/ is then mounted read-only
Golden image per node type
Configuration occurs at install (for invariants) or deploy time (for local config)
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Undercloud vs. Overcloud
OpenStack (KVM)
OpenStack (KVM)
OpenStack (Bare metal)
16
Nova cannot reliably run two different
hypervisors in one cloud today
So we run two+ clouds:
→ the undercloud, a bare metal cloud that
runs on, and owns, all the hardware
→ the overcloud, a regular VM based cloud
running as a tenant on the bare metal
cloud
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
We have cloud for users to create VMs
bm = baremetal node
oc-control bm
nova
rabbitmq
os-col/
ref/app
17
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
oc-compute bm
glance
novacompute
mysql
heat
HP Confidential
os-col/
ref/app
We have cloud for users to create VMs
oc-control bm
nova
rabbitmq
os-col/
ref/app
18
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
oc-compute bm
glance
novacompute
mysql
heat
HP Confidential
user
vm
os-col/
ref/app
We have cloud for users to create VMs
oc-control bm
nova
rabbitmq
os-col/
ref/app
19
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
oc-compute bm
glance
novacompute
mysql
heat
HP Confidential
user
vm
os-col/
ref/app
user
vm
How do we bring up the user’s cloud?
undercloud bm
keystone
oc-control bm
ironic
glance
os-col/
ref/app
20
nova
rabbitmq
heat
os-col/
ref/app
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
oc-compute bm
glance
novacompute
mysql
heat
HP Confidential
user
vm
os-col/
ref/app
user
vm
How do we bring up the undercloud?
Head Node
undercloud bm
oc-control bm
oc-compute bm
seed vm
keystone
keystone
ironic
ironic
nova
glance
novacompute
glance
glance
os-col/
ref/app
mysql
user
vm
heat
os-col/
ref/app
21
rabbitmq
heat
os-col/
ref/app
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
heat
HP Confidential
os-col/
ref/app
user
vm
So lets see Tripleo in action
And I don’t mean a demo!
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
HP Confidential
Tripleo Deploy Flow - Image build
Build the seed image
elements
ubuntu
nova
glance
23
disk image
builder
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
seed
HP Confidential
Tripleo Deploy Flow - Image build
Build undercloud and overcloud images
elements
ubuntu
nova
glance
disk image
builder
seed
undercloud
overcloudcompute
overcloudcontrol
24
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Tripleo Deploy Flow - Seed
Launch the Seed
Head Node
seed vm
launch
seed
kvm
keystone
ironic
glance
seedstack
json
25
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
os-ref/
app
HP Confidential
heat
Tripleo Deploy Flow - Undercloud
Upload undercloud image to Glance on seed
Head Node
seed vm
keystone
undercloud
glance
os-ref/
app
26
ironic
heat
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Tripleo Deploy Flow - Undercloud
Launch undercloud heat stack via heat engine on seed
Head Node
seed vm
keystone
ironic
glance
undercloud
heat template
27
create undercloud heat stack
os-ref/
app
heat
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Tripleo Deploy Flow - Undercloud
Heat launches the undercloud node
Head Node
seed vm
undercloud bm
pxe boot
keystone
ironic
glance
os-col/
ref/app
28
heat
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Tripleo Deploy Flow - Undercloud
Transfer undercloud image over iscsi connection
Head Node
seed vm
keystone
undercloud bm
ironic
undercloud
glance
oscollect
29
heat
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Tripleo Deploy Flow - Undercloud
Reboot undercloud, os-collect reads configuration meta-data
Head Node
seed vm
keystone
undercloud bm
keystone
ironic
undercloud
glance
glance
os-col/
ref/app
30
ironic
read meta data
heat
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
os-col/
ref/app
heat
Tripleo Deploy Flow - Undercloud
Undercloud os-refresh/os-apply configures + launches services
Head Node
seed vm
keystone
undercloud bm
keystone
ironic
undercloud
glance
glance
os-col/
ref/app
31
ironic
os-col/
ref/app
heat
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
heat
Tripleo Deploy Flow - Overcloud
Upload overcloud images to Glance on undercloud
Head Node
seed vm
keystone
overcloudcompute
overcloudcontrol
32
undercloud bm
keystone
ironic
undercloud
glance
glance
os-col/
ref/app
ironic
os-col/
ref/app
heat
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
heat
Tripleo Deploy Flow - Overcloud
Launch overcloud heat stack via heat engine on undercloud
Head Node
seed vm
keystone
undercloud bm
keystone
ironic
undercloud
glance
glance
overcloud
heat template
33
create overcloud heat stack
os-col/
ref/app
ironic
os-col/
ref/app
heat
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
heat
Tripleo Deploy Flow - Overcloud
Heat launches the overcloud nodes via Nova/Ironic API
Head Node
undercloud bm
oc-control bm
pxe boot
seed vm
keystone
keystone
ironic
ironic
glance
glance
os-col/
ref/app
heat
os-col/
ref/app
34
heat
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
oc-compute bm
Tripleo Deploy Flow - Overcloud
Transfer overcloud images over iscsi connection
Head Node
undercloud bm
oc-control bm
oc-compute bm
seed vm
keystone
keystone
ironic
ironic
overcloudcontrol
glance
glance
os-col/
ref/app
heat
os-col/
ref/app
35
overcloudcompute
heat
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Tripleo Deploy Flow - Overcloud
Reboot overcloud nodes, os-collect reads configuration meta-data
Head Node
undercloud bm
oc-control bm
oc-compute bm
seed vm
keystone
keystone
ironic
ironic
nova
glance
novacompute
glance
glance
os-col/
ref/app
mysql
heat
os-col/
ref/app
36
rabbitmq
heat
os-col/
ref/app
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
heat
HP Confidential
os-col/
ref/app
Tripleo Deploy Flow - Overcloud
Overcloud os-refresh/os-apply configures + launches services
Head Node
undercloud bm
oc-control bm
oc-compute bm
seed vm
keystone
keystone
ironic
ironic
nova
glance
novacompute
glance
glance
os-col/
ref/app
mysql
heat
os-col/
ref/app
37
rabbitmq
heat
os-col/
ref/app
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
heat
HP Confidential
os-col/
ref/app
We now have a working cloud for users!
Head Node
undercloud bm
oc-control bm
oc-compute bm
seed vm
keystone
keystone
ironic
ironic
nova
glance
novacompute
glance
glance
os-col/
ref/app
mysql
heat
os-col/
ref/app
38
rabbitmq
heat
os-col/
ref/app
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
heat
HP Confidential
os-col/
ref/app
We now have a working cloud for users!
User creates a VM in our cloud
Head Node
undercloud bm
oc-control bm
oc-compute bm
seed vm
keystone
keystone
ironic
ironic
nova
glance
novacompute
glance
glance
os-col/
ref/app
mysql
user
vm
heat
os-col/
ref/app
39
rabbitmq
heat
os-col/
ref/app
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
heat
HP Confidential
os-col/
ref/app
We now have a working cloud for users!
and another one….
Head Node
undercloud bm
oc-control bm
oc-compute bm
seed vm
keystone
keystone
ironic
ironic
nova
glance
novacompute
glance
glance
os-col/
ref/app
mysql
user
vm
heat
os-col/
ref/app
40
rabbitmq
heat
os-col/
ref/app
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
heat
HP Confidential
os-col/
ref/app
user
vm
Tripleo Components
Quick review of DIB, os-collect/apply/refresh-config and Heat
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
HP Confidential
Diskimage Builder
An image build proceeds through a set of hooks: pre-install.d, install.d, etc.
An image build is parameterised by including elements
Each element includes one or more hook files: install.d/20-rabbitmq-server
•
•
•
•
•
•
•
42
Which are simple executable files (typically bash, some python)
Elements can depend on other elements
Handle multiple OS's by either conditional code or abstracting out a common
interface e.g. install-packages replaces yum/apt calls.
Most things get cached in ~/.cache/image-create
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Diskimage Builder
tripleo-image-elements
apache2
fedora-rdo-icehouse
keepalived
nova
pypi-openstack
bm-dnsmasq
fedora-rdo-icehouse-repository
keystone
nova-api
qpidd
boot-stack
geard
mariadb
nova-baremetal
rabbitmq-server
ceilometer
glance
mariadb-dev
nova-compute
remove-serial-console
ceilometer-agent-central
haproxy
memcached
nova-ironic
salt-master
ceilometer-agent-compute
heat
mysql
nova-kvm
salt-minion
ceilometer-agent-notification
heat-api
mysql-common
novnc
seed-stack-config
ceilometer-api
heat-cfntools
mysql-dev
ntp
snmpd
ceilometer-collector
heat-engine
mysql-mariadb-compat
openstack-clients
stackuser
check_mk-agent
horizon
mysql-migration
openstack-db
swift
cinder
hosts
nagios3
openstack-ssl
swift-proxy
cinder-api
icinga-core
network-utils
os-apply-config
swift-storage
cinder-lio
icinga-web
neutron
os-collect-config
sysctl
cinder-tgt
__init__.py
neutron-dhcp-agent
os-refresh-config
tempest
cinder-volume
iptables
neutron-network-node
os-svc-install
tripleo-cd
common-venv
ironic
neutron-openvswitch-agent
pip-and-virtualenv
tripleo-heat-templates
debian-mirror
ironic-api
neutron-ovs-cleanup
pip-manifest
tripleo-staging
devstack
ironic-conductor
neutron-server
postfix
tuskar
diskimage-builder
jenkins
nfs-server
pypi-mirror
use-ephemeral
43
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Diskimage Builder
Anatomy of an element
os-refresh-config
os-apply-config
install
44
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
rabbitmq element – install section
45
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Diskimage Builder
To create an image using dib tool
• disk-image-create -a $(IMAGE_ARCH) -o $(IMAGE_NAME) $(IMAGE_ELEMENTS)
• disk-image-create -a i386 -o $TRIPLEO_ROOT/overcloud-compute ubuntu novacompute nova-kvm neutron-openvswitch-agent os-collect-config dhcp-allinterfaces
46
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Diskimage Builder
Developer/Build Machine
elements
ubuntu
diskimage builder
chroot env
cinder
rabbitmq-server
qcow images
seed
Execute:
install.d\10-supportphysical-hardware
install.d\20-rabbitmqserver
install.d\73-cinder
….
undercloud
overcloudcompute
overcloudcontrol
47
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
os-apply-config
mustache = logic-less templates, snippet of cinder.conf sample:
[DEFAULT]
{{#cinder.verbose}}
verbose={{cinder.verbose}}
{{/cinder.verbose}}
{{#cinder.debug}}
# Print debugging output (set logging level to DEBUG instead
# of default WARNING level). (boolean value)
debug={{cinder.debug}}
{{/cinder.debug}}
auth_strategy = keystone
sql_connection={{cinder.db}}
….
48
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
os-apply-config
This input hash:
{
“cinder”: {
“verbose”: False,
“debug”: True,
“db”: “mysql://cinder:mypassword@10.0.0.5/cinder”
}
49
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
os-apply-config
Produces this cinder.conf
[DEFAULT]
verbose=False
# Print debugging output (set logging level to DEBUG instead
# of default WARNING level). (boolean value)
debug=True
auth_strategy = keystone
sql_connection=mysql://cinder:mypassword@10.0.0.5/cinder
….
50
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
os-*-config
• os-collect-config grabs new metadata from heat
• os-refresh-config:
•
•
•
•
•
•
51
Quiesce fragile services
(If needed) os-apply-config applies config files
(If needed) Reboot
Ensure required services are running and/or restarted
Perform any migrations (such as seeding initial data)
Notify heat that the deploy is complete on the machine
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
os-*-config
rabbitmq element (recap)
os-refresh-config
os-apply-config
install
52
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Heat
Orchestration Service for Openstack
•
•
•
•
•
•
53
Structured declarative multi-node/multi-service orchestration
Uses templating mechanism
Controls complex group of cloud resources
Based on AWS CloudFormation
Intention to support TOSCA (Topology and Orchestration Specification for Cloud
Applications)
REST API
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Heat
Stack: Group of connected resources (VMs, Volumes, Networks, ..)
controllerConfig:
Properties:
config:
cinder:
db: mysql://cinder:unset@localhost/cinder
Type: OS::Heat::StructuredConfig
controller0Deployment:
Properties:
config:
Ref: controllerConfig
server:
Ref: controller0
Type: OS::Heat::StructuredDeployment
controller0:
Properties:
flavor:
Ref: OvercloudControlFlavor
Type: OS::Nova::Server
54
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Heat
Launch a stack
heat stack-create overcloud
-f overcloud.yaml
-P “AdminPassword=unset”
-P ...
55
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Heat
And if all goes well
root@stratus37:~/tripleo/tripleo-incubator/scripts# heat stack-list
+--------------------------------------+------------+-----------------+----------------------+
| id
| stack_name | stack_status
| creation_time
|
+--------------------------------------+------------+-----------------+----------------------+
| edaeb91b-8202-45cd-97d6-0c05eb4b5935 | overcloud
| CREATE_COMPLETE | 2014-05-07T15:56:04Z |
+--------------------------------------+------------+-----------------+----------------------+
56
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Heat
In a little more detail
root@stratus37:~/tripleo/tripleo-incubator/scripts# heat resource-list overcloud
+------------------------------+--------------------------------+-----------------+----------------------+
| resource_name
| resource_type
| resource_status | updated_time
|
+------------------------------+--------------------------------+-----------------+----------------------+
| NovaCompute0
| OS::Nova::Server
| CREATE_COMPLETE | 2014-05-07T15:56:04Z |
| controllerMgmt0
| OS::Nova::Server
| CREATE_COMPLETE | 2014-05-07T15:56:05Z |
| NovaCompute1
| OS::Nova::Server
| CREATE_COMPLETE | 2014-05-07T15:56:07Z |
| NovaComputeConfig
| OS::Heat::StructuredConfig
| CREATE_COMPLETE | 2014-05-07T15:56:08Z |
| SSLConfig
| OS::Heat::StructuredConfig
| CREATE_COMPLETE | 2014-05-07T15:56:08Z |
| SwiftConfig
| OS::Heat::StructuredConfig
| CREATE_COMPLETE | 2014-05-07T15:56:08Z |
| NovaComputePassthrough
| OS::Heat::StructuredConfig
| CREATE_COMPLETE | 2014-05-07T15:56:09Z |
| controller0
| OS::Nova::Server
| CREATE_COMPLETE | 2014-05-07T15:56:09Z |
| BlockStorageConfig
| OS::Heat::StructuredConfig
| CREATE_COMPLETE | 2014-05-07T15:56:11Z |
| RabbitCookie
| OS::Heat::RandomString
| CREATE_COMPLETE | 2014-05-07T15:56:11Z |
| controllerMgmtPassthrough
| OS::Heat::StructuredConfig
| CREATE_COMPLETE | 2014-05-07T15:56:11Z |
| controllerPassthrough
| OS::Heat::StructuredConfig
| CREATE_COMPLETE | 2014-05-07T15:56:11Z |
| NovaCompute0Passthrough
| OS::Heat::StructuredDeployment | CREATE_COMPLETE | 2014-05-07T15:59:42Z |
......
57
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Developer Experience
Remember our Tripleo Stack?
Head Node
undercloud bm
oc-control bm
oc-compute bm
seed vm
keystone
keystone
ironic
ironic
nova
glance
novacompute
glance
glance
os-col/
ref/app
mysql
user
vm
heat
os-col/
ref/app
58
rabbitmq
heat
os-col/
ref/app
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
heat
HP Confidential
os-col/
ref/app
user
vm
Developer Experience
For developers, everything is virtual (and we get vms in vms!)
Dev Workstation
undercloud vm
oc-control vm
oc-compute vm
seed vm
keystone
keystone
ironic
ironic
nova
glance
novacompute
glance
glance
os-col/
ref/app
mysql
user
vm
heat
os-col/
ref/app
59
rabbitmq
heat
os-col/
ref/app
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
heat
HP Confidential
os-col/
ref/app
user
vm
Developer Experience – devtest.sh
Calls the following scripts
1.
2.
3.
4.
5.
6.
7.
60
devtest_variables.sh
devtest_test.sh
devtest_ramdisk.sh
devtest_seed.sh
devtest_undercloud.sh
devtest_overcloud.sh
devtest_end.sh
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Developer Experience
Some Issues
1. devtest run takes time
• Typically about 1 hour+
• Even overcloud-only updates can take 20-30 mins
2. Now, our deploy tool has many moving parts
•
•
DIB, Heat, os-col/ref/app-config, Nova, Glance, Neutron, Cinder, Swift, …
A bug in any one can bring down a devtest run
3. Anyone find the terminology confusing?
•
61
undercloud/overcloud…..and I’ve even heard “underseed” mentioned somewhere
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Developer Experience – Addressing these issues
•
•
•
•
•
•
•
•
62
Speed-up (per-developer site)
Apt mirror
Pypi mirror
Squid proxy for everything else..
Repeatability/Consistency
Repeated full Tripleo deploy (VM and Baremetal) + test -> Good SHA1’s
Repeated full Tripleo deploy (VM and Baremetal) + test -> Good images
Developer can use SHA1’s and Images in devtest run
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
And on the terminology
Consensus seems to be that overcloud/undercloud leads to confusion
Deploy BM Cloud (was: undercloud)
• A cloud running on baremetal that deploys baremetal machines
• Deploy KVM/LXC/Docker cloud (was: undercloud)
•
•
Production/Test/$USECASE cloud (was: overcloud)
•
•
63
A cloud running on baremetal that deploys KVM/LXC/Docker containers
A cloud with its hypervisors on a Deploy BM cloud and its control plane etc on a Deploy
BM/KVM/LXC/Docker cloud
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
OR…
Opinions welcome!
Deployer Cloud (was: undercloud)
• BM deployer cloud, KVM deployer cloud, Docker deployer cloud,…
• Workload Cloud (was: overcloud)
• Production workload cloud, Test workload cloud, …
•
64
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Current Challenges + Future work
Based on Openstack Atlanta Summit
•
•
•
•
•
•
•
•
•
65
Ongoing improvements in repeatability/consistency of devtest run
Ironic (instead of Nova-BM) touted as general improvement for this and for scaling
Heat
Re-architected to be more event-driven (addresses scaling issues of polling)
Use of observer process + taskflow worker processes
Better handling of resource failures within a stack
Hooks to be written: Chef, Salt, Ansible, PowerShell
Action-aware config resource for alignment with TOSCA (e.g. suspend/resume actions) +
support for custom actions
Storing Heat Template catalogs in Glance
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Current Challenges + Future Work
Based on Openstack Atlanta Summit
General support for Upgrade story
• Still immature in this area
• Support in Tripleo for HA degraded to single state
• QuintupleO?
•
•
Support for multiple Hypervisors on one node
•
•
•
66
Use Public Cloud VMs for seed, undercloud, overcloud
E.g. KVM and Ironic
Upstream CI – Baremetal?
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Acknowledgements
Thanks to Robert Collins and Clint Byrum for supporting material!
67
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
OpenStack® Professional Services
Did I mention we’re hiring…
Linux System Engineers (Galway) – all levels
Architects, System Integrators (Dublin)
hp.com/jobs
search for OpenStack Ireland
Or contact our Recruiting lead: james.houlder@hp.com
68
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
HP Confidential
Download