aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorSean Mooney <sean.k.mooney@intel.com>2016-08-01 19:11:50 +0000
committerSean Mooney <sean.k.mooney@intel.com>2016-08-31 13:11:59 +0000
commit96b3f0ae3e547f586eb1b1e003e015a664639d16 (patch)
tree1672a681314ceeeeb4531939a73d48baf926e97b /doc
parentd7dfae75b275acffe64d6dbd65388df6c397d42a (diff)
downloadkolla-96b3f0ae3e547f586eb1b1e003e015a664639d16.tar.gz
kolla-96b3f0ae3e547f586eb1b1e003e015a664639d16.zip
add bifrost deploy ansible support
- This change addes the ability to deploy and bootstrap bifrost. - This change introduces a deploy-bifrost command to kolla-ansible. Change-Id: I62afcf348661add900c98904e90a15a0eddffd4b Implements: blueprint bifrost-support
Diffstat (limited to 'doc')
-rw-r--r--doc/bifrost.rst178
1 files changed, 121 insertions, 57 deletions
diff --git a/doc/bifrost.rst b/doc/bifrost.rst
index 0aa8c9f34..5e8f29c7c 100644
--- a/doc/bifrost.rst
+++ b/doc/bifrost.rst
@@ -66,54 +66,9 @@ Production
----------
kolla-build bifrost-deploy
-launch bifrost
-==============
-docker run -it --net=host -v /dev:/dev -d --privileged --name bifrost 192.168.1.51:5000/kollaglue/ubuntu-source-bifrost-deploy:3.0.0
-
-bootstrap bifrost ansible
-=========================
-
-TODO
-
-bootstrap bifrost manual
-========================
-
-docker exec -it bifrost bash
-
-generate ssh key
-----------------
-ssh-keygen
-
-# source env variables
-cd /bifrost
-. env-vars
-. /opt/stack/ansible/hacking/env-setup
-cd playbooks/
-
-
-create /tmp/bootstrap_args
---------------------------
-
- skip_package_install: true
- mysql_service_name: mysql
- ansible_python_interpreter: /var/lib/kolla/venv/bin/python
- network_interface: < add you network interface here >
- # uncomment below if needed
- # dhcp_pool_start: 192.168.2.200
- # dhcp_pool_end: 192.168.2.250
- # dhcp_lease_time: 12h
- # dhcp_static_mask: 255.255.255.0
-
-bootstap and start services
----------------------------
-ansible-playbook -vvvv -i /bifrost/playbooks/inventory/localhost /bifrost/playbooks/install.yaml -e @/tmp/bootstrap_args
-
-
-Use bifrost
-===========
-
-check with "ironic node-list" should return with no nodes.
+Prepare bifrost configs
+=======================
create servers.yml
------------------
@@ -121,7 +76,7 @@ create servers.yml
the servers.yml will discribing your physical nodes and list ipmi credentials.
see bifrost dynamic inventory examples for mor details.
-e.g. /tmp/servers.yml
+e.g. /etc/kolla/config/bifrost/servers.yml
---
cloud1:
@@ -147,29 +102,138 @@ cloud1:
adjust as appropriate for your deployment
+create bifrost.yml
+------------------
+By default kolla mostly use bifrosts default playbook values.
+Parameters passed to the bifrost install playbook can be overriden by
+creating a bifrost.yml file in the kolla custom config director or in a
+bifrost sub directory.
+e.g. /etc/kolla/config/bifrost/bifrost.yml
+
+ skip_package_install: true
+ mysql_service_name: mysql
+ ansible_python_interpreter: /var/lib/kolla/venv/bin/python
+ network_interface: < add you network interface here >
+ # uncomment below if needed
+ # dhcp_pool_start: 192.168.2.200
+ # dhcp_pool_end: 192.168.2.250
+ # dhcp_lease_time: 12h
+ # dhcp_static_mask: 255.255.255.0
+
+Create Disk Image Builder Config
+--------------------------------
+By default kolla mostly use bifrosts default playbook values when
+building the baremetal os image. The baremetal os image can be customised
+by creating a dib.yml file in the kolla custom config director or in a
+bifrost sub directory.
+e.g. /etc/kolla/config/bifrost/dib.yml
+
+dib_os_element: ubuntu
+
+
+Deploy Bifrost
+=========================
+
+manual
+------
+
+Start Bifrost Container
+_______________________
+docker run -it --net=host -v /dev:/dev -d --privileged --name bifrost_deploy 192.168.1.51:5000/kollaglue/ubuntu-source-bifrost-deploy:3.0.0
+
+copy configs
+____________
+
+docker exec -it bifrost_deploy mkdir /etc/bifrost
+docker cp /etc/kolla/config/bifrost/servers.yml bifrost_deploy:/etc/bifrost/servers.yml
+docker cp /etc/kolla/config/bifrost/bifrost.yml bifrost_deploy:/etc/bifrost/bifrost.yml
+docker cp /etc/kolla/config/bifrost/dib.yml bifrost_deploy:/etc/bifrost/dib.yml
+
+bootstrap bifrost
+_________________
+
+docker exec -it bifrost_deploy bash
+
+generate ssh key
+~~~~~~~~~~~~~~~~
+
+ssh-keygen
+
+source env variables
+~~~~~~~~~~~~~~~~~~~~
+cd /bifrost
+. env-vars
+. /opt/stack/ansible/hacking/env-setup
+cd playbooks/
+
+
+bootstap and start services
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ansible-playbook -vvvv -i /bifrost/playbooks/inventory/localhost /bifrost/playbooks/install.yaml -e @/etc/bifrost/bifrost.yml
+
+ansible
+-------
+
+Development
+___________
+tools/kolla-ansible bifrost-deploy -e bifrost_network_interface=<pxe network interface>
+
+Production
+__________
+kolla-ansible deploy-kolla -e bifrost_network_interface=<pxe network interface>
+
+Check ironic is running
+=======================
+
+
+docker exec -it bifrost_deploy bash
+cd /bifrost
+. env-vars
+running "ironic node-list" should return with no nodes.
+e.g.
+
+(bifrost-deploy)[root@bifrost bifrost]# ironic node-list
++------+------+---------------+-------------+--------------------+-------------+
+| UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance |
++------+------+---------------+-------------+--------------------+-------------+
++------+------+---------------+-------------+--------------------+-------------+
Enroll Physical Nodes
----------------------
+=====================
+
+ansible
+-------
+TODO
+manual
+------
+docker exec -it bifrost_deploy bash
+cd /bifrost
+. env-vars
export BIFROST_INVENTORY_SOURCE=/tmp/servers.yml
ansible-playbook -vvvv -i inventory/bifrost_inventory.py enroll-dynamic.yaml -e "ansible_python_interpreter=/var/lib/kolla/venv/bin/python" -e network_interface=<provisioning interface>
Deploy Nodes
-------------
+============
+
+ansible
+-------
+TODO
+
+manual
+------
+docker exec -it bifrost_deploy bash
+cd /bifrost
+. env-vars
export BIFROST_INVENTORY_SOURCE=/tmp/servers.yml
-ansible-playbook -vvvv -i inventory/bifrost_inventory.py deploy-dynamic.yaml -e "ansible_python_interpreter=/var/lib/kolla/venv/bin/python" -e network_interface=<prvisioning interface>
+ansible-playbook -vvvv -i inventory/bifrost_inventory.py deploy-dynamic.yaml -e "ansible_python_interpreter=/var/lib/kolla/venv/bin/python" -e network_interface=<prvisioning interface> -e @/etc/bifrost/dib.yml
-at this point ironic should clean down your nodes and install the default
-deabin image.
+At this point ironic should clean down your nodes and install the default os image.
Advanced configuration
======================
-Custom images
--------------
-TODO
-
Bring your own image
--------------------
TODO