Compare commits

..

No commits in common. "8a3fbd557d202bd1bf81910efe681be5fac11b2c" and "e974eac4433a464b2537726a32ad5a0070ec6d44" have entirely different histories.

15 changed files with 39 additions and 94 deletions

View File

@ -13,7 +13,7 @@ ExecStart=/usr/bin/docker run --name %n -v /srv/lib/cassandra:/var/lib/cassandra
-p 7000:7000 -p 7001:7001 -p 7199:7199 -p 9042:9042 -p 9160:9160 \
-e CASSANDRA_BROADCAST_ADDRESS={{ansible_default_ipv4.address}} \
-e CASSANDRA_START_RPC=True \
cassandra:3.10
{{run_options}} cassandra:3.10
[Install]
WantedBy=multi-user.target

View File

@ -1,22 +1,5 @@
# Build and install a docker image for glance.
---
- set_fact:
docker_image: webhost12.service.rug.nl/hpc/openstack-glance:latest
env_vars: >
-e "RABBIT_HOST={{ hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address'] }}"
-e "MEMCACHED_HOST={{ hostvars[groups['memcached'][0]]['ansible_default_ipv4']['address'] }}"
-e "MYSQL_HOST={{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}"
-e "MYSQL_ROOT_PASSWORD=geheim"
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}"
-e "GLANCE_HOST={{ hostvars[groups['glance-controller'][0]]['ansible_default_ipv4']['address'] }}"
-e "GLANCE_USER=glance"
-e "GLANCE_PASSWORD=geheim"
- name: pull docker image
docker_image:
name: "{{ docker_image }}"
tags: pull
- name: Make build and persistent directories
file:
path: "{{ item }}"
@ -37,11 +20,18 @@
- name: Initialize database.
command: >
/usr/bin/docker run --rm
{{ env_vars }}
docker run --rm
-e "RABBIT_HOST={{ hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address'] }}"
-e "MEMCACHED_HOST={{ hostvars[groups['memcached'][0]]['ansible_default_ipv4']['address'] }}"
-e "MYSQL_HOST={{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}"
-e "MYSQL_ROOT_PASSWORD=geheim"
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}"
-e "GLANCE_HOST={{ hostvars[groups['glance-controller'][0]]['ansible_default_ipv4']['address'] }}"
-e "GLANCE_USER=glance"
-e "GLANCE_PASSWORD=geheim"
--add-host=nova-controller:{{ hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address'] }} \
--add-host=keystone:{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }} \
{{ docker_image }} /etc/bootstrap.sh
hpc/openstack-glance /etc/bootstrap.sh
tags: bootstrap
- name: make sure service is started

View File

@ -8,8 +8,16 @@ TimeoutStartSec=0
Restart=always
ExecStartPre=-/usr/bin/docker rm -f %n
ExecStart=/usr/bin/docker run --name %n \
{{ env_vars | replace('\n', '') }} \
{{ docker_image }}
-e "RABBIT_HOST={{ hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address'] }}" \
-e "MEMCACHED_HOST={{ hostvars[groups['memcached'][0]]['ansible_default_ipv4']['address'] }}" \
-e "MYSQL_HOST={{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}" \
-e "MYSQL_ROOT_PASSWORD=geheim" \
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}" \
-e "GLANCE_HOST={{ hostvars[groups['glance-controller'][0]]['ansible_default_ipv4']['address'] }}" \
-e "GLANCE_USER=glance" \
-e "GLANCE_PASSWORD=geheim" \
-p 9292:9292 \
hpc/openstack-glance
[Install]
WantedBy=multi-user.target

View File

@ -1,13 +1,5 @@
# Run hpc/horizon
---
- set_fact:
docker_image: webhost12.service.rug.nl/hpc/openstack-horizon:latest
- name: pull docker image
docker_image:
name: "{{ docker_image }}"
tags: pull
- name: install service file.
template:
src: templates/horizon.service

View File

@ -12,9 +12,8 @@ ExecStart=/usr/bin/docker run --name %n \
-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=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 \
{{ docker_image }}
hpc/horizon
[Install]
WantedBy=multi-user.target

View File

@ -6,14 +6,6 @@
state: directory
mode: 0777
- set_fact:
docker_image: webhost12.service.rug.nl/hpc/openstack-keystone:latest
- name: pull docker image
docker_image:
name: "{{ docker_image }}"
tags: pull
- name: install service file.
template:
src: templates/keystone.service
@ -34,7 +26,7 @@
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
-v /srv/keystone/fernet-keys:/etc/keystone/fernet-keys
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}"
{{ docker_image }} keystone-manage {{ item }}
hpc/keystone keystone-manage {{ item }}
with_items:
- db_sync
- fernet_setup --keystone-user keystone --keystone-group keystone
@ -46,15 +38,15 @@
--bootstrap-public-url http://{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}:5000/v3/
--bootstrap-region-id RegionOne
- name: make sure service is started
systemd:
name: keystone.service
state: restarted
- name: Create a domain, projects users and roles
command: >
/usr/bin/docker run --rm
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
-v /srv/keystone/fernet-keys:/etc/keystone/fernet-keys
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}"
{{ docker_image }} bash /etc/bootstrap.sh
hpc/keystone bash /etc/bootstrap.sh
- name: make sure service is started
systemd:
name: keystone.service
state: restarted

