Granular deployment execution based on plugable tasks
Mandatory Design Reviewers: Vladimir Kuklin, Dmitry Ilyin, Evgeniy Li, Vladimir Sharshov
Optional Reviewers: Nikolay Markov, Alexander Kislytskiy
QA: To be assigned
Implementation: Dmitry Shulyak, Dmitry Ilyin, Vladimir Sharshov
Iteration 1:
- Plugable tasks implementation in nailgun
- Astute executor that will run tasks and poll results in linear fasion for each role
- API that will allow to specify which tasks user wants to run
Iteration 2:
Mistral v2 api integration - (dshulyak) i think we will cover this with separate blueprint, so this is just fyi
Blueprint information
- Status:
- Complete
- Approver:
- Dmitry Pyzhov
- Priority:
- Essential
- Drafter:
- Dima Shulyak
- Direction:
- Approved
- Assignee:
- Dima Shulyak
- Definition:
- Approved
- Series goal:
- Accepted for 6.1.x
- Implementation:
- Implemented
- Milestone target:
- 6.1
- Started by
- Dima Shulyak
- Completed by
- Dima Shulyak
Related branches
Related bugs
Bug #1261940: Node deploy should fail when network on node doesn't work | Fix Released |
Bug #1356812: Stop Puppet deployment on Galera issues | Won't Fix |
Sprints
Whiteboard
Gerrit topic: https:/
Granular deployment for fuel nodes in fuel-specs
fuel-specs
https:/
Add rpm/deb specs for python-tasklib package + task pack
fuel-main
refs/changes/
https:/
Support for plugable actions in nailgun
fuel-web
refs/changes/
https:/
Tasklib implementation in python
fuel-web
refs/changes/
https:/
Granular deployment (basic version)
fuel-astute
refs/changes/
https:/
Add python-tasklib to centos.
fuel-library
refs/changes/
https:/
Experimental puppet-asible module
https:/
Gerrit topic: https:/
Addressed by: https:/
Add patching tasks
Addressed by: https:/
Support for plugable actions in nailgun
Addressed by: https:/
Tasklib implementation in python
Addressed by: https:/
Upload facts for each role separately
Addressed by: https:/
Pack and unpack tasks and roles
Gerrit topic: https:/
Addressed by: https:/
Granular deployment (basic version)
Addressed by: https:/
Add python-tasklib to centos.
Addressed by: https:/
Revert "Add python-tasklib to centos.
Addressed by: https:/
Improve tasklib
Addressed by: https:/
Remove old basic service_disables
Gerrit topic: https:/
Addressed by: https:/
Add tasklib packages
Gerrit topic: https:/
Addressed by: https:/
Explicitly defines mangling real service for neutron pacemaker resources.
Addressed by: https:/
Use separate pid files for Pacemaker OCF
Addressed by: https:/
Refactor Heat HA to wrappers
Addressed by: https:/
Fix keystone_endpoint in ceph module
Addressed by: https:/
New service provider
Addressed by: https:/
Adapt Neutron-HA manifests for works with new pacemaker service provider
Gerrit topic: https:/
Addressed by: https:/
Graph based task serializer for deployment
Addressed by: https:/
Pre/post tasks serialization
Addressed by: https:/
Use global scope for orchestrator tasks in main stage
Addressed by: https:/
Draft version
Addressed by: https:/
Add networkx to nailgun spec
Addressed by: https:/
Deployment graph configuration storage in nailgun
Addressed by: https:/
Add commands to upload/download release deployment tasks
Addressed by: https:/
Validation for granular deployment configuration
Addressed by: https:/
Add cli actions to sync deployment configuration
Addressed by: https:/
Move graph creation outside of serializaer creation
Addressed by: https:/
Add restart_radosgw serializer
Addressed by: https:/
Improve dependencies format for tasks
Addressed by: https:/
Sync deployment tasks from fuel-library to nailgun db
Addressed by: https:/
Basic conditional tasks capabilities
Gerrit topic: https:/
Addressed by: https:/
Granular deployment: tests, fixes and refactoring
Addressed by: https:/
Add API to skip/execute only some tasks
Addressed by: https:/
Add enable_quorum task in post_deployment hooks
Addressed by: https:/
Deploy/
Addressed by: https:/
Add commands to upload/download release deployment tasks
Addressed by: https:/
Add cli actions to sync deployment configuration
Addressed by: https:/
Add hiera and netconfig tasks into current deployment
Addressed by: https:/
Bug fixes for empty tasks and shell default cwd:
Addressed by: https:/
Commands to execute only part of graph
Addressed by: https:/
Add tasks synchronization to deployment testing
Addressed by: https:/
Reboot tasks for pre/post deployment tasks
Addressed by: https:/
Separate hooks for classic and granular methods
Addressed by: https:/
Add ability to specify endpoint of the graph
Addressed by: https:/
Migrate generation adn upload keys tasks
Addressed by: https:/
Added upload_nodes_info post deployment hook
Addressed by: https:/
Add pre/post stages into graph stored in library
Addressed by: https:/
Remove UpdateClusterHo
Addressed by: https:/
Add tasks for updating hosts info
Gerrit topic: https:/
Addressed by: https:/
Add options to rsync
Addressed by: https:/
Move generate keys from astute
Addressed by: https:/
Fix stop_current_task newline typo
Addressed by: https:/
Commands to execute only part of graph
Addressed by: https:/
Always use only deploy_legacy task for cluster.mode multinode
Addressed by: https:/
Add start parameter for deployment graph traversal
Addressed by: https:/
Migrate sync_time into granular deployment taks
Addressed by: https:/
Added new pre deployment task for sync_time
Addressed by: https:/
Remove update_
Addressed by: https:/
Migrate sync-time from astute into task
Gerrit topic: https:/
Addressed by: https:/
Split primary-
Gerrit topic: https:/
Addressed by: https:/
Fix yaml dependency for tasks validator
Addressed by: https:/
Add start parameter for tasks execution
Addressed by: https:/
Always replace tasks block in deployment info
Addressed by: https:/
Added new hook to copy files
Addressed by: https:/
Add graph visualization handler
Addressed by: https:/
Incorrect logic of verification in graph_serializer tests
Addressed by: https:/
Add pydot requirements to nailgun
Addressed by: https:/
Add restart rados gateway task to post_deployment stage
Addressed by: https:/
Use unix pattern when syncing deployment tasks
Addressed by: https:/
Sync deployment tasks for installed releases
Addressed by: https:/
Add CLI for graph visualization
Addressed by: https:/
Use unix pattern to collect tasks for deployment
Addressed by: https:/
Use all dependencies during groups traversal
Addressed by: https:/
Correct orchestrator_
Addressed by: https:/
Add rsync manifests/upload repos tasks in configuration
Addressed by: https:/
Remove rsync puppet, update repos and rsync tasks
Addressed by: https:/
Overwrite default /etc/apt/
Addressed by: https:/
Move openssl and ssh keys during upgrade
Addressed by: https:/
Standardize keys dir
Addressed by: https:/
Make one joined graph from 3 separate stages
Addressed by: https:/
Operate on joined graph in nailgun
Addressed by: https:/
Added clear_nodes_info pre-deploy task
Addressed by: https:/
Remove empty GranularPostDep
Addressed by: https:/
Remove migrated actions
Gerrit topic: https:/
Addressed by: https:/
Fix package version when using pbr
Gerrit topic: https:/
Addressed by: https:/
Added tox and run_tests.sh
Addressed by: https:/
Add pydot-ng as nailgun requirement
Addressed by: https:/
Cover all roles entities with schema
Gerrit topic: https:/
Addressed by: https:/
Add docs about rendering graph with fuelclient
Gerrit topic: https:/
Addressed by: https:/
Release Notes 6.1 -- New Features (Fuel)
Gerrit topic: https:/
Gerrit topic: https:/
Addressed by: https:/
Merge branch 'master' into stable/6.1
Gerrit topic: https:/
Work Items
Work items:
prepare package for Python tasklib: DONE
task api for nailgun : DONE
astute executions based on provided tasks : DONE
add yaml configuration to library puppets : DONE
add packaged tasklib to bootstrap/
implement tasklib in python : DONE
intergation testing and bugfixing: INPROGRESS
Dependency tree
* Blueprints in grey have been implemented.