7 Commits

Author SHA1 Message Date
Egon Rijpkema
4d95b0ddbd openstack04 added to openstack03 cluster. 2018-10-10 10:44:09 +02:00
Egon Rijpkema
981b1eff63 Better security for machine that runs horizon. 2018-10-03 13:45:54 +02:00
Egon Rijpkema
31e3506d30 Added sane ansible.cfg 2018-10-03 11:50:42 +02:00
Egon Rijpkema
03a619823d This makes a neutron net-list possible
as well as a openstack network list.
2018-07-19 15:01:56 +02:00
Egon Rijpkema
0c605af3ae Check if this role is deployed as part of the cluster
This makes it possible to deploy a galara cluster in one set of hosts
and a separate stand alone mariadb on another host.
2018-05-17 16:12:28 +02:00
Egon Rijpkema
ca6adb44f6 It should be include_playbook
... the replacement for impotrt for static includes, that is....
2018-04-04 11:28:16 +02:00
Egon Rijpkema
c0d50d7444 include is deprecated. 2018-03-22 09:21:22 +01:00
11 changed files with 65 additions and 39 deletions

View File

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

View File

@@ -1,14 +1,14 @@
--- ---
- include: common.yml - import_tasks: common.yml
- include: rabbitmq.yml - import_tasks: rabbitmq.yml
- include: memcached.yml - import_tasks: memcached.yml
- include: mariadb.yml - import_tasks: mariadb.yml
- include: keystone.yml - import_tasks: keystone.yml
- include: glance-controller.yml - import_tasks: glance-controller.yml
- include: nova-controller.yml - import_tasks: nova-controller.yml
- include: neutron-controller.yml - import_tasks: neutron-controller.yml
- include: cinder-controller.yml - import_tasks: cinder-controller.yml
- include: cinder-storage.yml - import_tasks: cinder-storage.yml
- include: nova-compute.yml - import_tasks: nova-compute.yml
- include: horizon.yml - import_tasks: horizon.yml
- include: gcc-post-install.yml - import_tasks: gcc-post-install.yml

2
group_vars/horizon.yml Normal file
View File

@@ -0,0 +1,2 @@
---
security_fail2ban_enabled: false

View File

@@ -6,4 +6,5 @@
- hosts: horizon - hosts: horizon
become: True become: True
roles: roles:
- geerlingguy.security
- horizon - horizon

2
host_vars/openstack03 Normal file
View File

@@ -0,0 +1,2 @@
---
listen_ip: '172.23.40.243'

2
host_vars/openstack04 Normal file
View File

@@ -0,0 +1,2 @@
---
listen_ip: '172.23.40.253'

View File

@@ -27,9 +27,9 @@ openstack03
[cinder-storage] [cinder-storage]
openstack03 storage_volume=/dev/sdb1 openstack03 storage_volume=/dev/sdb1
openstack04 storage_volume=/dev/sdb1
[nova-compute] [nova-compute]
openstack03 physical_interface_mappings=provider:enp4s0f0 openstack03 physical_interface_mappings=provider:enp4s0f0
openstack04 physical_interface_mappings=provider:enp4s0f0
[all:vars]
listen_ip=172.23.40.243

View File

@@ -5,7 +5,7 @@
- name: Passwordless sudo for admins - name: Passwordless sudo for admins
lineinfile: dest=/etc/sudoers line="%admin ALL=(ALL:ALL) NOPASSWD:ALL" lineinfile: dest=/etc/sudoers line="%admin ALL=(ALL:ALL) NOPASSWD:ALL"
- include: users.yml - import_tasks: users.yml
- name: common | install packages - name: common | install packages
apt: pkg={{ item }} state=latest update_cache=yes apt: pkg={{ item }} state=latest update_cache=yes
@@ -26,4 +26,4 @@
owner: root owner: root
group: root group: root
- include: docker.yml - import_tasks: docker.yml

View File

@@ -1,3 +1,5 @@
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

@@ -21,12 +21,14 @@
dest: /srv/mariadb/etc/mysql/conf.d/my.cnf dest: /srv/mariadb/etc/mysql/conf.d/my.cnf
mode: 660 mode: 660
- name: Set galara.cnf on node if we have at least three nodes. - name: >
Set galara.cnf on node if we have at least three nodes.
And we're part of the cluster.
template: template:
src: files/galera.cnf src: files/galera.cnf
dest: /srv/mariadb/etc/mysql/conf.d/galera.cnf dest: /srv/mariadb/etc/mysql/conf.d/galera.cnf
mode: 660 mode: 660
when: groups['databases'] | length >= 3 when: "'databases' in group_names and groups['databases'] | length >= 3"
# This mimics galera_new_cluster.sh # This mimics galera_new_cluster.sh
- name: Initialize a new cluster. - name: Initialize a new cluster.
@@ -47,7 +49,8 @@
name: mysql.service name: mysql.service
state: started state: started
when: groups['databases'] | length >= 3 and ansible_hostname == hostname_node0 when: "'databases' in group_names and groups['databases'] \
| length >= 3 and ansible_hostname == hostname_node0"
- name: install service file. - name: install service file.
block: block:
@@ -61,12 +64,22 @@
group: root group: root
- name: Give the master node some time to initialize the cluster. - name: Give the master node some time to initialize the cluster.
command: bash -c "sleep 60 && systemctl daemon-reload" command: bash -c "sleep 60"
when: "'databases' in group_names and groups['databases'] \
| length >= 3"
- name: Daemon reload (the implicit doesn't work)
command: bash -c "systemctl daemon-reload"
- name: make sure service is started - name: make sure service is started
systemd: systemd:
name: mysql.service name: mysql.service
state: started state: started
daemon_reload: yes
- 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: "'databases' in group_names and groups['databases'] | length >= 3"

View File

@@ -1,15 +1,15 @@
--- ---
- include: common.yml - import_playbook: common.yml
- include: rabbitmq.yml - import_playbook: rabbitmq.yml
- include: memcached.yml - import_playbook: memcached.yml
- include: mariadb.yml - import_playbook: mariadb.yml
- include: keystone.yml - import_playbook: keystone.yml
- include: glance-controller.yml - import_playbook: glance-controller.yml
- include: nova-controller.yml - import_playbook: nova-controller.yml
- include: neutron-controller.yml - import_playbook: neutron-controller.yml
- include: cinder-controller.yml - import_playbook: cinder-controller.yml
- include: cinder-storage.yml - import_playbook: cinder-storage.yml
- include: nova-compute.yml - import_playbook: nova-compute.yml
- include: horizon.yml - import_playbook: horizon.yml
- include: heat.yml - import_playbook: heat.yml
- include: post-install.yml - import_playbook: post-install.yml