View File

@ -12,7 +12,7 @@ ExecStart=/usr/bin/docker run --name %n \
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}" \
-p 5000:5000 -p 35357:35357 \
-v /srv/keystone/fernet-keys:/etc/keystone/fernet-keys \
{{ docker_image }}
hpc/keystone
[Install]
WantedBy=multi-user.target

View File

@ -1,13 +1,5 @@
# 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
docker_image:
name: "{{ docker_image }}"
tags: pull
- set_fact:
env_vars: >
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}"
@ -21,10 +13,10 @@
-e "NOVA_PASSWORD=geheim"
-e "NOVA_USER=nova"
-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 "RABBIT_PASSWORD=geheim"
-e "RABBIT_USER=openstack"
tags: env
- name: install service file.
template:
@ -43,7 +35,7 @@
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
--add-host=keystone:{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}
--network host
{{ docker_image }}
hpc/neutroncontroller
/etc/bootstrap.sh
tags: bootstrap

View File

@ -16,7 +16,7 @@ ExecStart=/usr/bin/docker run --name %n \
--privileged \
--network host \
-v /lib/modules:/lib/modules \
{{ docker_image }} /etc/run.sh
hpc/neutroncontroller /etc/run.sh
[Install]
WantedBy=multi-user.target

View File

@ -1,14 +1,5 @@
# 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
docker_image:
name: "{{ docker_image }}"
tags: pull
- name: install service file.
template:
src: templates/nova-compute.service

View File

@ -21,11 +21,7 @@ ExecStart=/usr/bin/docker run --name %n \
-e "MEMCACHED_HOST={{ hostvars[groups['memcached'][0]]['ansible_default_ipv4']['address'] }}" \
-e "MYSQL_HOST={{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}" \
-e "MYSQL_ROOT_PASSWORD=geheim" \
-e "NEUTRON_CONTROLLER_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}" \
-e "NEUTRON_PASSWORD=geheim" \
-e "NEUTRON_USER=neutron" \
-e "NOVA_CONTROLLER_HOST={{ hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address'] }}" \
-e "PROVIDER_INTERFACE_NAME={{ hostvars[groups['neutron-controller'][0]]['ansible_default_ipv4']['interface'] }}" \
-e "GLANCE_CONTROLLER_HOST={{ hostvars[groups['glance-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'] }} \
@ -33,8 +29,7 @@ ExecStart=/usr/bin/docker run --name %n \
--privileged \
-v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \
-v /srv/osdisks:/var/lib/nova/instances \
--network host \
{{ docker_image }} /etc/run.sh
hpc/novacompute /etc/run.sh
[Install]
WantedBy=multi-user.target

View File

@ -1,7 +1,6 @@
# Build and install a docker image for nova-controller.
---
- set_fact:
docker_image: webhost12.service.rug.nl/hpc/openstack-nova-service:latest
env_vars: >
-e "MY_IP={{ hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address'] }}"
-e "NOVA_USER=nova"
@ -20,12 +19,6 @@
-e "NEUTRON_PASSWORD=geheim"
-e "NEUTRON_USER=neutron"
-e "METADATA_SECRET=geheim"
tags: facts
- name: pull docker image
docker_image:
name: "{{ docker_image }}"
tags: pull
- name: install service file.
template:
@ -42,7 +35,7 @@
/usr/bin/docker run --rm
{{ env_vars }}
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
{{ docker_image }}
hpc/novacontroller
/etc/bootstrap.sh
tags: bootstrap

View File

@ -14,7 +14,7 @@ ExecStart=/usr/bin/docker run --name %n \
--privileged \
-p 8774:8774 \
-p 8778:8778 \
{{ docker_image }} /etc/run.sh
hpc/novacontroller /etc/run.sh
[Install]
WantedBy=multi-user.target

View File

@ -30,5 +30,3 @@
- rabbitmqctl add_user openstack geheim
- rabbitmqctl set_permissions openstack ".*" ".*" ".*"
when: ansible_nodename == hostname_node0
register: command_result
failed_when: "command_result.rc not in (0, 70)"

View File

@ -1,11 +1,6 @@
---
- include: common.yml
- include: rabbitmq.yml
- include: memcached.yml
- include: database.yml
- include: dockerregistry.yml
- include: mariadb.yml
- include: keystone.yml
- include: glance-controller.yml
- include: nova-controller.yml
- include: neutron-controller.yml
- include: nova-compute.yml
- include: horizon.yml
- include: rabbitmq.yml