Skip to content
Snippets Groups Projects
Commit 64c40e20 authored by Sean Mooney's avatar Sean Mooney
Browse files

add deploy-servers command

- This change extends kolla-ansible
  with a deploy-server command to enroll and deploy
  physical servers with bifrost.

Change-Id: Iaa9f34b00e676569f6e3df679b7454b1ec0b8e34
Implements: blueprint bifrost-support
parent 538dbac2
No related branches found
No related tags found
No related merge requests found
---
- name: Enrolling physical servers with ironic
command: >
docker exec bifrost_deploy
bash -c 'source /bifrost/env-vars
&& source /opt/stack/ansible/hacking/env-setup &&
export BIFROST_INVENTORY_SOURCE=/etc/bifrost/servers.yml &&
ansible-playbook -vvvv -i /bifrost/playbooks/inventory/bifrost_inventory.py
/bifrost/playbooks/enroll-dynamic.yaml -e "ansible_python_interpreter=/var/lib/kolla/venv/bin/python"
-e @/etc/bifrost/bifrost.yml'
- name: deploy physical servers with ironic
command: >
docker exec bifrost_deploy
bash -c 'source /bifrost/env-vars
&& source /opt/stack/ansible/hacking/env-setup &&
export BIFROST_INVENTORY_SOURCE=/etc/bifrost/servers.yml &&
ansible-playbook -vvvv -i /bifrost/playbooks/inventory/bifrost_inventory.py
/bifrost/playbooks/deploy-dynamic.yaml -e "ansible_python_interpreter=/var/lib/kolla/venv/bin/python"
-e @/etc/bifrost/bifrost.yml'
......@@ -18,7 +18,7 @@ fix hosts file
--------------
Docker bind mounts ``/etc/hosts`` into the container from a volume.
This prevents atomic renames which will prevent ansible from fixing
the ``/etc/host`` file automatically.
the ``/etc/hosts`` file automatically.
to enable bifrost to be bootstrapped correctly
add the deployment hosts hostname to 127.0.0.1 line
......@@ -110,7 +110,6 @@ 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 >
......@@ -134,6 +133,17 @@ dib_os_element: ubuntu
Deploy Bifrost
=========================
ansible
-------
Development
___________
tools/kolla-ansible deploy-bifrost
Production
__________
kolla-ansible deploy-bifrost
manual
------
......@@ -167,21 +177,10 @@ cd /bifrost
cd playbooks/
bootstap and start services
bootstrap 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
=======================
......@@ -199,34 +198,33 @@ e.g.
+------+------+---------------+-------------+--------------------+-------------+
Enroll Physical Nodes
=====================
Enroll and Deploy Physical Nodes
================================
ansible
-------
TODO
Development
___________
tools/kolla-ansible deploy-servers
Production
__________
kolla-ansible deploy-servers
manual
------
docker exec -it bifrost_deploy bash
cd /bifrost
. env-vars
export BIFROST_INVENTORY_SOURCE=/tmp/servers.yml
export BIFROST_INVENTORY_SOURCE=/etc/bifrost/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
export BIFROST_INVENTORY_SOURCE=/etc/bifrost/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> -e @/etc/bifrost/dib.yml
At this point ironic should clean down your nodes and install the default os image.
......
......@@ -10,3 +10,8 @@ features:
kolla-ansible. The deploy-bifrost command
will deploy and bootstrap a standalone
instance of ironic in a single container.
- A new deploy-server command was added to
kolla-ansible. The deploy-server command
uses a locally deployed instance of bifrost
to enrole servers with ironic and provision
their os.
......@@ -42,9 +42,11 @@ Commands:
prechecks Do pre-deployment checks for hosts
mariadb_recovery Recover a completely stopped mariadb cluster
bootstrap-servers bootstrap servers with kolla deploy dependencies
deploy Deploy and start all kolla containers
destroy Destroy Kolla containers, volumes and host configuration
('-e destroy_include_images=yes' to also destroy Kolla images)
deploy Deploy and start all kolla containers
deploy-bifrost Deploy and start bifrost container
deploy-servers Enroll and deploy servers with bifrost
post-deploy Do post deploy on deploy node
pull Pull all images for containers (only pulls, no running container changes)
reconfigure Reconfigure OpenStack service
......@@ -146,18 +148,23 @@ case "$1" in
PLAYBOOK="${BASEDIR}/ansible/destroy.yml"
;;
(bootstrap-servers)
ACTION="Deploying Playbooks"
ACTION="Bootstraping servers"
PLAYBOOK="${BASEDIR}/ansible/kolla-host.yml"
EXTRA_OPTS="$EXTRA_OPTS -e action=bootstrap-servers"
;;
(bifrost-deploy)
(deploy)
ACTION="Deploying Playbooks"
EXTRA_OPTS="$EXTRA_OPTS -e action=deploy"
;;
(deploy-bifrost)
ACTION="Deploying Bifrost"
PLAYBOOK="${BASEDIR}/ansible/bifrost.yml"
EXTRA_OPTS="$EXTRA_OPTS -e action=deploy"
;;
(deploy)
ACTION="Deploying Playbooks"
EXTRA_OPTS="$EXTRA_OPTS -e action=deploy"
(deploy-servers)
ACTION="Deploying servers with bifrost"
PLAYBOOK="${BASEDIR}/ansible/bifrost.yml"
EXTRA_OPTS="$EXTRA_OPTS -e action=deploy-servers"
;;
(post-deploy)
ACTION="Post-Deploying Playbooks"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment