21 Commits

Author SHA1 Message Date
Egon Rijpkema
f5d31cb49e I misunderstood pause. need sleep. 2017-10-31 15:15:22 +01:00
Egon Rijpkema
979f5d5252 Removed obsolete vars 2017-10-31 13:46:31 +01:00
Egon Rijpkema
d06d10fbb1 It seems to be nessecary to run in host mode..
for galera to work.
2017-10-31 13:38:22 +01:00
Egon Rijpkema
1a50d5c8bf give the galera master node some time 2017-10-31 13:23:27 +01:00
Egon Rijpkema
cc9d780fbc Reverted to updating init file by ansible.
entrypoint.sh of the mariadb container seems unable to cope when a blank
variable is passed by systemd.
2017-10-20 08:57:25 +02:00
Egon Rijpkema
fe708539f0 made environment file for the service.
I am unable to reproduce systemctl set-environment to work as
advertized.
2017-10-18 17:11:23 +02:00
Egon Rijpkema
7218694901 The galera cnf can be the same template across...
nodes.
2017-10-18 17:10:38 +02:00
Egon Rijpkema
fdb5320429 add galera.cnf for first node 2017-10-17 17:12:52 +02:00
Egon Rijpkema
9e877a1e63 Added gcc all in one specific config. 2017-10-17 14:56:30 +02:00
Egon Rijpkema
a8d30b76b8 added volume for glance images 2017-10-16 15:25:11 +02:00
Egon Rijpkema
0b70ee884f Inventory for gcc openstack03 all in one. 2017-10-04 09:09:03 +02:00
Egon Rijpkema
257a384e92 enable all services are started at boot 2017-10-02 17:04:44 +02:00
Egon Rijpkema
018fdd8bdb Added delay to check. 2017-09-28 16:01:44 +02:00
Egon Rijpkema
787a4c17db add openstack client on machine that is running keystone 2017-09-27 13:43:33 +02:00
Egon Rijpkema
929b542410 Make PHYSICAL_INTERFACE_MAPPINGS variable...
instead of just one provuider interface.
it should contain something like:
physnet2:eth1,physnet3:eth2
2017-09-21 16:20:32 +02:00
Egon Rijpkema
4f2281bda2 Merge branch 'fiddle-openstack03' into develop 2017-09-21 15:24:39 +02:00
Egon Rijpkema
213064ed2d map to different port to avoid clashes. 2017-09-21 15:18:13 +02:00
Egon Rijpkema
44077aade9 Introducing listen_ip variable that overrides
the default listen_ip.

make a loop for more flexibility.

Get a listen ip specifically for that host.

see if components have listen_ip defined before using ansible_default_ipv4

Make service files look for listen_ip variable.

implemented listen_ip variable here too
2017-09-21 15:17:54 +02:00
Egon Rijpkema
30c453e32b make a loop for more flexibility. 2017-09-19 17:11:34 +02:00
Egon Rijpkema
d0a2a7fc41 Updated url of docker registry. 2017-09-19 11:57:20 +02:00
Egon Rijpkema
07a89c6ce4 added cinder to site.yml 2017-08-31 15:02:47 +02:00
47 changed files with 106 additions and 627 deletions

View File

@@ -1,5 +1,2 @@
[defaults] [defaults]
inventory = merlin hostfile = hosts
stdout_callback = debug
vault_password_file = .vault_pass.txt
forks = 20

View File

@@ -5,7 +5,6 @@ Open the secrets.yml and replace all passwords.
Original is backed up. Original is backed up.
""" """
from os import path
import random import random
import string import string
from subprocess import call from subprocess import call
@@ -28,8 +27,7 @@ for key, value in data.iteritems():
for _ in range(pass_length)) for _ in range(pass_length))
# Make numbered backups of the secrets file. # Make numbered backups of the secrets file.
if path.isfile('secrets.yml'): call(['cp', '--backup=numbered', 'secrets.yml', 'secrets.yml.bak'])
call(['cp', '--backup=numbered', 'secrets.yml', 'secrets.yml.bak'])
with open('secrets.yml', 'w') as f: with open('secrets.yml', 'w') as f:
dump(data, f, Dumper=Dumper, default_flow_style=False) dump(data, f, Dumper=Dumper, default_flow_style=False)

View File

@@ -1,9 +0,0 @@
---
use_ceph: true
ceph_mon_initial_members:
ceph_mon_host:
ceph_public_network:
ceph_osd_pool_default_size:
ceph_compute_client_keyring:
ceph_cinder_client_keyring:
ceph_images_client_keyring:

View File

@@ -1,9 +0,0 @@
---
- hosts: all
name: Dummy to gather facts
tasks: []
- hosts: heat
become: True
roles:
- heat

21
hosts
View File

@@ -1,9 +1,5 @@
# A demo cluster of three nodes.
[databases] [databases]
openstack01-node01
openstack01-node02 openstack01-node02
openstack01-node03
[keystone] [keystone]
openstack01-node03 openstack01-node03
@@ -19,9 +15,24 @@ openstack01-node01
openstack01-node02 openstack01-node02
openstack01-node03 openstack01-node03
#[cassandra]
#openstack01-node[01:03]
#openstack01-node01
#
#[next_cassandra]
#openstack01-node02
#openstack01-node03
[memcached] [memcached]
openstack01-node03 openstack01-node03
#[first_cassandra:vars]
#run_options=""
#
#[next_cassandra:vars]
#run_options="-e CASSANDRA_SEEDS=172.23.41.1"
[neutron-controller] [neutron-controller]
openstack01-node01 physical_interface_mappings=provider:ens192 openstack01-node01 physical_interface_mappings=provider:ens192
@@ -35,4 +46,4 @@ openstack01-node03
openstack01-node01 storage_volume=/dev/loop0 openstack01-node01 storage_volume=/dev/loop0
[nova-compute] [nova-compute]
openstack01-node04 physical_interface_mappings=provider:enp4s0f0 openstack01-node04 physical_interface_mappings=provider:dummy0

View File

@@ -1,26 +0,0 @@
[databases]
openstack03.gcc.rug.nl
[keystone]
openstack03.gcc.rug.nl
[glance-controller]
openstack03.gcc.rug.nl
[horizon]
openstack03.gcc.rug.nl
[rabbitmq]
openstack03.gcc.rug.nl
[memcached]
openstack03.gcc.rug.nl
[neutron-controller]
openstack03.gcc.rug.nl
[nova-controller]
openstack03.gcc.rug.nl
[nova-compute]
openstack03.gcc.rug.nl

54
merlin
View File

@@ -1,54 +0,0 @@
[nova-compute]
merlin-managementnode002 physical_interface_mappings=provider:enp5s0f1 overlay_ip=172.23.43.102
merlin-managementnode003 physical_interface_mappings=provider:enp5s0f1 overlay_ip=172.23.43.103
merlin-node001 physical_interface_mappings=provider:enp130s0f0 overlay_ip=172.23.43.1
merlin-node002 physical_interface_mappings=provider:enp130s0f0 overlay_ip=172.23.43.2
merlin-node003 physical_interface_mappings=provider:enp130s0f0 overlay_ip=172.23.43.3
merlin-node004 physical_interface_mappings=provider:enp130s0f0 overlay_ip=172.23.43.4
merlin-node005 physical_interface_mappings=provider:enp130s0f0 overlay_ip=172.23.43.5
[databases]
merlin-managementnode001
merlin-managementnode002
merlin-managementnode003
[rabbitmq]
merlin-managementnode001
merlin-managementnode002
merlin-managementnode003
[horizon]
merlin-managementnode001
[memcached]
merlin-managementnode001
[nova-controller]
merlin-managementnode001
[keystone]
merlin-managementnode001
[neutron-controller]
merlin-managementnode001 physical_interface_mappings=provider:enp5s0f1 overlay_ip=172.23.43.101
[heat]
merlin-managementnode001
[glance-controller]
merlin-managementnode002
[cinder-controller]
merlin-managementnode003
[cinder-storage]
merlin-managementnode002
merlin-managementnode003
merlin-node001
merlin-node002
merlin-node003
merlin-node004
merlin-node005
[stor]
merlin-stor00[1:8]

View File

@@ -1,37 +0,0 @@
[nova-compute]
merlin-managementnode002 physical_interface_mappings=provider:eno3
merlin-managementnode003 physical_interface_mappings=provider:eno3
merlin-node001 physical_interface_mappings=provider:eno3
merlin-node003 physical_interface_mappings=provider:eno3
merlin-node004 physical_interface_mappings=provider:eno3
[databases]
merlin-managementnode001
merlin-managementnode002
merlin-managementnode003
[rabbitmq]
merlin-managementnode001
merlin-managementnode002
merlin-managementnode003
[horizon]
merlin-managementnode001
[memcached]
merlin-managementnode001
[nova-controller]
merlin-managementnode001
[keystone]
merlin-managementnode001
[neutron-controller]
merlin-managementnode001 physical_interface_mappings=provider:eno3
[heat]
merlin-managementnode001
[glance-controller]
merlin-managementnode001

View File

@@ -1 +0,0 @@
---

View File

@@ -1,28 +0,0 @@
---
# This playbook will reset the instalation to facilitate a new installation.
# All data is lost!
- hosts: all
become: true
name: Dummy to gather facts
tasks:
- name: Stop docker service
shell: "systemctl stop docker"
- name: Verify docker is stopped.
systemd:
name: docker
state: stopped
- name: remove volumes
shell: "rm -rf /srv"
- name: remove network namespaces
shell: "rm /var/run/netns/*"
ignore_errors: true
- hosts: nova-compute
gather_facts: false
become: true
tasks:
- name: kill all vm's
shell: "for machine in $(virsh list --uuid ); do virsh destroy $machine ; done"
- name: wipe all vm's
shell: "for machine in $(virsh list --uuid --all); do virsh undefine $machine ; done"

37
os-test
View File

@@ -1,37 +0,0 @@
# An all in one
[databases]
os-test
[keystone]
os-test
[glance-controller]
os-test
[horizon]
os-test
[rabbitmq]
os-test
[memcached]
os-test
[neutron-controller]
os-test physical_interface_mappings=provider:enp4s0f0
[nova-controller]
os-test
[cinder-controller]
os-test
[cinder-storage]
os-test storage_volume=/dev/sdb
[nova-compute]
os-test physical_interface_mappings=provider:enp4s0f0
[all:vars]
listen_ip=129.125.60.194

View File

@@ -15,11 +15,11 @@
- name: post install configuration - name: post install configuration
command: docker exec -i keystone.service bash -c "source /root/admin-openrc.sh && {{ item }}" command: docker exec -i keystone.service bash -c "source /root/admin-openrc.sh && {{ item }}"
with_items: with_items:
- openstack network create --share --external --provider-physical-network provider --provider-network-type vlan --provider-segment 985 vlan985 - openstack network create --share --external --provider-physical-network provider --provider-network-type flat provider
- > - >
openstack subnet create --subnet-range 172.23.59.0/22 --gateway 172.23.59.1 openstack subnet create --network provider
--network vlan985 --allocation-pool start=172.23.59.75,end=172.23.59.100 --allocation-pool start={{ allocation_pool['start'] }},end={{ allocation_pool['end'] }}
--dns-nameserver 172.23.32.248 vlan985_subnet --dns-nameserver {{ dns_nameserver }} --gateway {{ gateway }} --subnet-range {{ subnet_range }} provider
- openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano - openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
- openstack keypair create --public-key /root/id_rsa.pub adminkey - openstack keypair create --public-key /root/id_rsa.pub adminkey

View File

@@ -1,9 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
39313161646365373665646331613930316437363735326262376531636166346138303139613138
3361353633616136303365646165643339333130393031380a373934636436626336326436306666
34316532333165346139633239313930326238333134633365666138326338386632373937343335
3262383863653136300a393464646365623763663063303936646462313764633736613562633661
62313961626165363761656363393538396461653936353932303137626435626161316239623338
65656132353136656430613462663466616432643761303366396461653066616162366666356533
39386261623861323861633739343237386266306264356436666430313531303238636235393665
31396533306261393835

View File

@@ -1,14 +0,0 @@
[global]
fsid = ef0b40a2-bc8c-4432-9cde-0ca7c82c8717
mon_initial_members = merlin-managementnode002
mon_host = 172.23.59.102
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
# Your network address
public network = 172.23.59.0/24
osd pool default size = 2
[client.volumes]
keyring = /etc/ceph/ceph.client.volumes.keyring

View File

@@ -1 +0,0 @@
d0db6ba7-a0c9-4da6-b0bc-aa7846325333

View File

@@ -4,13 +4,9 @@
include_vars: include_vars:
file: ../../secrets.yml file: ../../secrets.yml
name: secrets name: secrets
tags: vars
#- command: uuidgen
# register: uuid
- set_fact: - set_fact:
docker_image: registry.webhosting.rug.nl/hpc/openstack-cinder-storage-merlin:latest docker_image: registry.webhosting.rug.nl/hpc/openstack-cinder-storage:latest
env_vars: > env_vars: >
-e "MY_IP={{ listen_ip | default(ansible_default_ipv4.address) }}" -e "MY_IP={{ listen_ip | default(ansible_default_ipv4.address) }}"
-e "CINDER_HOST={{ listen_ip | default(hostvars[groups['cinder-storage'][0]]['ansible_default_ipv4']['address']) }}" -e "CINDER_HOST={{ listen_ip | default(hostvars[groups['cinder-storage'][0]]['ansible_default_ipv4']['address']) }}"
@@ -24,12 +20,6 @@
-e "RABBIT_HOST={{ listen_ip | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }}" -e "RABBIT_HOST={{ listen_ip | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }}"
-e "RABBIT_PASSWORD={{ secrets['RABBIT_PASSWORD'] }}" -e "RABBIT_PASSWORD={{ secrets['RABBIT_PASSWORD'] }}"
-e "RABBIT_USER=openstack" -e "RABBIT_USER=openstack"
-e "USE_CEPH={{ use_ceph }}"
-e "MON_INITIAL_MEMBERS={{ ceph_mon_initial_members }}"
-e "MON_HOST={{ ceph_mon_host }}"
-e "PUBLIC_NETWORK={{ ceph_public_network }}"
-e "OSD_POOL_DEFAULT_SIZE={{ ceph_osd_pool_default_size }}"
tags: vars
- name: pull docker image - name: pull docker image
docker_image: docker_image:
@@ -42,9 +32,8 @@
state: directory state: directory
mode: 0777 mode: 0777
with_items: with_items:
- /srv/cinder-storage - /srv/cinder-storage
- /srv/cinder-storage/root - /srv/cinder-storage/root
- /srv/cinder-storage/etc/ceph
- name: initial setup - name: initial setup
command: > command: >
@@ -52,21 +41,10 @@
--privileged --privileged
{{ env_vars }} {{ env_vars }}
-v /srv/cinder-storage/root:/root \ -v /srv/cinder-storage/root:/root \
-v "{{ storage_volume }}":/dev/cinder_storage_volume \
{{ docker_image }} /etc/bootstrap.sh {{ docker_image }} /etc/bootstrap.sh
tags: bootstrap tags: bootstrap
- name: copy ceph-client configurationfile
copy:
src: files/ceph.conf
dest: /srv/cinder-storage/etc/ceph/ceph.conf
mode: 0644
- name: copy ceph-client-keyring
copy:
src: files/ceph.client.volumes.keyring
dest: /srv/cinder-storage/etc/ceph/ceph.client.volumes.keyring
mode: 0644
- name: install service file. - name: install service file.
template: template:
src: templates/cinder-storage.service src: templates/cinder-storage.service
@@ -74,16 +52,8 @@
mode: 644 mode: 644
owner: root owner: root
group: root group: root
tags: systemd
#- name: set ceph client keyring
# copy:
# content: "{{ceph_cinder_client_keyring}}"
# dest: /srv/cinder-storage/etc/ceph
# when: use_ceph
- command: systemctl daemon-reload - command: systemctl daemon-reload
tags: systemd
- name: start service at boot. - name: start service at boot.
command: systemctl reenable cinder-storage.service command: systemctl reenable cinder-storage.service

View File

@@ -12,9 +12,8 @@ ExecStart=/usr/bin/docker run --name %n \
--privileged \ --privileged \
{{ env_vars | replace('\n', '') }} \ {{ env_vars | replace('\n', '') }} \
-v /srv/cinder-storage/root:/root \ -v /srv/cinder-storage/root:/root \
-v /etc/ceph:/etc/ceph \ -v "{{ storage_volume }}":/dev/cinder_storage_volume \
-p 8777:8776 \ -p 8777:8776 \
-p 3260:3260 \
{{ docker_image }} {{ docker_image }}
[Install] [Install]

View File

@@ -13,8 +13,3 @@
with_items: with_items:
- docker-engine - docker-engine
- python-docker - python-docker
- name: make sure service is started
systemd:
name: docker.service
state: started

View File

@@ -10,13 +10,13 @@
- name: common | install packages - name: common | install packages
apt: pkg={{ item }} state=latest update_cache=yes apt: pkg={{ item }} state=latest update_cache=yes
with_items: with_items:
- curl - curl
- htop - htop
- molly-guard - molly-guard
- sudo - sudo
- tree - tree
- vim - vim
- python-simplejson - python-simplejson
- name: sshd_config - name: sshd_config
file: file:
@@ -26,7 +26,4 @@
owner: root owner: root
group: root group: root
- name: disable apparmor
apt: pkg=apparmor state=absent
- include: docker.yml - include: docker.yml

View File

@@ -1,2 +0,0 @@
[client.images]
key = AQDCpDNbJ3DqDBAAvUOUcxEoZNvQUfoaU5i8iQ==

View File

@@ -1,14 +0,0 @@
[global]
fsid = ef0b40a2-bc8c-4432-9cde-0ca7c82c8717
mon_initial_members = merlin-managementnode002
mon_host = 172.23.59.102
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
# Your network address
public network = 172.23.59.0/24
osd pool default size = 2
[client.images]
keyring = /etc/ceph/ceph.client.images.keyring

View File

@@ -6,7 +6,7 @@
name: secrets name: secrets
- set_fact: - set_fact:
docker_image: registry.webhosting.rug.nl/hpc/openstack-glance-merlin:latest docker_image: registry.webhosting.rug.nl/hpc/openstack-glance:latest
env_vars: > env_vars: >
-e "GLANCE_HOST={{ listen_ip | default(hostvars[groups['glance-controller'][0]]['ansible_default_ipv4']['address']) }}" -e "GLANCE_HOST={{ listen_ip | default(hostvars[groups['glance-controller'][0]]['ansible_default_ipv4']['address']) }}"
-e "GLANCE_PASSWORD={{ secrets['GLANCE_PASSWORD'] }}" -e "GLANCE_PASSWORD={{ secrets['GLANCE_PASSWORD'] }}"
@@ -19,16 +19,11 @@
-e "RABBIT_HOST={{ listen_ip | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }}" -e "RABBIT_HOST={{ listen_ip | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }}"
-e "RABBIT_PASSWORD={{ secrets['RABBIT_PASSWORD'] }}" -e "RABBIT_PASSWORD={{ secrets['RABBIT_PASSWORD'] }}"
-e "RABBIT_USER=openstack" -e "RABBIT_USER=openstack"
-e "USE_CEPH={{ use_ceph }}"
-e "MON_INITIAL_MEMBERS={{ ceph_mon_initial_members }}"
-e "MON_HOST={{ ceph_mon_host }}"
-e "PUBLIC_NETWORK={{ ceph_public_network }}"
-e "OSD_POOL_DEFAULT_SIZE={{ ceph_osd_pool_default_size }}"
#- name: pull docker image - name: pull docker image
# docker_image: docker_image:
# name: "{{ docker_image }}" name: "{{ docker_image }}"
# tags: pull tags: pull
- name: Make build and persistent directories - name: Make build and persistent directories
file: file:
@@ -38,25 +33,6 @@
with_items: with_items:
- /srv/glance - /srv/glance
- /srv/glance/root - /srv/glance/root
- /srv/glance/etc/ceph
- name: copy ceph-client configurationfile
copy:
src: files/ceph.conf
dest: /srv/glance/etc/ceph/ceph.conf
mode: 0644
- name: copy ceph-client-keyring
copy:
src: files/ceph.client.images.keyring
dest: /srv/glance/etc/ceph/ceph.client.images.keyring
mode: 0644
#- name: set ceph client keyring
# copy:
# content: "{{ceph_images_client_keyring}}"
# dest: /srv/cinder-storage/etc/ceph/ceph.client.images.keyring
# when: use_ceph
- name: install service file. - name: install service file.
template: template:

View File

@@ -11,7 +11,7 @@ ExecStartPre=-/usr/bin/docker rm %n
ExecStart=/usr/bin/docker run --name %n \ ExecStart=/usr/bin/docker run --name %n \
{{ env_vars | replace('\n', '') }} \ {{ env_vars | replace('\n', '') }} \
-v /srv/glance/root:/root \ -v /srv/glance/root:/root \
-v /etc/ceph:/etc/ceph \ -v /var/lib/glance/images:/var/lib/glance/images \
-p 9292:9292 \ -p 9292:9292 \
{{ docker_image }} {{ docker_image }}

View File

@@ -1,62 +0,0 @@
# Build and install a docker image for heat.
---
- name: include secrets
include_vars:
file: ../../secrets.yml
name: secrets
- set_fact:
docker_image: registry.webhosting.rug.nl/hpc/openstack-heat:latest
env_vars: >
-e "HEAT_HOST={{ listen_ip | default(hostvars[groups['heat'][0]]['ansible_default_ipv4']['address']) }}"
-e "HEAT_PASSWORD={{ secrets['HEAT_PASSWORD'] }}"
-e "HEAT_USER=heat"
-e "KEYSTONE_HOST={{ listen_ip | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }}"
-e "MEMCACHED_HOST={{ listen_ip | default(hostvars[groups['memcached'][0]]['ansible_default_ipv4']['address']) }}"
-e "MYSQL_HOST={{ listen_ip | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }}"
-e "MYSQL_ROOT_PASSWORD={{ secrets['MYSQL_ROOT_PASSWORD'] }}"
-e "OS_PASSWORD={{ secrets['OS_PASSWORD'] }}"
-e "RABBIT_HOST={{ listen_ip | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }}"
-e "RABBIT_PASSWORD={{ secrets['RABBIT_PASSWORD'] }}"
-e "RABBIT_USER=openstack"
- name: pull docker image
docker_image:
name: "{{ docker_image }}"
tags: pull
- name: Make build and persistent directories
file:
path: "{{ item }}"
state: directory
mode: 0777
with_items:
- /srv/heat
- /srv/heat/root
- name: install service file.
template:
src: templates/heat.service
dest: /etc/systemd/system/heat.service
mode: 644
owner: root
group: root
- name: start service at boot.
command: systemctl reenable heat.service
- command: systemctl daemon-reload
- name: Initialize database.
command: >
/usr/bin/docker run --rm
{{ env_vars }}
--add-host=keystone:{{ listen_ip | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }} \
-v /srv/heat/root:/root \
{{ docker_image }} /etc/bootstrap.sh
tags: bootstrap
- name: make sure service is started
systemd:
name: heat.service
state: restarted

View File

@@ -1,19 +0,0 @@
[Unit]
Description=Openstack heat Container
After=docker.service
Requires=docker.service
[Service]
TimeoutStartSec=0
Restart=always
ExecStartPre=-/usr/bin/docker kill %n
ExecStartPre=-/usr/bin/docker rm %n
ExecStart=/usr/bin/docker run --name %n \
{{ env_vars | replace('\n', '') }} \
-v /srv/heat/root:/root \
-p 8000:8000 \
-p 8004:8004 \
{{ docker_image }}
[Install]
WantedBy=multi-user.target

View File

@@ -1,5 +1,5 @@
[Unit] [Unit]
Description=Openstack Horizon Container Description=Openstack Glance Container
After=docker.service After=docker.service
Requires=docker.service Requires=docker.service

View File

@@ -45,14 +45,14 @@
MYSQL_ROOT_PASSWORD: "{{ secrets['MYSQL_ROOT_PASSWORD'] }}" MYSQL_ROOT_PASSWORD: "{{ secrets['MYSQL_ROOT_PASSWORD'] }}"
DB_HOST: "{{ listen_ip | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }}" DB_HOST: "{{ listen_ip | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }}"
register: result register: result
until: result is succeeded until: result|succeeded
# sometimes the initial connect fails. # sometimes the initial connect fails.
# Retry until it succeeds. # Retry until it succeeds.
retries: 7 retries: 7
delay: 3 delay: 3
ignore_errors: yes ignore_errors: yes
- name: keystone manage commands to setup db_sync - name: keystone manage commands to setup db
command: > command: >
/usr/bin/docker run --rm /usr/bin/docker run --rm
--add-host=mariadb:{{ listen_ip | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }} --add-host=mariadb:{{ listen_ip | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }}
@@ -69,11 +69,6 @@
--bootstrap-internal-url http://{{ listen_ip | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }}:35357/v3/ --bootstrap-internal-url http://{{ listen_ip | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }}:35357/v3/
--bootstrap-public-url http://{{ listen_ip | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }}:5000/v3/ --bootstrap-public-url http://{{ listen_ip | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }}:5000/v3/
--bootstrap-region-id RegionOne --bootstrap-region-id RegionOne
# sometimes the initial connect fails.
# Retry until it succeeds.
retries: 7
delay: 3
ignore_errors: yes
- name: make sure service is started - name: make sure service is started
systemd: systemd:
@@ -90,27 +85,12 @@
-e "OS_AUTH_URL=http://${KEYSTONE_HOST}:35357/v3" -e "OS_AUTH_URL=http://${KEYSTONE_HOST}:35357/v3"
-e "OS_PASSWORD={{ secrets['OS_PASSWORD'] }}" -e "OS_PASSWORD={{ secrets['OS_PASSWORD'] }}"
{{ docker_image }} bash /etc/bootstrap.sh {{ docker_image }} bash /etc/bootstrap.sh
register: result
retries: 7
delay: 3
- name: install openstack repo key host.
command: apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5EDB1B62EC4926EA
tags: openstackclient
- name: install openstack repo on host.
apt_repository:
repo: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/ocata main"
filename: ocata
tags: openstackclient
- name: install openstack client for management - name: install openstack client for management
apt: apt:
name: python-openstackclient name: python-openstackclient
state: latest state: latest
update_cache: yes update_cache: yes
tags: openstackclient
- name: source admin-openrc.sh in root .bashrc - name: source admin-openrc.sh in root .bashrc
lineinfile: lineinfile:

View File

@@ -1,5 +1,3 @@
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_TENANT_NAME=admin export OS_TENANT_NAME=admin
export OS_USERNAME=admin export OS_USERNAME=admin
export OS_PASSWORD={{ hostvars[groups['keystone'][0]]['OS_PASSWORD'] }} export OS_PASSWORD={{ hostvars[groups['keystone'][0]]['OS_PASSWORD'] }}

View File

@@ -70,8 +70,3 @@
- name: start service at boot. - name: start service at boot.
command: systemctl reenable mysql.service command: systemctl reenable mysql.service
- name: Give the cluster some time to initialize replication.
command: bash -c "sleep 60 && systemctl daemon-reload"
when: groups['databases'] | length >= 3

View File

@@ -6,7 +6,7 @@
name: secrets name: secrets
- set_fact: - set_fact:
docker_image: "registry.webhosting.rug.nl/hpc/openstack-neutron-controller-merlin:latest" docker_image: "registry.webhosting.rug.nl/hpc/openstack-neutron-controller:latest"
- name: pull docker image - name: pull docker image
docker_image: docker_image:
@@ -29,7 +29,6 @@
-e "NOVA_CONTROLLER_HOST={{ listen_ip | default(hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address']) }}" -e "NOVA_CONTROLLER_HOST={{ listen_ip | default(hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address']) }}"
-e "NOVA_PLACEMENT_PASSWORD={{ secrets['NOVA_PLACEMENT_PASSWORD'] }}" -e "NOVA_PLACEMENT_PASSWORD={{ secrets['NOVA_PLACEMENT_PASSWORD'] }}"
-e "NOVA_PLACEMENT_USER=placement" -e "NOVA_PLACEMENT_USER=placement"
-e "OVERLAY_IP={{ overlay_ip }}"
-e "OS_PASSWORD={{ secrets['OS_PASSWORD'] }}" -e "OS_PASSWORD={{ secrets['OS_PASSWORD'] }}"
-e "PHYSICAL_INTERFACE_MAPPINGS={{ physical_interface_mappings }}" -e "PHYSICAL_INTERFACE_MAPPINGS={{ physical_interface_mappings }}"
-e "RABBIT_PASSWORD={{ secrets['RABBIT_PASSWORD'] }}" -e "RABBIT_PASSWORD={{ secrets['RABBIT_PASSWORD'] }}"

View File

@@ -17,7 +17,6 @@ ExecStart=/usr/bin/docker run --name %n \
--privileged \ --privileged \
--network host \ --network host \
-v /lib/modules:/lib/modules \ -v /lib/modules:/lib/modules \
-v /var/run/netns:/var/run/netns \
{{ docker_image }} /etc/run.sh {{ docker_image }} /etc/run.sh
[Install] [Install]

View File

@@ -1,14 +0,0 @@
[global]
fsid = ef0b40a2-bc8c-4432-9cde-0ca7c82c8717
mon_initial_members = merlin-managementnode002
mon_host = 172.23.59.102
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
# Your network address
public network = 172.23.59.0/24
osd pool default size = 2
[client.compute]
keyring = /etc/ceph/ceph.client.compute.keyring

View File

@@ -1 +0,0 @@
b5044271-1918-4070-822c-f19ed14d7494

View File

@@ -4,11 +4,10 @@
include_vars: include_vars:
file: ../../secrets.yml file: ../../secrets.yml
name: secrets name: secrets
tags: vars
- set_fact: - set_fact:
docker_image: registry.webhosting.rug.nl/hpc/openstack-nova-compute-merlin:latest docker_image: registry.webhosting.rug.nl/hpc/openstack-nova-compute:latest
tags: vars tags: facts
- name: pull docker image - name: pull docker image
docker_image: docker_image:
@@ -16,27 +15,6 @@
force: True force: True
tags: pull tags: pull
- name: Make build and persistent directories
file:
path: "{{ item }}"
state: directory
mode: 0777
with_items:
- /srv/nova-compute
- /srv/nova-compute/etc/ceph
- name: copy ceph-client configurationfile
copy:
src: files/ceph.conf
dest: /srv/nova-compute/etc/ceph/ceph.conf
mode: 0644
- name: copy ceph-client-keyring
copy:
src: files/ceph.client.compute.keyring
dest: /srv/nova-compute/etc/ceph/ceph.client.compute.keyring
mode: 0644
- name: install service file. - name: install service file.
template: template:
src: templates/nova-compute.service src: templates/nova-compute.service
@@ -44,24 +22,16 @@
mode: 644 mode: 644
owner: root owner: root
group: root group: root
tags: systemd
#- name: set ceph client keyring
# copy:
# content: "{{ceph_compute_client_keyring}}"
# dest: /srv/nova-compute/etc/ceph
# when: use_ceph
- command: systemctl daemon-reload - command: systemctl daemon-reload
tags: systemd
- apt: - apt:
name: "{{ item }}" name: '{{ item }}'
with_items: with_items:
- kvm - kvm
- libvirt0 - libvirt0
- libvirt-bin - libvirt-bin
- qemu - qemu
- name: make sure service is started - name: make sure service is started
systemd: systemd:
@@ -72,10 +42,5 @@
command: systemctl reenable nova-compute.service command: systemctl reenable nova-compute.service
- name: let nova controler discover new host - name: let nova controler discover new host
shell: "sleep 10 && docker exec -i nova-controller.service nova-manage cell_v2 discover_hosts" command: docker exec -i nova-controller.service nova-manage cell_v2 discover_hosts
delegate_to: "{{ hostvars[groups['nova-controller'][0]]['ansible_hostname'] }}" delegate_to: "{{ hostvars[groups['nova-controller'][0]]['ansible_hostname'] }}"
register: result
until: result is succeeded
retries: 7
delay: 3
ignore_errors: yes

View File

@@ -11,9 +11,8 @@ ExecStartPre=-/usr/bin/docker rm %n
ExecStart=/usr/bin/docker run --name %n \ ExecStart=/usr/bin/docker run --name %n \
-e "GLANCE_CONTROLLER_HOST={{ hostvars[groups['glance-controller'][0]]['listen_ip'] | default(hostvars[groups['glance-controller'][0]]['ansible_default_ipv4']['address']) }}" \ -e "GLANCE_CONTROLLER_HOST={{ hostvars[groups['glance-controller'][0]]['listen_ip'] | default(hostvars[groups['glance-controller'][0]]['ansible_default_ipv4']['address']) }}" \
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['listen_ip'] | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }}" \ -e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['listen_ip'] | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }}" \
-e "METADATA_SECRET={{ secrets['METADATA_SECRET'] }}" \
-e "MEMCACHED_HOST={{ hostvars[groups['memcached'][0]]['listen_ip'] | default(hostvars[groups['memcached'][0]]['ansible_default_ipv4']['address']) }}" \ -e "MEMCACHED_HOST={{ hostvars[groups['memcached'][0]]['listen_ip'] | default(hostvars[groups['memcached'][0]]['ansible_default_ipv4']['address']) }}" \
-e "MY_IP={{ listen_ip | default(ansible_default_ipv4.address) }}" \ -e "MY_IP={{ hostvars[groups['nova-compute'][0]]['listen_ip'] | default(hostvars[groups['nova-compute'][0]]['ansible_default_ipv4']['address']) }}" \
-e "MYSQL_HOST={{ hostvars[groups['databases'][0]]['listen_ip'] | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }}" \ -e "MYSQL_HOST={{ hostvars[groups['databases'][0]]['listen_ip'] | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }}" \
-e "MYSQL_ROOT_PASSWORD={{ secrets['MYSQL_ROOT_PASSWORD'] }}" \ -e "MYSQL_ROOT_PASSWORD={{ secrets['MYSQL_ROOT_PASSWORD'] }}" \
-e "NEUTRON_CONTROLLER_HOST={{ hostvars[groups['neutron-controller'][0]]['listen_ip'] | default(hostvars[groups['neutron-controller'][0]]['ansible_default_ipv4']['address']) }}" \ -e "NEUTRON_CONTROLLER_HOST={{ hostvars[groups['neutron-controller'][0]]['listen_ip'] | default(hostvars[groups['neutron-controller'][0]]['ansible_default_ipv4']['address']) }}" \
@@ -26,27 +25,18 @@ ExecStart=/usr/bin/docker run --name %n \
-e "NOVA_PLACEMENT_PASSWORD={{ secrets['NOVA_PLACEMENT_PASSWORD'] }}" \ -e "NOVA_PLACEMENT_PASSWORD={{ secrets['NOVA_PLACEMENT_PASSWORD'] }}" \
-e "NOVA_PLACEMENT_USER=placement" \ -e "NOVA_PLACEMENT_USER=placement" \
-e "NOVA_USER=nova" \ -e "NOVA_USER=nova" \
-e "OVERLAY_IP={{ overlay_ip }}" \
-e "OS_PASSWORD={{ secrets['OS_PASSWORD'] }}" \ -e "OS_PASSWORD={{ secrets['OS_PASSWORD'] }}" \
-e "PHYSICAL_INTERFACE_MAPPINGS={{ physical_interface_mappings }}" \ -e "PHYSICAL_INTERFACE_MAPPINGS={{ physical_interface_mappings }}" \
-e "RABBIT_HOST={{ hostvars[groups['rabbitmq'][0]]['listen_ip'] | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }}" \ -e "RABBIT_HOST={{ hostvars[groups['rabbitmq'][0]]['listen_ip'] | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }}" \
-e "RABBIT_PASSWORD={{ secrets['RABBIT_PASSWORD'] }}" \ -e "RABBIT_PASSWORD={{ secrets['RABBIT_PASSWORD'] }}" \
-e "RABBIT_USER=openstack" \ -e "RABBIT_USER=openstack" \
-e "USE_CEPH={{ use_ceph }}" \
-e "MON_INITIAL_MEMBERS={{ ceph_mon_initial_members }}" \
-e "MON_HOST={{ ceph_mon_host }}" \
-e "PUBLIC_NETWORK={{ ceph_public_network }}" \
-e "OSD_POOL_DEFAULT_SIZE={{ ceph_osd_pool_default_size }}" \
--add-host=keystone:{{ hostvars[groups['keystone'][0]]['listen_ip'] | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }} \ --add-host=keystone:{{ hostvars[groups['keystone'][0]]['listen_ip'] | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }} \
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['listen_ip'] | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }} \ --add-host=mariadb:{{ hostvars[groups['databases'][0]]['listen_ip'] | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }} \
--privileged \ --privileged \
-v /dev:/dev \
-v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \ -v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \
-v /var/lib/nova/instances:/var/lib/nova/instances \ -v /var/lib/nova/instances:/var/lib/nova/instances \
-v /var/run/netns:/var/run/netns \
-v /lib/modules:/lib/modules \ -v /lib/modules:/lib/modules \
-v /etc/machine-id:/etc/machine-id \ -v /etc/machine-id:/etc/machine-id \
-v /etc/ceph:/etc/ceph \
--network host \ --network host \
{{ docker_image }} /etc/run.sh {{ docker_image }} /etc/run.sh

View File

@@ -19,12 +19,11 @@
env_vars: > env_vars: >
-e "GLANCE_CONTROLLER_HOST={{ listen_ip | default(hostvars[groups['glance-controller'][0]]['ansible_default_ipv4']['address']) }}" -e "GLANCE_CONTROLLER_HOST={{ listen_ip | default(hostvars[groups['glance-controller'][0]]['ansible_default_ipv4']['address']) }}"
-e "KEYSTONE_HOST={{ listen_ip | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }}" -e "KEYSTONE_HOST={{ listen_ip | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }}"
-e "METADATA_SECRET={{ secrets['METADATA_SECRET'] }}"
-e "MEMCACHED_HOST={{ listen_ip | default(hostvars[groups['memcached'][0]]['ansible_default_ipv4']['address']) }}" -e "MEMCACHED_HOST={{ listen_ip | default(hostvars[groups['memcached'][0]]['ansible_default_ipv4']['address']) }}"
-e "MY_IP={{ listen_ip | default(ansible_default_ipv4.address) }}" -e "MY_IP={{ listen_ip | default(hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address']) }}"
-e "MYSQL_HOST={{ listen_ip | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }}" -e "MYSQL_HOST={{ listen_ip | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }}"
-e "MYSQL_ROOT_PASSWORD={{ secrets['MYSQL_ROOT_PASSWORD'] }}" -e "MYSQL_ROOT_PASSWORD={{ secrets['MYSQL_ROOT_PASSWORD'] }}"
-e "NEUTRON_CONTROLLER_HOST={{ hostvars[groups['neutron-controller'][0]]['listen_ip'] | default(hostvars[groups['neutron-controller'][0]]['ansible_default_ipv4']['address']) }}" -e "NEUTRON_CONTROLLER_HOST={{ listen_ip | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }}"
-e "NEUTRON_PASSWORD={{ secrets['NEUTRON_PASSWORD'] }}" -e "NEUTRON_PASSWORD={{ secrets['NEUTRON_PASSWORD'] }}"
-e "NEUTRON_USER=neutron" -e "NEUTRON_USER=neutron"
-e "NOVA_CONTROLLER_HOST={{ listen_ip | default(hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address']) }}" -e "NOVA_CONTROLLER_HOST={{ listen_ip | default(hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address']) }}"

