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
This commit is contained in:
parent
538dbac24a
commit
64c40e20a5
21
ansible/roles/bifrost/tasks/deploy-servers.yml
Normal file
21
ansible/roles/bifrost/tasks/deploy-servers.yml
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
- 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,19 +148,24 @@ 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)
|
||||
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-bifrost)
|
||||
ACTION="Deploying Bifrost"
|
||||
PLAYBOOK="${BASEDIR}/ansible/bifrost.yml"
|
||||
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"
|
||||
PLAYBOOK="${BASEDIR}/ansible/post-deploy.yml"
|
||||
|
Loading…
Reference in New Issue
Block a user