SlideShare a Scribd company logo
1 of 23
Download to read offline
Copyright © 2015 Mirantis, Inc. All rights reserved
www.mirantis.com
Fuel 9.0: LCM and Extensions
Vladimir Kuklin
Principal Deployment Engineer
vkuklin@mirantis.com
Copyright © 2016 Mirantis, Inc. All rights reserved
Agenda
● Fuel Overview
● Fuel LCM Engine
● Day 1
● Day 2
● Fuel Extensions Engine
Copyright © 2016 Mirantis, Inc. All rights reserved
Fuel: What it Does
Fuel converts
High-Level
(Bake me an OpenStack cluster)
TO
Low-Level
(Set keystone IP, install Galera, add Mongo/Ceph/etc.,
configure bonding, ….)
AND EXECUTES IT ACROSS A CLUSTER OF NODES
Copyright © 2016 Mirantis, Inc. All rights reserved
Fuel Deployment Pipeline
Copyright © 2016 Mirantis, Inc. All rights reserved
Fuel Deployment Task
id: keystone-db
groups: [primary-controller]
cross-depends:
- name: /^(primary-)?database
$/
type: puppet condition: changed($.
keystone_conf)
required_for: [keystone]
requires: [primary-database]
Parameters:
puppet_manifest: keystone_db.pp
Puppet_modules: <modulepath>
Copyright © 2016 Mirantis, Inc. All rights reserved
What is LCM
A set of Day-2 Operations Including Those
LCM
Deployment and scale
up/down
Package management of
OpenStack and HostOS
Modification of reference
architecture
UpdatesUpgrades
Configuration management
for OpenStack and HostOS
Copyright © 2016 Mirantis, Inc. All rights reserved
Main Issues With LCM
Scale-up/down requires Orchestration in general case
● Ceph rebalance
Configuration management is simple in simplest cases (Puppet Master),
requires orchestration for general case
● Mysql reconfig
Reference architecture changes requires orchestration as well
● Detach database
Upgrades and updates require workflow composition business logic
● High probability of failure
Ansible/PE/PM/Salt do not entirely support all of these
Copyright © 2016 Mirantis, Inc. All rights reserved
Fuel LCM Engine
Fuel 9 provides foundation for efficient LCM of OpenStack clouds
Fuel LCM
LCM-ready deployment tasks
and Puppet modules
Task-Based Deployment
engine
Custom Workflow
Management
Computable Workflow Params
(e.g. dependencies)
Gracefully Stop/Restart
Deployment
Control Deployment Flow -
History, Debugging, etc.
Copyright © 2014 Mirantis, Inc. All rights reserved
Fuel LCM: Day 1 operations in
Fuel
Copyright © 2016 Mirantis, Inc. All rights reserved
Fuel LCM: Day 1 operations in Fuel 9
Use cases
1. Stop is non-graceful
2. Full redeployment takes a lot of time and is not configurable
3. A failure on a subset of nodes (incl. HW failures) blocks entire progress
4. Hard to overview and debug the failure
Copyright © 2016 Mirantis, Inc. All rights reserved
Day 1 operations in Fuel 9: Features
Features:
1. Graceful stop of the deployment
a. Wait for workers to finish
2. Separated deployment and provisioning of nodes on UI
3. Task Based Deployment
a. More efficient deployment and fine-grained deployment
4. Fault Tolerance per role
a. fail on 1st controller failure
b. tolerate 2% computes failures
5. Deployment tasks history
Copyright © 2014 Mirantis, Inc. All rights reserved
Task-based Benchmark on bare metal lab
Case #1.
3 controllers + 7 computes w/ ceph
~2 times faster
Task-based deployment takes ~38 min
Granular deployment takes ~1h15m
Case #2.
3 controllers + 3 mongo + 4 computes w/ ceph
~2.24 times faster
Task-based deployment takes ~41 min
Granular deployment takes ~1h32m
The deployment time is average time for 10 runs
Copyright © 2014 Mirantis, Inc. All rights reserved
Fuel LCM: Day 2 operations in Fuel
Copyright © 2016 Mirantis, Inc. All rights reserved
Day 2 operations in Fuel 9: Use Cases
Use Cases
1. Add Ceilometer/Murano/Sahara/etc. to the cloud
2. Add a plugin to the cluster
3. Change OpenStack/Networking/etc. settings
4. Audit of changes
a. What actions were done (task history, control flow)
b. What changes were delivered (data+configuration history, data flow)
5. Complex one-shot workflows
a. Security Updates
b. Doing Upgrades
Copyright © 2016 Mirantis, Inc. All rights reserved
Day 2 operations in Fuel 9: Features
Features: Part 1
1. Post-deployment plugins
a. Example: “Install Stacklight on an already deployed cloud”
2. Unlocked settings tab
a. Example: “Change cluster configuration on UI, hit “Deploy changes”
3. Deployment config and tasks history
a. Example: “Show tasks that were executed during previous “Deploy changes” run with all the
input parameters”
4. Data driven deployment orchestration (YAQL-based)
a. Example: “Run only necessary tasks (those whose input data changed), avoid unneeded
service restarts”
5. Dry-Run and simulation of graph execution
Copyright © 2016 Mirantis, Inc. All rights reserved
Features: Part 2
5. Custom Workflows
a. Example: “Rolling update - install new versions of package XYZ on every MOS Compute,
reboot them one by one”
6. Advanced Settings v1.5
a. Example: “Update Galera config gracefully with proper failover”
Day 2 operations in Fuel 9: Features
Copyright © 2014 Mirantis, Inc. All rights reserved
Fuel Extensions
Copyright © 2016 Mirantis, Inc. All rights reserved
Prior to 9.0
● Plugins
● Deployment tasks
■ Example: Config etckeeper
● Additional roles
■ Example: Contrail
● Additional attributes and metadata
■ Example: Partitioning
■ Example: Cluster settings
Fuel Extendability
Copyright © 2016 Mirantis, Inc. All rights reserved
Added in 9.0
● Extensions
● Stevedore-based
● API
● DB Models
● Serializers (High level -> Low level)
● CLI v2
● YAQL Helpers (in Newton/9.1)
● Callbacks on actions (e.g. reset/delete)
Fuel Extendability
Copyright © 2016 Mirantis, Inc. All rights reserved
● CI/CD flow
● Mix deployment data with particular ‘master’ configuration in GIT
● Run against a staging through API
● Commit to production
● Run against a production through API
● LDAP integration
● Add a method to pipeline to mix LDAP data in
● Run the deployment
● Handle additional configuration through plugins
Fuel Extendability: Example
Copyright © 2016 Mirantis, Inc. All rights reserved
● Orchestration Finalization
● Everything as a graph
● Fully data-driven
● Pluggable provisioning/network verification/…
● Business Logic for Composition of Custom Workflows
● Scalable torrent-based provisioning
● Better audit and reporting (noop actions and parsers)
● UI for deployment tasks history
● More fine-grained services allocation
Fuel Future: Some Plans
Copyright © 2014 Mirantis, Inc. All rights reserved
Questions?
vkuklin@mirantis.com
#fuel @ irc.freenode.net,
Openstack-dev ML (Use [Fuel] prefix)
Copyright © 2014 Mirantis, Inc. All rights reserved
Thank You