View File

@@ -15,7 +15,6 @@ ExecStart=/usr/bin/docker run --name %n \
--privileged \ --privileged \
-v /srv/nova-controller/root:/root \ -v /srv/nova-controller/root:/root \
-p 8774:8774 \ -p 8774:8774 \
-p 8775:8775 \
-p 8778:8778 \ -p 8778:8778 \
-p 6080:6080 \ -p 6080:6080 \
{{ docker_image }} /etc/run.sh {{ docker_image }} /etc/run.sh

View File

@@ -14,7 +14,7 @@ ExecStart=/usr/bin/docker run \
--add-host "{{ host }}:{{ hostvars[host]['listen_ip'] | default(hostvars[host]['ansible_default_ipv4']['address']) }}" \ --add-host "{{ host }}:{{ hostvars[host]['listen_ip'] | default(hostvars[host]['ansible_default_ipv4']['address']) }}" \
{% endfor %} {% endfor %}
-p 4369:4369 -p 25679:25679 -p 25672:25672 -p 5671-5672:5671-5672 -p 8080:15672 \ -p 4369:4369 -p 25679:25679 -p 25672:25672 -p 5671-5672:5671-5672 -p 8080:15672 \
-e "RABBITMQ_DEFAULT_USER=openstack" -e "RABBITMQ_DEFAULT_PASS={{ secrets['RABBIT_PASSWORD'] }}" \ -e "RABBITMQ_DEFAULT_USER=user" -e "RABBITMQ_DEFAULT_PASS={{ secrets['RABBIT_PASSWORD'] }}" \
-e "RABBITMQ_ERLANG_COOKIE={{ secrets['RABBITMQ_ERLANG_COOKIE'] }}" \ -e "RABBITMQ_ERLANG_COOKIE={{ secrets['RABBITMQ_ERLANG_COOKIE'] }}" \
-e "RABBITMQ_NODENAME=rabbit_{{ ansible_nodename }}" \ -e "RABBITMQ_NODENAME=rabbit_{{ ansible_nodename }}" \
--hostname "{{ ansible_nodename }}" --name %n rabbitmq:3-management --hostname "{{ ansible_nodename }}" --name %n rabbitmq:3-management

View File

@@ -37,3 +37,11 @@
- rabbitmqctl start_app - rabbitmqctl start_app
when: ansible_nodename != hostname_node0 when: ansible_nodename != hostname_node0
- name: create openstack user
command: "docker exec -i rabbitmq.service {{ item }}"
with_items:
- rabbitmqctl add_user openstack "{{ secrets['RABBIT_PASSWORD'] }}"
- rabbitmqctl set_permissions openstack ".*" ".*" ".*"
when: ansible_nodename == hostname_node0
register: command_result
failed_when: "command_result.rc not in (0, 70)"

View File

@@ -1,35 +1,30 @@
$ANSIBLE_VAULT;1.1;AES256 $ANSIBLE_VAULT;1.1;AES256
35313437313530623333636561373631393862663463323739353630313161303566353732633636 35643437313834633532373265366630663035336231306639623561613765386332663334343237
3335626664346130646435613932326166366635326138640a363165366339393130306234633061 3339363162303463353437326331656532336138373066620a623137643762383532376361353364
62646664313036616639643565396639303064323461633839633833393664373864653262393532 37646236386466353636396535376463333133323664316634663466663164303063383830653039
3734333431353530650a333630343930313038613164303038306264306238333632363862313431 3535666361303562630a316137376531636537383138663662373865383431343035646539356137
35303131623461303863646135313463363032396439623536353433386138613565383931333266 38323866643831353537366630363333663865383261633938346664633362343661343839383766
38636632363334336534336434303763616432366631343666343437316532313466396661656663 66363733356333303334323136376136353738376362376231353338343763663131363731343639
62316362336631663439656134623034626532653039323461373239376461636539393739346435 61383138626235633663666430383964616239363035663663646133636434363032626633663865
32623066656439326561663031303430316138353631366163373630343962666263663162636337 30663732646630393163653461626435333463396463333236313930346461626364626166386365
61393262393063626639623536656535623262386439633034393261323762633431363937613735 66323736316230376165666366363136666533376335316132343361393532616536383965363339
31373464646566646435323835393766396537333532623766333638626534336436373434633136 30376362356665633630393561653532613139366236663961643864383738353430666562623730
63653538326232356436303331636435316633363030386562663461353338663630613162313436 34663166393665653265663836623731386235633062306562373935633737363639383336303539
62333337666535353332366330326336313235353463373666343633666465616465383435333037 37663763623664623038316438356138363134646230643261646262353163333430616462393866
66306334313231356439343730386234396638633566653733393430636232353631346334653964 31666233636233356464633436626637313633623736343264613037353432386131393964386663
31663161633961383935613663336233666334393563643539373833633361323532656639656165 36353236613662633764366437306461316138366461653731373436613039346663663536653362
38396134346365653835383463333535393365306234656535623761343732386665396335376362 38656636303935626563303732666261373665303035333661643865393166653330646336393961
31343061313331373762353738333962343366663730303436353530653533613839363437643539 31646539396131626464313733383638656438613530663166393035343630353764313232323432
33646133626235613461383063363634653565363134343163343939633238636239343462656135 34386334666231323261343765623636313032373835396332623037613866613636393038653266
61356161306665383235393030653565646634656536396662346462313636326266633235643236 36336531356534633933383432646663663364376130386239613836336263623161326563346661
63636434646139386337356165613934323564316136373664643237376633313665653534393035 33636232313866613662353661373533383138393434396338343934326333326238336638396462
34363438303633323661313737363738346639393835336462363666643934383030373132363464 65376133343038313437343934373265333632663133653133656130636533663237623839623634
36326466336239666366363966313862616135623736323332393734313364353661653063303831 35363764363763363465363437623964363362616261663166633066373033633864336532633031
35366533333935343938653566326633353639323937616661316234353265383832346336343861 32323733616562663031303230383561373637326436336462363461313532623262653866323862
66623133316262623731353861333533623662663034376539613262653539353137643062306562 34643631333533626537373538353564306261313035303530666462326534633638363932363037
31663035653731393131333964383162653237373562666635356666646564373366303661383163 65336230373034643966656561303164373463353638316632613431643535303930373334383134
63346130333465326465656537336637323531363836643838313432643165663465326664656563 38323731363535313065326330653666323934636466386238616664316635303333653631396639
63323734663461346532353736343164323233343539663539343831383332336238643830663635 39303737613361653862343964303231393164346134633366633262326230643137303331373231
37306463373137386663363538376563653763383663326134663733366262363533343366323438 31323832363937663935333737613133323265323863623933633962633230386339636432643937
35613638316266393337363734313564353464316135353634323366303163376465656266656338 66653763376663666637353738646565343835333937343765356539383734316231623466343634
36313563303063613433653064363037636461636135373564653630626338646561663666353137 30663135663938393561333133663737653635393432333534306466366332333338
64353131643435616334323733663538663063323437323831353532653730313538303538653565
35313363323466663531396634323132316538616361343963393465323033643830653430633832
30306236616233353135353965373838396435323366653732353736363263643062636536626263
63373231396230656464393764333133653436656133653161663131333565373832303462663639
6563303036633864313533363164323964643662613537313136

