From 1a78f649e855e36165dcab17568fdf8022d891c0 Mon Sep 17 00:00:00 2001 From: Egon Rijpkema Date: Mon, 31 Jul 2017 13:21:03 +0200 Subject: [PATCH] added docker repo --- roles/cassandra/templates/cassandra.service | 2 +- roles/glance-controller/tasks/main.yml | 28 +++++++++++++------ .../templates/glance.service | 12 ++------ roles/horizon/tasks/main.yml | 5 ++++ roles/horizon/templates/horizon.service | 2 +- roles/keystone/tasks/main.yml | 5 ++++ roles/keystone/templates/keystone.service | 2 +- roles/neutron-controller/tasks/main.yml | 7 ++++- .../templates/neutron-controller.service | 2 +- roles/nova-compute/tasks/main.yml | 5 ++++ .../templates/nova-compute.service | 7 ++++- roles/nova-controller/tasks/main.yml | 7 ++++- .../templates/nova-controller.service | 2 +- site.yml | 4 +-- 14 files changed, 60 insertions(+), 30 deletions(-) diff --git a/roles/cassandra/templates/cassandra.service b/roles/cassandra/templates/cassandra.service index d8f173e..6d7477e 100644 --- a/roles/cassandra/templates/cassandra.service +++ b/roles/cassandra/templates/cassandra.service @@ -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 \ - {{run_options}} cassandra:3.10 + cassandra:3.10 [Install] WantedBy=multi-user.target diff --git a/roles/glance-controller/tasks/main.yml b/roles/glance-controller/tasks/main.yml index 04dbcb0..162300c 100644 --- a/roles/glance-controller/tasks/main.yml +++ b/roles/glance-controller/tasks/main.yml @@ -1,5 +1,22 @@ # 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 }}" @@ -20,15 +37,8 @@ - name: Initialize database. command: > - 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" + /usr/bin/docker run --rm + {{ env_vars }} --add-host=nova-controller:{{ hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address'] }} \ --add-host=keystone:{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }} \ hpc/openstack-glance /etc/bootstrap.sh diff --git a/roles/glance-controller/templates/glance.service b/roles/glance-controller/templates/glance.service index 0832091..2aaac81 100644 --- a/roles/glance-controller/templates/glance.service +++ b/roles/glance-controller/templates/glance.service @@ -8,16 +8,8 @@ TimeoutStartSec=0 Restart=always ExecStartPre=-/usr/bin/docker rm -f %n ExecStart=/usr/bin/docker run --name %n \ - -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 + {{ env_vars | replace('\n', '') }} \ + {{ docker_image }} [Install] WantedBy=multi-user.target diff --git a/roles/horizon/tasks/main.yml b/roles/horizon/tasks/main.yml index 48c78f1..7191bac 100644 --- a/roles/horizon/tasks/main.yml +++ b/roles/horizon/tasks/main.yml @@ -1,5 +1,10 @@ # Run hpc/horizon --- +- name: pull docker image + docker_image: + name: webhost12.service.rug.nl/hpc/openstack-horizon:latest + tags: pull + - name: install service file. template: src: templates/horizon.service diff --git a/roles/horizon/templates/horizon.service b/roles/horizon/templates/horizon.service index 014aab5..890a372 100644 --- a/roles/horizon/templates/horizon.service +++ b/roles/horizon/templates/horizon.service @@ -13,7 +13,7 @@ ExecStart=/usr/bin/docker run --name %n \ --add-host=nova-controller:{{ hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address'] }} \ --add-host=keystone:{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }} \ -p 80:80 \ - hpc/horizon + hpc/openstack-horizon [Install] WantedBy=multi-user.target diff --git a/roles/keystone/tasks/main.yml b/roles/keystone/tasks/main.yml index f7da663..b28e96c 100644 --- a/roles/keystone/tasks/main.yml +++ b/roles/keystone/tasks/main.yml @@ -6,6 +6,11 @@ state: directory mode: 0777 +- name: pull keystone image + docker_image: + name: webhost12.service.rug.nl/hpc/openstack-keystone:latest + tags: pull + - name: install service file. template: src: templates/keystone.service diff --git a/roles/keystone/templates/keystone.service b/roles/keystone/templates/keystone.service index 4c571a6..89c4f10 100644 --- a/roles/keystone/templates/keystone.service +++ b/roles/keystone/templates/keystone.service @@ -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 \ - hpc/keystone + hpc/openstack-keystone [Install] WantedBy=multi-user.target diff --git a/roles/neutron-controller/tasks/main.yml b/roles/neutron-controller/tasks/main.yml index 33eba11..e51ec39 100644 --- a/roles/neutron-controller/tasks/main.yml +++ b/roles/neutron-controller/tasks/main.yml @@ -1,5 +1,10 @@ # Build and install a docker image for neutron-controller. --- +- name: pull docker image + docker_image: + name: webhost12.service.rug.nl/hpc/openstack-neutron-controller:latest + tags: pull + - set_fact: env_vars: > -e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}" @@ -35,7 +40,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 - hpc/neutroncontroller + hpc/openstack-neutron-controller /etc/bootstrap.sh tags: bootstrap diff --git a/roles/neutron-controller/templates/neutron-controller.service b/roles/neutron-controller/templates/neutron-controller.service index e47cd33..e604158 100644 --- a/roles/neutron-controller/templates/neutron-controller.service +++ b/roles/neutron-controller/templates/neutron-controller.service @@ -16,7 +16,7 @@ ExecStart=/usr/bin/docker run --name %n \ --privileged \ --network host \ -v /lib/modules:/lib/modules \ - hpc/neutroncontroller /etc/run.sh + hpc/openstack-neutron-controller /etc/run.sh [Install] WantedBy=multi-user.target diff --git a/roles/nova-compute/tasks/main.yml b/roles/nova-compute/tasks/main.yml index 634c66e..98aaed3 100644 --- a/roles/nova-compute/tasks/main.yml +++ b/roles/nova-compute/tasks/main.yml @@ -1,5 +1,10 @@ # Build and install a docker image for nova-controller. --- +- name: pull docker image + docker_image: + name: webhost12.service.rug.nl/hpc/openstack-nova-compute:latest + tags: pull + - name: install service file. template: src: templates/nova-compute.service diff --git a/roles/nova-compute/templates/nova-compute.service b/roles/nova-compute/templates/nova-compute.service index abd7086..a3bc99d 100644 --- a/roles/nova-compute/templates/nova-compute.service +++ b/roles/nova-compute/templates/nova-compute.service @@ -21,7 +21,11 @@ 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'] }} \ @@ -29,7 +33,8 @@ 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 \ - hpc/novacompute /etc/run.sh + --network host \ + hpc/openstack-nova-compute /etc/run.sh [Install] WantedBy=multi-user.target diff --git a/roles/nova-controller/tasks/main.yml b/roles/nova-controller/tasks/main.yml index bdc871a..f042a6f 100644 --- a/roles/nova-controller/tasks/main.yml +++ b/roles/nova-controller/tasks/main.yml @@ -1,5 +1,10 @@ # 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: env_vars: > -e "MY_IP={{ hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address'] }}" @@ -35,7 +40,7 @@ /usr/bin/docker run --rm {{ env_vars }} --add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }} - hpc/novacontroller + hpc/openstack-nova-service /etc/bootstrap.sh tags: bootstrap diff --git a/roles/nova-controller/templates/nova-controller.service b/roles/nova-controller/templates/nova-controller.service index c22234f..9ae8182 100644 --- a/roles/nova-controller/templates/nova-controller.service +++ b/roles/nova-controller/templates/nova-controller.service @@ -14,7 +14,7 @@ ExecStart=/usr/bin/docker run --name %n \ --privileged \ -p 8774:8774 \ -p 8778:8778 \ - hpc/novacontroller /etc/run.sh + hpc/openstack-nova-service /etc/run.sh [Install] WantedBy=multi-user.target diff --git a/site.yml b/site.yml index c43e71b..fbc93b7 100644 --- a/site.yml +++ b/site.yml @@ -1,8 +1,6 @@ --- -- include: cassandra.yml - include: common.yml -- include: database.yml -- include: dockerregistry.yml +- include: mariadb.yml - include: glance-controller.yml - include: horizon.yml - include: keystone.yml