More Related Content

What's hot

Enhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world applicationEnhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world application
openstackindia
 
Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
openstackindia
 

What's hot (20)

Enhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world applicationEnhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world application
 
Devstack On Demand
Devstack On DemandDevstack On Demand
Devstack On Demand
 
Copr HD OpenStack Day India
Copr HD OpenStack Day IndiaCopr HD OpenStack Day India
Copr HD OpenStack Day India
 
[OpenStack Day in Korea 2015] Track 1 - Triple O를 이용한 빠르고 쉬운 OpenStack 설치
[OpenStack Day in Korea 2015] Track 1 - Triple O를 이용한 빠르고 쉬운 OpenStack 설치[OpenStack Day in Korea 2015] Track 1 - Triple O를 이용한 빠르고 쉬운 OpenStack 설치
[OpenStack Day in Korea 2015] Track 1 - Triple O를 이용한 빠르고 쉬운 OpenStack 설치
 
Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
 
Java App On Digital Ocean: Deploying With Gitlab CI/CD
Java App On Digital Ocean: Deploying With Gitlab CI/CDJava App On Digital Ocean: Deploying With Gitlab CI/CD
Java App On Digital Ocean: Deploying With Gitlab CI/CD
 
OpenStack Automation Overview
OpenStack Automation OverviewOpenStack Automation Overview
OpenStack Automation Overview
 
Build a Basic Cloud Using RDO-manager
Build a Basic Cloud Using RDO-managerBuild a Basic Cloud Using RDO-manager
Build a Basic Cloud Using RDO-manager
 
Deploy Prometheus - Grafana and EFK stack on Kubic k8s Clusters
Deploy Prometheus - Grafana and EFK stack on Kubic k8s ClustersDeploy Prometheus - Grafana and EFK stack on Kubic k8s Clusters
Deploy Prometheus - Grafana and EFK stack on Kubic k8s Clusters
 