View File

@@ -9,5 +9,3 @@ OS_PASSWORD: # Keystone admin password
OS_DEMO_PASSWORD: # Keystone demo user password OS_DEMO_PASSWORD: # Keystone demo user password
RABBIT_PASSWORD: RABBIT_PASSWORD:
RABBITMQ_ERLANG_COOKIE: RABBITMQ_ERLANG_COOKIE:
CINDER_PASSWORD:
HEAT_PASSWORD:

View File

@@ -1,13 +0,0 @@
---
- hosts: nova-compute
become: true
tasks:
- name: include secrets
include_vars:
file: secrets.yml
name: secrets
- command: virsh secret-define --file ceph.xml
- command: >
virsh secret-set-value --secret d0db6ba7-a0c9-4da6-b0bc-aa7846325333
--base64 {{ secrets['ceph_client_volumes_key'] }}

View File

@@ -10,5 +10,3 @@
- subnet_range: 172.23.128.0/24 - subnet_range: 172.23.128.0/24
- rsa_pub: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDStPUPXkcu81onUm/le54JCu174yXJJDsthDr96Mv8irBVBWuy5FxnaASuDpmC4QE4s0UAIg1iq/SWrr8qdBQ4OVuYFiW0S7ZJvcoKr/40Wh+T5MeltGQfmkDp6kBsfaMSo6M4tF1c8i+XgOgxb4fxHYb8mFhseztRLx6McxJJJLB0nu+T12WQ01nl0XtwD+3EsZWfxRH0KA59VHZSe3Anc5z+Fm7WU+1Vzy6/pkiIhVReI1L6VVhZsIdSu3fQK6fHQcujtfuw6RKEpisZQqnxMUviWQ98yeQXHk6Nx840WCh3vvKveEAoC4Y/UEZa1TMe6PczfUaLjaidUkpulJsP egon@egon-pc - rsa_pub: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDStPUPXkcu81onUm/le54JCu174yXJJDsthDr96Mv8irBVBWuy5FxnaASuDpmC4QE4s0UAIg1iq/SWrr8qdBQ4OVuYFiW0S7ZJvcoKr/40Wh+T5MeltGQfmkDp6kBsfaMSo6M4tF1c8i+XgOgxb4fxHYb8mFhseztRLx6McxJJJLB0nu+T12WQ01nl0XtwD+3EsZWfxRH0KA59VHZSe3Anc5z+Fm7WU+1Vzy6/pkiIhVReI1L6VVhZsIdSu3fQK6fHQcujtfuw6RKEpisZQqnxMUviWQ98yeQXHk6Nx840WCh3vvKveEAoC4Y/UEZa1TMe6PczfUaLjaidUkpulJsP egon@egon-pc
- use_ceph: True

View File

@@ -11,5 +11,4 @@
- include: cinder-storage.yml - include: cinder-storage.yml
- include: nova-compute.yml - include: nova-compute.yml
- include: horizon.yml - include: horizon.yml
- include: heat.yml
- include: post-install.yml - include: post-install.yml

View File

@@ -1,48 +1,30 @@
[databases] [databases]
openstack-test05 ansible-test
openstack-test06 ansible-test-2
openstack-test07 ansible-test-3
[keystone] [keystone]
openstack-test05 ansible-test-3
[glance-controller] [glance-controller]
openstack-test05 ansible-test-2
[horizon] [horizon]
openstack-test05 ansible-test-3
[rabbitmq] [rabbitmq]
openstack-test05 ansible-test
openstack-test06 ansible-test-2
openstack-test07 ansible-test-3
[memcached] [memcached]
openstack-test05 ansible-test-3
[neutron-controller] [neutron-controller]
openstack-test05 physical_interface_mappings=provider:enp4s0f0 ansible-test physical_interface_mappings=provider:ens10
[nova-controller] [nova-controller]
openstack-test05 ansible-test
[cinder-controller]
openstack-test05
[heat]
openstack-test05
[cinder-storage]
openstack-test05 storage_volume=/dev/openstack-test05-vg/cinder
openstack-test06 storage_volume=/dev/openstack-test06-vg/cinder
openstack-test07 storage_volume=/dev/openstack-test07-vg/cinder
openstack-test08 storage_volume=/dev/openstack-test08-vg/cinder
openstack-test09 storage_volume=/dev/openstack-test09-vg/cinder
openstack-test10 storage_volume=/dev/openstack-test10-vg/cinder
[nova-compute] [nova-compute]
openstack-test06 physical_interface_mappings=provider:enp4s0f0 ansible-test-2 physical_interface_mappings=provider:ens10
openstack-test07 physical_interface_mappings=provider:enp4s0f0
openstack-test08 physical_interface_mappings=provider:enp4s0f0
openstack-test09 physical_interface_mappings=provider:enp4s0f0
openstack-test10 physical_interface_mappings=provider:enp4s0f0

View File

@@ -1,18 +0,0 @@
---
- hosts: all
name: Dummy to gather facts
become: true
tasks:
- name: install openstack repo key host.
command: apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5EDB1B62EC4926EA
tags: openstackclient
- name: install openstack repo on host.
apt_repository:
repo: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/ocata main"
filename: ocata
tags: openstackclient
- apt:
update_cache: yes