enable biforst for baremetal deployment
Bifrost is a set of Ansible playbooks that automates the task of deploying a base image onto a set of known hardware using ironic.
see https:/
this blueprint proposes an optional biforst container to enable baremetal provisioning of servers for use in a subsequent kolla deployment.
this support in not a replacement for current ironic support for the baremetal as a service usecase but optional
way to provision your servers for use with kolla.
the biforst contaienr will support both a bring your own iamge approch and building a base image to deploy on the host using
disk image builder.
while disk image builder can be used to create a custom image with all kolla dependcies pre installed this is currently not requried but could be added at a later date.
in paraell to this effort and intall_deps playbook should create to manage installation of build and or deploy dependencies on arbitray nodes. this install_deps playbook can be reused with existing baremetal deployment tools and will have no dependency on
bifrost to allow operators to reuse there existing infrastructure.
when all components are in place the workflow with bifrost will be as follows.
clone kolla
run install_deps playbook to prep localhost
build kolla images
deploy biforst container
enroll and deploy servers with biforsts
run intall_deps playbook on all servers
run kolla deploy on all servers.
the scope of this blueprint will cover the creation of the bifrost container and associated ansible playbook modification to deploy it. the install_deps playbook will be covered in a separate blueprint.
Blueprint information
- Status:
- Complete
- Approver:
- Steven Dake
- Priority:
- Essential
- Drafter:
- sean mooney
- Direction:
- Approved
- Assignee:
- sean mooney
- Definition:
- Approved
- Series goal:
- Proposed for newton
- Implementation:
-
Implemented
- Milestone target:
-
newton-3
- Started by
- sean mooney
- Completed by
- Steven Dake
Related branches
Related bugs
Sprints
Whiteboard
biforst workflow
- clone http://
- tools/build.py bifrost-deploy (https:/
- generate bifrost yaml files (https:/
bifrost.yml
dib.yml
servers.yml
- tools/kolla-host deploy-bifrost (https:/
TODO generate ssh key automatically as part of bootstrap.
- tools/kolla-host deploy-servers( https:/
Invokes bifrost enroll and deploy dynamic roles
polls until all Servers are provisioned or a server fails.(not done check manually)
TODO: add advanced options such as bring your own ssh key or image.
Gerrit topic: https:/
Addressed by: https:/
introduce bifrost-deploy container
Addressed by: https:/
generate bifrost yaml configs
Addressed by: https:/
add bifrost deploy ansible support
Addressed by: https:/
add deploy-servers command
Addressed by: https:/
adds bifrost ssh key generation
Work Items
Dependency tree

* Blueprints in grey have been implemented.