OpenStack Neutron behind the Scenes
OpenStack Neutron behind the ScenesOpenStack Neutron behind the Scenes
OpenStack Neutron behind the Scenes
 
HA in OpenStack service - meetup #9
HA in OpenStack service - meetup #9HA in OpenStack service - meetup #9
HA in OpenStack service - meetup #9
 
EKS vs GKE vs AKS - Evaluating Kubernetes in the Cloud
EKS vs GKE vs AKS - Evaluating Kubernetes in the CloudEKS vs GKE vs AKS - Evaluating Kubernetes in the Cloud
EKS vs GKE vs AKS - Evaluating Kubernetes in the Cloud
 
Heat - keep the clouds up
Heat - keep the clouds upHeat - keep the clouds up
Heat - keep the clouds up
 
My early experience with Mirantis OpenStack 6.0
My early experience with Mirantis OpenStack 6.0My early experience with Mirantis OpenStack 6.0
My early experience with Mirantis OpenStack 6.0
 
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
 
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
 
Deploying OpenStack with Ansible
Deploying OpenStack with AnsibleDeploying OpenStack with Ansible
Deploying OpenStack with Ansible
 
OpenStack Watcher
OpenStack WatcherOpenStack Watcher
OpenStack Watcher
 
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
 
OPNFV & OpenStack
OPNFV & OpenStackOPNFV & OpenStack
OPNFV & OpenStack
 

Similar to Fuel 9.0

Application depolyment
Application depolymentApplication depolyment
Application depolyment
shriikantL
 
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston MeetupOpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
ragss
 

Similar to Fuel 9.0 (20)

Evolve or Die: Enterprise Ready OpenStack upgrades with Kubernetes
Evolve or Die: Enterprise Ready OpenStack upgrades with KubernetesEvolve or Die: Enterprise Ready OpenStack upgrades with Kubernetes
Evolve or Die: Enterprise Ready OpenStack upgrades with Kubernetes
 
Pivotal Cloud Foundry 2.6: A First Look
Pivotal Cloud Foundry 2.6: A First LookPivotal Cloud Foundry 2.6: A First Look
Pivotal Cloud Foundry 2.6: A First Look
 
Pivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First LookPivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First Look
 
OpenStack Murano
OpenStack MuranoOpenStack Murano
OpenStack Murano
 
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloudMigrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
 
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
 
Танки в облаках
Танки в облакахТанки в облаках
Танки в облаках
 
Sprint 17
Sprint 17Sprint 17
Sprint 17
 
Application depolyment
Application depolymentApplication depolyment
Application depolyment
 
OSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt Jarvis
OSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt JarvisOSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt Jarvis
OSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt Jarvis
 
Mulesoft AnyyPoint Monitoring for Hybrid Deployment
Mulesoft AnyyPoint Monitoring for Hybrid DeploymentMulesoft AnyyPoint Monitoring for Hybrid Deployment
Mulesoft AnyyPoint Monitoring for Hybrid Deployment
 
Deploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesDeploying PostgreSQL on Kubernetes
Deploying PostgreSQL on Kubernetes
 
Cloud Composer workshop at Airflow Summit 2023.pdf
Cloud Composer workshop at Airflow Summit 2023.pdfCloud Composer workshop at Airflow Summit 2023.pdf
Cloud Composer workshop at Airflow Summit 2023.pdf
 
Surat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Surat MuleSoft Meetup#2 - Anypoint Runtime FabricSurat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Surat MuleSoft Meetup#2 - Anypoint Runtime Fabric
 
The Flink - Apache Bigtop integration
The Flink - Apache Bigtop integrationThe Flink - Apache Bigtop integration
The Flink - Apache Bigtop integration
 
Pivotal Platform: A First Look at the October Release
Pivotal Platform: A First Look at the October ReleasePivotal Platform: A First Look at the October Release
Pivotal Platform: A First Look at the October Release
 
Application Management in Openstack
Application Management in Openstack Application Management in Openstack
Application Management in Openstack
 
Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First Look
 
Cloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDCloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CD
 
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston MeetupOpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
 

More from OpenStackRussia

Kinetic Open Storage Platform
Kinetic Open Storage PlatformKinetic Open Storage Platform
Kinetic Open Storage Platform
OpenStackRussia
 

More from OpenStackRussia (15)

OpenStack 2016
OpenStack 2016OpenStack 2016
OpenStack 2016
 
Ericsson и Openstack
Ericsson и OpenstackEricsson и Openstack
Ericsson и Openstack
 
Intel и OpenStack
Intel и OpenStackIntel и OpenStack
Intel и OpenStack
 
