Tweaks to make install run idempotent
This commit is contained in:
parent
1a78f649e8
commit
8a3fbd557d
@ -41,7 +41,7 @@
|
|||||||
{{ env_vars }}
|
{{ env_vars }}
|
||||||
--add-host=nova-controller:{{ hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address'] }} \
|
--add-host=nova-controller:{{ hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address'] }} \
|
||||||
--add-host=keystone:{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }} \
|
--add-host=keystone:{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }} \
|
||||||
hpc/openstack-glance /etc/bootstrap.sh
|
{{ docker_image }} /etc/bootstrap.sh
|
||||||
tags: bootstrap
|
tags: bootstrap
|
||||||
|
|
||||||
- name: make sure service is started
|
- name: make sure service is started
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
# Run hpc/horizon
|
# Run hpc/horizon
|
||||||
---
|
---
|
||||||
|
- set_fact:
|
||||||
|
docker_image: webhost12.service.rug.nl/hpc/openstack-horizon:latest
|
||||||
|
|
||||||
- name: pull docker image
|
- name: pull docker image
|
||||||
docker_image:
|
docker_image:
|
||||||
name: webhost12.service.rug.nl/hpc/openstack-horizon:latest
|
name: "{{ docker_image }}"
|
||||||
tags: pull
|
tags: pull
|
||||||
|
|
||||||
- name: install service file.
|
- name: install service file.
|
||||||
|
@ -12,8 +12,9 @@ ExecStart=/usr/bin/docker run --name %n \
|
|||||||
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}" \
|
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}" \
|
||||||
--add-host=nova-controller:{{ hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address'] }} \
|
--add-host=nova-controller:{{ hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address'] }} \
|
||||||
--add-host=keystone:{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }} \
|
--add-host=keystone:{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }} \
|
||||||
|
--add-host=neutron-controller:{{ hostvars[groups['neutron-controller'][0]]['ansible_default_ipv4']['address'] }} \
|
||||||
-p 80:80 \
|
-p 80:80 \
|
||||||
hpc/openstack-horizon
|
{{ docker_image }}
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
@ -6,9 +6,12 @@
|
|||||||
state: directory
|
state: directory
|
||||||
mode: 0777
|
mode: 0777
|
||||||
|
|
||||||
- name: pull keystone image
|
- set_fact:
|
||||||
|
docker_image: webhost12.service.rug.nl/hpc/openstack-keystone:latest
|
||||||
|
|
||||||
|
- name: pull docker image
|
||||||
docker_image:
|
docker_image:
|
||||||
name: webhost12.service.rug.nl/hpc/openstack-keystone:latest
|
name: "{{ docker_image }}"
|
||||||
tags: pull
|
tags: pull
|
||||||
|
|
||||||
- name: install service file.
|
- name: install service file.
|
||||||
@ -31,7 +34,7 @@
|
|||||||
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
|
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
|
||||||
-v /srv/keystone/fernet-keys:/etc/keystone/fernet-keys
|
-v /srv/keystone/fernet-keys:/etc/keystone/fernet-keys
|
||||||
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}"
|
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}"
|
||||||
hpc/keystone keystone-manage {{ item }}
|
{{ docker_image }} keystone-manage {{ item }}
|
||||||
with_items:
|
with_items:
|
||||||
- db_sync
|
- db_sync
|
||||||
- fernet_setup --keystone-user keystone --keystone-group keystone
|
- fernet_setup --keystone-user keystone --keystone-group keystone
|
||||||
@ -43,15 +46,15 @@
|
|||||||
--bootstrap-public-url http://{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}:5000/v3/
|
--bootstrap-public-url http://{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}:5000/v3/
|
||||||
--bootstrap-region-id RegionOne
|
--bootstrap-region-id RegionOne
|
||||||
|
|
||||||
|
- name: make sure service is started
|
||||||
|
systemd:
|
||||||
|
name: keystone.service
|
||||||
|
state: restarted
|
||||||
|
|
||||||
- name: Create a domain, projects users and roles
|
- name: Create a domain, projects users and roles
|
||||||
command: >
|
command: >
|
||||||
/usr/bin/docker run --rm
|
/usr/bin/docker run --rm
|
||||||
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
|
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
|
||||||
-v /srv/keystone/fernet-keys:/etc/keystone/fernet-keys
|
-v /srv/keystone/fernet-keys:/etc/keystone/fernet-keys
|
||||||
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}"
|
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}"
|
||||||
hpc/keystone bash /etc/bootstrap.sh
|
{{ docker_image }} bash /etc/bootstrap.sh
|
||||||
|
|
||||||
- name: make sure service is started
|
|
||||||
systemd:
|
|
||||||
name: keystone.service
|
|
||||||
state: restarted
|
|
||||||
|
@ -12,7 +12,7 @@ ExecStart=/usr/bin/docker run --name %n \
|
|||||||
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}" \
|
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}" \
|
||||||
-p 5000:5000 -p 35357:35357 \
|
-p 5000:5000 -p 35357:35357 \
|
||||||
-v /srv/keystone/fernet-keys:/etc/keystone/fernet-keys \
|
-v /srv/keystone/fernet-keys:/etc/keystone/fernet-keys \
|
||||||
hpc/openstack-keystone
|
{{ docker_image }}
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
# Build and install a docker image for neutron-controller.
|
# Build and install a docker image for neutron-controller.
|
||||||
---
|
---
|
||||||
|
- set_fact:
|
||||||
|
docker_image: "webhost12.service.rug.nl/hpc/openstack-neutron-controller:latest"
|
||||||
|
|
||||||
- name: pull docker image
|
- name: pull docker image
|
||||||
docker_image:
|
docker_image:
|
||||||
name: webhost12.service.rug.nl/hpc/openstack-neutron-controller:latest
|
name: "{{ docker_image }}"
|
||||||
tags: pull
|
tags: pull
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
@ -18,10 +21,10 @@
|
|||||||
-e "NOVA_PASSWORD=geheim"
|
-e "NOVA_PASSWORD=geheim"
|
||||||
-e "NOVA_USER=nova"
|
-e "NOVA_USER=nova"
|
||||||
-e "MEMCACHED_HOST={{ hostvars[groups['memcached'][0]]['ansible_default_ipv4']['address'] }}"
|
-e "MEMCACHED_HOST={{ hostvars[groups['memcached'][0]]['ansible_default_ipv4']['address'] }}"
|
||||||
-e "OVERLAY_INTERFACE_IP_ADDRESS={{ hostvars[groups['neutron-controller'][0]]['ansible_default_ipv4']['address'] }}"
|
|
||||||
-e "PROVIDER_INTERFACE_NAME={{ hostvars[groups['neutron-controller'][0]]['ansible_default_ipv4']['interface'] }}"
|
-e "PROVIDER_INTERFACE_NAME={{ hostvars[groups['neutron-controller'][0]]['ansible_default_ipv4']['interface'] }}"
|
||||||
-e "RABBIT_PASSWORD=geheim"
|
-e "RABBIT_PASSWORD=geheim"
|
||||||
-e "RABBIT_USER=openstack"
|
-e "RABBIT_USER=openstack"
|
||||||
|
tags: env
|
||||||
|
|
||||||
- name: install service file.
|
- name: install service file.
|
||||||
template:
|
template:
|
||||||
@ -40,7 +43,7 @@
|
|||||||
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
|
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
|
||||||
--add-host=keystone:{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}
|
--add-host=keystone:{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}
|
||||||
--network host
|
--network host
|
||||||
hpc/openstack-neutron-controller
|
{{ docker_image }}
|
||||||
/etc/bootstrap.sh
|
/etc/bootstrap.sh
|
||||||
tags: bootstrap
|
tags: bootstrap
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ ExecStart=/usr/bin/docker run --name %n \
|
|||||||
--privileged \
|
--privileged \
|
||||||
--network host \
|
--network host \
|
||||||
-v /lib/modules:/lib/modules \
|
-v /lib/modules:/lib/modules \
|
||||||
hpc/openstack-neutron-controller /etc/run.sh
|
{{ docker_image }} /etc/run.sh
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
# Build and install a docker image for nova-controller.
|
# Build and install a docker image for nova-controller.
|
||||||
---
|
---
|
||||||
|
- set_fact:
|
||||||
|
docker_image: webhost12.service.rug.nl/hpc/openstack-nova-compute:latest
|
||||||
|
tags: facts
|
||||||
|
|
||||||
- name: pull docker image
|
- name: pull docker image
|
||||||
docker_image:
|
docker_image:
|
||||||
name: webhost12.service.rug.nl/hpc/openstack-nova-compute:latest
|
name: "{{ docker_image }}"
|
||||||
tags: pull
|
tags: pull
|
||||||
|
|
||||||
- name: install service file.
|
- name: install service file.
|
||||||
|
@ -34,7 +34,7 @@ ExecStart=/usr/bin/docker run --name %n \
|
|||||||
-v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \
|
-v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \
|
||||||
-v /srv/osdisks:/var/lib/nova/instances \
|
-v /srv/osdisks:/var/lib/nova/instances \
|
||||||
--network host \
|
--network host \
|
||||||
hpc/openstack-nova-compute /etc/run.sh
|
{{ docker_image }} /etc/run.sh
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
@ -1,11 +1,7 @@
|
|||||||
# Build and install a docker image for nova-controller.
|
# Build and install a docker image for nova-controller.
|
||||||
---
|
---
|
||||||
- name: pull docker image
|
|
||||||
docker_image:
|
|
||||||
name: webhost12.service.rug.nl/hpc/openstack-nova-service:latest
|
|
||||||
tags: pull
|
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
|
docker_image: webhost12.service.rug.nl/hpc/openstack-nova-service:latest
|
||||||
env_vars: >
|
env_vars: >
|
||||||
-e "MY_IP={{ hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address'] }}"
|
-e "MY_IP={{ hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address'] }}"
|
||||||
-e "NOVA_USER=nova"
|
-e "NOVA_USER=nova"
|
||||||
@ -24,6 +20,12 @@
|
|||||||
-e "NEUTRON_PASSWORD=geheim"
|
-e "NEUTRON_PASSWORD=geheim"
|
||||||
-e "NEUTRON_USER=neutron"
|
-e "NEUTRON_USER=neutron"
|
||||||
-e "METADATA_SECRET=geheim"
|
-e "METADATA_SECRET=geheim"
|
||||||
|
tags: facts
|
||||||
|
|
||||||
|
- name: pull docker image
|
||||||
|
docker_image:
|
||||||
|
name: "{{ docker_image }}"
|
||||||
|
tags: pull
|
||||||
|
|
||||||
- name: install service file.
|
- name: install service file.
|
||||||
template:
|
template:
|
||||||
@ -40,7 +42,7 @@
|
|||||||
/usr/bin/docker run --rm
|
/usr/bin/docker run --rm
|
||||||
{{ env_vars }}
|
{{ env_vars }}
|
||||||
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
|
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
|
||||||
hpc/openstack-nova-service
|
{{ docker_image }}
|
||||||
/etc/bootstrap.sh
|
/etc/bootstrap.sh
|
||||||
tags: bootstrap
|
tags: bootstrap
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ ExecStart=/usr/bin/docker run --name %n \
|
|||||||
--privileged \
|
--privileged \
|
||||||
-p 8774:8774 \
|
-p 8774:8774 \
|
||||||
-p 8778:8778 \
|
-p 8778:8778 \
|
||||||
hpc/openstack-nova-service /etc/run.sh
|
{{ docker_image }} /etc/run.sh
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
@ -30,3 +30,5 @@
|
|||||||
- rabbitmqctl add_user openstack geheim
|
- rabbitmqctl add_user openstack geheim
|
||||||
- rabbitmqctl set_permissions openstack ".*" ".*" ".*"
|
- rabbitmqctl set_permissions openstack ".*" ".*" ".*"
|
||||||
when: ansible_nodename == hostname_node0
|
when: ansible_nodename == hostname_node0
|
||||||
|
register: command_result
|
||||||
|
failed_when: "command_result.rc not in (0, 70)"
|
||||||
|
13
site.yml
13
site.yml
@ -1,12 +1,11 @@
|
|||||||
---
|
---
|
||||||
- include: common.yml
|
- include: common.yml
|
||||||
- include: mariadb.yml
|
- include: rabbitmq.yml
|
||||||
- include: glance-controller.yml
|
|
||||||
- include: horizon.yml
|
|
||||||
- include: keystone.yml
|
|
||||||
- include: mariadb.yml
|
|
||||||
- include: memcached.yml
|
- include: memcached.yml
|
||||||
|
- include: mariadb.yml
|
||||||
|
- include: keystone.yml
|
||||||
|
- include: glance-controller.yml
|
||||||
|
- include: nova-controller.yml
|
||||||
- include: neutron-controller.yml
|
- include: neutron-controller.yml
|
||||||
- include: nova-compute.yml
|
- include: nova-compute.yml
|
||||||
- include: nova-controller.yml
|
- include: horizon.yml
|
||||||
- include: rabbitmq.yml
|
|
||||||
|
Loading…
Reference in New Issue
Block a user