Arista интеллектуальная сеть и облако
Arista интеллектуальная сеть и облакоArista интеллектуальная сеть и облако
Arista интеллектуальная сеть и облако
 
Презентация решений Tionix
Презентация решений TionixПрезентация решений Tionix
Презентация решений Tionix
 
Мурано и Каталог приложений
Мурано и Каталог приложенийМурано и Каталог приложений
Мурано и Каталог приложений
 
CloudDC и OpenStack
CloudDC и OpenStackCloudDC и OpenStack
CloudDC и OpenStack
 
StackLight (aka LMA)
StackLight (aka LMA)StackLight (aka LMA)
StackLight (aka LMA)
 
Я хочу работать с OpenStack! Куда идти и что нужно знать?
Я хочу работать с OpenStack! Куда идти и что нужно знать?Я хочу работать с OpenStack! Куда идти и что нужно знать?
Я хочу работать с OpenStack! Куда идти и что нужно знать?
 
Kinetic Open Storage Platform
Kinetic Open Storage PlatformKinetic Open Storage Platform
Kinetic Open Storage Platform
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
Murano: каталог приложений для OpenStack
Murano: каталог приложений для OpenStackMurano: каталог приложений для OpenStack
Murano: каталог приложений для OpenStack
 
Open stack на службе у глобальных телеком провайдеров
Open stack на службе у глобальных телеком провайдеровOpen stack на службе у глобальных телеком провайдеров
Open stack на службе у глобальных телеком провайдеров
 
Четырехлетие OpenStack - Опыт ITKey
Четырехлетие OpenStack - Опыт ITKeyЧетырехлетие OpenStack - Опыт ITKey
Четырехлетие OpenStack - Опыт ITKey
 
Четырехлетие OpenStack - Сложный возраст OpenStack
Четырехлетие OpenStack - Сложный возраст OpenStackЧетырехлетие OpenStack - Сложный возраст OpenStack
Четырехлетие OpenStack - Сложный возраст OpenStack
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Fuel 9.0

  • 1. Copyright © 2015 Mirantis, Inc. All rights reserved www.mirantis.com Fuel 9.0: LCM and Extensions Vladimir Kuklin Principal Deployment Engineer vkuklin@mirantis.com
  • 2. Copyright © 2016 Mirantis, Inc. All rights reserved Agenda ● Fuel Overview ● Fuel LCM Engine ● Day 1 ● Day 2 ● Fuel Extensions Engine
  • 3. Copyright © 2016 Mirantis, Inc. All rights reserved Fuel: What it Does Fuel converts High-Level (Bake me an OpenStack cluster) TO Low-Level (Set keystone IP, install Galera, add Mongo/Ceph/etc., configure bonding, ….) AND EXECUTES IT ACROSS A CLUSTER OF NODES
  • 4. Copyright © 2016 Mirantis, Inc. All rights reserved Fuel Deployment Pipeline
  • 5. Copyright © 2016 Mirantis, Inc. All rights reserved Fuel Deployment Task id: keystone-db groups: [primary-controller] cross-depends: - name: /^(primary-)?database $/ type: puppet condition: changed($. keystone_conf) required_for: [keystone] requires: [primary-database] Parameters: puppet_manifest: keystone_db.pp Puppet_modules: <modulepath>
  • 6. Copyright © 2016 Mirantis, Inc. All rights reserved What is LCM A set of Day-2 Operations Including Those LCM Deployment and scale up/down Package management of OpenStack and HostOS Modification of reference architecture UpdatesUpgrades Configuration management for OpenStack and HostOS
  • 7. Copyright © 2016 Mirantis, Inc. All rights reserved Main Issues With LCM Scale-up/down requires Orchestration in general case ● Ceph rebalance Configuration management is simple in simplest cases (Puppet Master), requires orchestration for general case ● Mysql reconfig Reference architecture changes requires orchestration as well ● Detach database Upgrades and updates require workflow composition business logic ● High probability of failure Ansible/PE/PM/Salt do not entirely support all of these
  • 8. Copyright © 2016 Mirantis, Inc. All rights reserved Fuel LCM Engine Fuel 9 provides foundation for efficient LCM of OpenStack clouds Fuel LCM LCM-ready deployment tasks and Puppet modules Task-Based Deployment engine Custom Workflow Management Computable Workflow Params (e.g. dependencies) Gracefully Stop/Restart Deployment Control Deployment Flow - History, Debugging, etc.
  • 9. Copyright © 2014 Mirantis, Inc. All rights reserved Fuel LCM: Day 1 operations in Fuel
  • 10. Copyright © 2016 Mirantis, Inc. All rights reserved Fuel LCM: Day 1 operations in Fuel 9 Use cases 1. Stop is non-graceful 2. Full redeployment takes a lot of time and is not configurable 3. A failure on a subset of nodes (incl. HW failures) blocks entire progress 4. Hard to overview and debug the failure
  • 11. Copyright © 2016 Mirantis, Inc. All rights reserved Day 1 operations in Fuel 9: Features Features: 1. Graceful stop of the deployment a. Wait for workers to finish 2. Separated deployment and provisioning of nodes on UI 3. Task Based Deployment a. More efficient deployment and fine-grained deployment 4. Fault Tolerance per role a. fail on 1st controller failure b. tolerate 2% computes failures 5. Deployment tasks history
  • 12. Copyright © 2014 Mirantis, Inc. All rights reserved Task-based Benchmark on bare metal lab Case #1. 3 controllers + 7 computes w/ ceph ~2 times faster Task-based deployment takes ~38 min Granular deployment takes ~1h15m Case #2. 3 controllers + 3 mongo + 4 computes w/ ceph ~2.24 times faster Task-based deployment takes ~41 min Granular deployment takes ~1h32m The deployment time is average time for 10 runs
  • 13. Copyright © 2014 Mirantis, Inc. All rights reserved Fuel LCM: Day 2 operations in Fuel
  • 14. Copyright © 2016 Mirantis, Inc. All rights reserved Day 2 operations in Fuel 9: Use Cases Use Cases 1. Add Ceilometer/Murano/Sahara/etc. to the cloud 2. Add a plugin to the cluster 3. Change OpenStack/Networking/etc. settings 4. Audit of changes a. What actions were done (task history, control flow) b. What changes were delivered (data+configuration history, data flow) 5. Complex one-shot workflows a. Security Updates b. Doing Upgrades
  • 15. Copyright © 2016 Mirantis, Inc. All rights reserved Day 2 operations in Fuel 9: Features Features: Part 1 1. Post-deployment plugins a. Example: “Install Stacklight on an already deployed cloud” 2. Unlocked settings tab a. Example: “Change cluster configuration on UI, hit “Deploy changes” 3. Deployment config and tasks history a. Example: “Show tasks that were executed during previous “Deploy changes” run with all the input parameters” 4. Data driven deployment orchestration (YAQL-based) a. Example: “Run only necessary tasks (those whose input data changed), avoid unneeded service restarts” 5. Dry-Run and simulation of graph execution
  • 16. Copyright © 2016 Mirantis, Inc. All rights reserved Features: Part 2 5. Custom Workflows a. Example: “Rolling update - install new versions of package XYZ on every MOS Compute, reboot them one by one” 6. Advanced Settings v1.5 a. Example: “Update Galera config gracefully with proper failover” Day 2 operations in Fuel 9: Features
  • 17. Copyright © 2014 Mirantis, Inc. All rights reserved Fuel Extensions
  • 18. Copyright © 2016 Mirantis, Inc. All rights reserved Prior to 9.0 ● Plugins ● Deployment tasks ■ Example: Config etckeeper ● Additional roles ■ Example: Contrail ● Additional attributes and metadata ■ Example: Partitioning ■ Example: Cluster settings Fuel Extendability
  • 19. Copyright © 2016 Mirantis, Inc. All rights reserved Added in 9.0 ● Extensions ● Stevedore-based ● API ● DB Models ● Serializers (High level -> Low level) ● CLI v2 ● YAQL Helpers (in Newton/9.1) ● Callbacks on actions (e.g. reset/delete) Fuel Extendability
  • 20. Copyright © 2016 Mirantis, Inc. All rights reserved ● CI/CD flow ● Mix deployment data with particular ‘master’ configuration in GIT ● Run against a staging through API ● Commit to production ● Run against a production through API ● LDAP integration ● Add a method to pipeline to mix LDAP data in ● Run the deployment ● Handle additional configuration through plugins Fuel Extendability: Example
  • 21. Copyright © 2016 Mirantis, Inc. All rights reserved ● Orchestration Finalization ● Everything as a graph ● Fully data-driven ● Pluggable provisioning/network verification/… ● Business Logic for Composition of Custom Workflows ● Scalable torrent-based provisioning ● Better audit and reporting (noop actions and parsers) ● UI for deployment tasks history ● More fine-grained services allocation Fuel Future: Some Plans
  • 22. Copyright © 2014 Mirantis, Inc. All rights reserved Questions? vkuklin@mirantis.com #fuel @ irc.freenode.net, Openstack-dev ML (Use [Fuel] prefix)
  • 23. Copyright © 2014 Mirantis, Inc. All rights reserved Thank You