summaryrefslogtreecommitdiffstats
path: root/playbooks
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@suren.me>2018-03-07 07:03:57 +0100
committerSuren A. Chilingaryan <csa@suren.me>2018-03-07 07:03:57 +0100
commit6bc3a3ac71e11fb6459df715536fec373c123a97 (patch)
treec99a4507012fd853ffa2622e35fa26f3bd3804e3 /playbooks
parent69adb23c59e991ddcabf5cfce415fd8b638dbc1a (diff)
downloadands-6bc3a3ac71e11fb6459df715536fec373c123a97.tar.gz
ands-6bc3a3ac71e11fb6459df715536fec373c123a97.tar.bz2
ands-6bc3a3ac71e11fb6459df715536fec373c123a97.tar.xz
ands-6bc3a3ac71e11fb6459df715536fec373c123a97.zip
Streamlined networking, OpenShift recovery, Ganesha
Diffstat (limited to 'playbooks')
-rw-r--r--playbooks/ands-gluster-ganesha.yml16
-rw-r--r--playbooks/ands-gluster-migrate.yml20
-rw-r--r--playbooks/ands-prepare.yml20
-rw-r--r--playbooks/ands-vm-conf.yml5
-rw-r--r--playbooks/maintain.yml10
-rw-r--r--playbooks/openshift-add-etcd.yml13
-rw-r--r--playbooks/openshift-add-gluster.yml18
-rw-r--r--playbooks/openshift-add-masters.yml22
-rw-r--r--playbooks/openshift-add-nodes.yml19
-rw-r--r--playbooks/openshift-install.yml23
-rw-r--r--playbooks/openshift-setup-project.yml2
-rw-r--r--playbooks/openshift-setup-projects.yml16
-rw-r--r--playbooks/openshift-setup-security.yml16
-rw-r--r--playbooks/openshift-setup-storage.yml16
-rw-r--r--playbooks/openshift-setup-users.yml16
-rw-r--r--playbooks/openshift-setup-vpn.yml2
-rw-r--r--playbooks/openshift-setup.yml18
l---------playbooks/reports1
18 files changed, 138 insertions, 115 deletions
diff --git a/playbooks/ands-gluster-ganesha.yml b/playbooks/ands-gluster-ganesha.yml
new file mode 100644
index 0000000..586dd07
--- /dev/null
+++ b/playbooks/ands-gluster-ganesha.yml
@@ -0,0 +1,16 @@
+- name: Common setup procedures
+ hosts: ands
+ roles:
+ - role: ands_facts
+
+
+- name: Configure GlusterFS cluster
+ hosts: masters, new_masters
+ roles:
+ - { role: glusterfs, action: ganesha }
+ - { role: ganesha }
+ vars:
+ glusterfs_network: "{{ ands_storage_network }}"
+ glusterfs_servers: "{{ ands_storage_servers }}"
+ glusterfs_bricks_path: "{{ ands_data_path }}/glusterfs"
+ glusterfs_domains: "{{ ands_storage_domains }}"
diff --git a/playbooks/ands-gluster-migrate.yml b/playbooks/ands-gluster-migrate.yml
new file mode 100644
index 0000000..9ef3f63
--- /dev/null
+++ b/playbooks/ands-gluster-migrate.yml
@@ -0,0 +1,20 @@
+- name: Common setup procedures
+ hosts: ands
+ roles:
+ - role: ands_facts
+
+
+- name: Configure GlusterFS cluster
+ hosts: ands_servers
+ run_once: true
+ roles:
+ - { role: glusterfs, action: migrate }
+ vars:
+ glusterfs_network: "{{ ands_storage_network }}"
+ glusterfs_servers: "{{ ands_storage_servers }}"
+ glusterfs_bricks_path: "{{ ands_data_path }}/glusterfs"
+ glusterfs_domains: "{{ ands_storage_domains }}"
+ glusterfs_migrate_from: "{{ gfs_from }}"
+ glusterfs_migrate_to: "{{ gfs_to }}"
+
+
diff --git a/playbooks/ands-prepare.yml b/playbooks/ands-prepare.yml
index e8c785b..d198ec0 100644
--- a/playbooks/ands-prepare.yml
+++ b/playbooks/ands-prepare.yml
@@ -1,22 +1,28 @@
-- name: Common setup procedures
+- name: Determin Ands facts
hosts: ands
roles:
- role: ands_facts
+
+- name: Prepare virtual hosts
+ hosts: virtual
+ roles:
+ - role: ands_vagrant_vmconf
+
+- name: Common setup procedures
+ hosts: ands
+ roles:
- role: common
- role: firewall
+ - { role: ands_network, action: common }
- name: Keepalived service
- hosts: masters, new_masters
+ hosts: masters
roles:
- role: keepalived
- vars:
- keepalived_vips: "{{ ands_ipfailover_vips | default([]) }}"
- keepalived_iface: "{{ ands_ipfailover_interface | default('eth0') }}"
- keepalived_password: "{{ ands_secrets.keepalived }}"
#OpenVPN started before Origin-node causes problems
#- name: OpenVPN service
-# hosts: nodes
+# hosts: nodes, new_nodes
# roles:
# - role: openvpn
# vars:
diff --git a/playbooks/ands-vm-conf.yml b/playbooks/ands-vm-conf.yml
deleted file mode 100644
index 2b1020b..0000000
--- a/playbooks/ands-vm-conf.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-- name: Common setup procedures
- hosts: ands_servers
- roles:
- - role: ands_vagrant_vmconf
-
diff --git a/playbooks/maintain.yml b/playbooks/maintain.yml
index 3167252..03d6d9a 100644
--- a/playbooks/maintain.yml
+++ b/playbooks/maintain.yml
@@ -1,11 +1,17 @@
+- name: Common setup procedures
+ hosts: ands
+ roles:
+ - role: ands_facts
+ - { role: ands_network, action: maintain }
+
- name: Check cert expirys
hosts: nodes:masters:etcd
become: yes
gather_facts: no
vars:
- openshift_certificate_expiry_save_json_results: yes
+ openshift_certificate_expiry_save_json_results: no
openshift_certificate_expiry_generate_html_report: yes
- openshift_certificate_expiry_html_report_path: ./report
+ openshift_certificate_expiry_html_report_path: reports/certs.html
openshift_certificate_expiry_show_all: yes
roles:
- role: openshift_certificate_expiry
diff --git a/playbooks/openshift-add-etcd.yml b/playbooks/openshift-add-etcd.yml
new file mode 100644
index 0000000..c866f49
--- /dev/null
+++ b/playbooks/openshift-add-etcd.yml
@@ -0,0 +1,13 @@
+- name: Configure cluster hosts names
+ hosts: nodes:new_nodes
+ roles:
+ - { role: ands_facts }
+ - { role: ands_network, action: install_pre }
+
+- import_playbook: ../anslib/openshift-ansible/playbooks/prerequisites.yml
+- import_playbook: ../anslib/openshift-ansible/playbooks/openshift-etcd/scaleup.yml
+
+- name: Configure cluster hosts names
+ hosts: nodes:new_nodes
+ roles:
+ - { role: ands_network, action: install_post }
diff --git a/playbooks/openshift-add-gluster.yml b/playbooks/openshift-add-gluster.yml
new file mode 100644
index 0000000..9495b06
--- /dev/null
+++ b/playbooks/openshift-add-gluster.yml
@@ -0,0 +1,18 @@
+- name: Configure cluster hosts names
+ hosts: nodes:new_nodes
+ roles:
+ - { role: ands_facts }
+ - { role: ands_network, action: install_pre }
+
+- import_playbook: ../anslib/openshift-ansible/playbooks/prerequisites.yml
+
+- import_playbook: ../anslib/openshift-ansible/playbooks/openshift-glusterfs/config.yml
+ vars:
+ openshift_storage_glusterfs_is_missing: False
+ openshift_storage_glusterfs_heketi_is_missing: False
+
+
+- name: Configure cluster hosts names
+ hosts: nodes:new_nodes
+ roles:
+ - { role: ands_network, action: install_post }
diff --git a/playbooks/openshift-add-masters.yml b/playbooks/openshift-add-masters.yml
index bcc1a41..99672d0 100644
--- a/playbooks/openshift-add-masters.yml
+++ b/playbooks/openshift-add-masters.yml
@@ -1,7 +1,25 @@
- name: Configure cluster hosts names
- hosts: nodes
+ hosts: nodes:new_nodes
roles:
- { role: ands_facts }
- - { role: ands_openshift, subrole: hostnames }
+ - { role: common, os_update: true }
+ - { role: ands_network, action: install_pre }
+# etcd will provisioned as well if node is listed in new_etcd
+- import_playbook: ../anslib/openshift-ansible/playbooks/prerequisites.yml
- import_playbook: ../anslib/openshift-ansible/playbooks/openshift-master/scaleup.yml
+
+- import_playbook: ../anslib/openshift-ansible/playbooks/openshift-glusterfs/config.yml
+ vars:
+ openshift_storage_glusterfs_is_missing: False
+ openshift_storage_glusterfs_heketi_is_missing: False
+
+- name: Keepalived service
+ hosts: new_masters
+ roles:
+ - role: keepalived
+
+- name: Configure cluster hosts names
+ hosts: nodes:new_nodes
+ roles:
+ - { role: ands_network, action: install_post }
diff --git a/playbooks/openshift-add-nodes.yml b/playbooks/openshift-add-nodes.yml
index 04a56a8..c788e12 100644
--- a/playbooks/openshift-add-nodes.yml
+++ b/playbooks/openshift-add-nodes.yml
@@ -1,7 +1,22 @@
- name: Configure cluster hosts names
- hosts: nodes
+ hosts: nodes:new_nodes
roles:
- { role: ands_facts }
- - { role: ands_openshift, subrole: hostnames }
+ - { role: common, os_update: true }
+ - { role: ands_network, action: install_pre }
+# I am not sure if etcd will be automatic here. If not, we may need to run etcd scaleup afterwards
+# if node is also in new_etcd list
+- import_playbook: ../anslib/openshift-ansible/playbooks/prerequisites.yml
- import_playbook: ../anslib/openshift-ansible/playbooks/openshift-node/scaleup.yml
+#- import_playbook: ../anslib/openshift-ansible/playbooks/openshift-etcd/scaleup.yml
+
+- import_playbook: ../anslib/openshift-ansible/playbooks/openshift-glusterfs/config.yml
+ vars:
+ openshift_storage_glusterfs_is_missing: False
+ openshift_storage_glusterfs_heketi_is_missing: False
+
+- name: Configure cluster hosts names
+ hosts: nodes:new_nodes
+ roles:
+ - { role: ands_network, action: install_post }
diff --git a/playbooks/openshift-install.yml b/playbooks/openshift-install.yml
index f3a81ea..8d62b1c 100644
--- a/playbooks/openshift-install.yml
+++ b/playbooks/openshift-install.yml
@@ -2,25 +2,12 @@
hosts: nodes
roles:
- { role: ands_facts }
- - { role: ands_openshift, subrole: hostnames }
-
-- name: Temporary provision /etc/hosts with Masters IP.
- hosts: nodes:!masters
- tasks:
- - lineinfile: dest="/etc/hosts" line="{{ ands_openshift_network | ipaddr(node_id) | ipaddr('address') }} {{ ands_openshift_lb }}" regexp=".*{{ ands_openshift_lb }}$" state="present"
- when: (ands_provision_without_dns | default(false))
- vars:
- node_id: "{{ hostvars[groups['masters'][0]]['ands_host_id'] }}"
+ - { role: ands_network, action: install_pre }
- import_playbook: ../anslib/openshift-ansible/playbooks/prerequisites.yml
-
-#- include: ../anslib/openshift-ansible/playbooks/byo/config.yml
-#- include: ../anslib/openshift-ansible/playbooks/deploy_cluster.yml
- import_playbook: ../anslib/openshift-ansible/playbooks/deploy_cluster.yml
-#- import_playbook: openshift-deploy-cluster.yml
-- name: Remove temporary entries in /etc/hosts
- hosts: nodes:!masters
- tasks:
- - lineinfile: dest="/etc/hosts" regexp=".*{{ ands_openshift_lb }}$" state="absent"
- when: (ands_provision_without_dns | default(false))
+- name: Configure cluster hosts names
+ hosts: nodes
+ roles:
+ - { role: ands_network, action: install_post }
diff --git a/playbooks/openshift-setup-project.yml b/playbooks/openshift-setup-project.yml
index ab95933..6150cdf 100644
--- a/playbooks/openshift-setup-project.yml
+++ b/playbooks/openshift-setup-project.yml
@@ -1,4 +1,4 @@
-- name: Configure users & user projects
+- name: Analyze Ands configuration
hosts: masters
roles:
- { role: ands_facts }
diff --git a/playbooks/openshift-setup-projects.yml b/playbooks/openshift-setup-projects.yml
index cc36498..689ecb4 100644
--- a/playbooks/openshift-setup-projects.yml
+++ b/playbooks/openshift-setup-projects.yml
@@ -1,16 +1,8 @@
-- name: Configure users & user projects
+- name: Analyze Ands configuration
hosts: masters
roles:
- { role: ands_facts }
-- name: Temporary provision /etc/hosts with Masters IP.
- hosts: nodes:!masters
- tasks:
- - lineinfile: dest="/etc/hosts" line="{{ ands_openshift_network | ipaddr(node_id) | ipaddr('address') }} {{ ands_openshift_lb }}" regexp=".*{{ ands_openshift_lb }}$" state="present"
- when: (ands_provision_without_dns | default(false))
- vars:
- node_id: "{{ hostvars[groups['masters'][0]]['ands_host_id'] }}"
-
- name: Configure users & user projects
hosts: masters
roles:
@@ -22,9 +14,3 @@
kaas_projects: "{{ ands_openshift_projects.keys() }}"
kaas_openshift_volumes: "{{ ands_openshift_volumes }}"
-
-- name: Remove temporary entries in /etc/hosts
- hosts: nodes:!masters
- tasks:
- - lineinfile: dest="/etc/hosts" regexp=".*{{ ands_openshift_lb }}$" state="absent"
- when: (ands_provision_without_dns | default(false))
diff --git a/playbooks/openshift-setup-security.yml b/playbooks/openshift-setup-security.yml
index 6c85602..f576ba5 100644
--- a/playbooks/openshift-setup-security.yml
+++ b/playbooks/openshift-setup-security.yml
@@ -1,24 +1,10 @@
-- name: Configure users
+- name: Analyze Ands configuration
hosts: masters
roles:
- { role: ands_facts }
-
-- name: Temporary provision /etc/hosts with Masters IP.
- hosts: nodes:!masters
- tasks:
- - lineinfile: dest="/etc/hosts" line="{{ ands_openshift_network | ipaddr(node_id) | ipaddr('address') }} {{ ands_openshift_lb }}" regexp=".*{{ ands_openshift_lb }}$" state="present"
- when: (ands_provision_without_dns | default(false))
- vars:
- node_id: "{{ hostvars[groups['masters'][0]]['ands_host_id'] }}"
-
- name: Configure security
hosts: masters
roles:
- { role: ands_openshift, subrole: security }
-- name: Remove temporary entries in /etc/hosts
- hosts: nodes:!masters
- tasks:
- - lineinfile: dest="/etc/hosts" regexp=".*{{ ands_openshift_lb }}$" state="absent"
- when: (ands_provision_without_dns | default(false))
diff --git a/playbooks/openshift-setup-storage.yml b/playbooks/openshift-setup-storage.yml
index 387b775..64099bc 100644
--- a/playbooks/openshift-setup-storage.yml
+++ b/playbooks/openshift-setup-storage.yml
@@ -1,5 +1,5 @@
---
-- name: Configure GlusterFS storage
+- name: Analyze Ands configuration
hosts: nodes
roles:
- { role: ands_facts }
@@ -15,23 +15,9 @@
glusterfs_domains: "{{ ands_storage_domains }}"
-- name: Temporary provision /etc/hosts with Masters IP.
- hosts: nodes:!masters
- tasks:
- - lineinfile: dest="/etc/hosts" line="{{ ands_openshift_network | ipaddr(node_id) | ipaddr('address') }} {{ ands_openshift_lb }}" regexp=".*{{ ands_openshift_lb }}$" state="present"
- when: (ands_provision_without_dns | default(false))
- vars:
- node_id: "{{ hostvars[groups['masters'][0]]['ands_host_id'] }}"
-
- name: Configure OpenShift volumes
hosts: masters
roles:
- { role: ands_openshift, subrole: storage }
-- name: Remove temporary entries in /etc/hosts
- hosts: nodes:!masters
- tasks:
- - lineinfile: dest="/etc/hosts" regexp=".*{{ ands_openshift_lb }}$" state="absent"
- when: (ands_provision_without_dns | default(false))
-
# we also reconfigure kaas to populate new configs?
diff --git a/playbooks/openshift-setup-users.yml b/playbooks/openshift-setup-users.yml
index d160823..f54a806 100644
--- a/playbooks/openshift-setup-users.yml
+++ b/playbooks/openshift-setup-users.yml
@@ -1,24 +1,10 @@
-- name: Configure users
+- name: Analyze Ands configuration
hosts: masters
roles:
- { role: ands_facts }
-
-- name: Temporary provision /etc/hosts with Masters IP.
- hosts: nodes:!masters
- tasks:
- - lineinfile: dest="/etc/hosts" line="{{ ands_openshift_network | ipaddr(node_id) | ipaddr('address') }} {{ ands_openshift_lb }}" regexp=".*{{ ands_openshift_lb }}$" state="present"
- when: (ands_provision_without_dns | default(false))
- vars:
- node_id: "{{ hostvars[groups['masters'][0]]['ands_host_id'] }}"
-
- name: Configure users
hosts: masters
roles:
- { role: ands_openshift, subrole: users }
-- name: Remove temporary entries in /etc/hosts
- hosts: nodes:!masters
- tasks:
- - lineinfile: dest="/etc/hosts" regexp=".*{{ ands_openshift_lb }}$" state="absent"
- when: (ands_provision_without_dns | default(false))
diff --git a/playbooks/openshift-setup-vpn.yml b/playbooks/openshift-setup-vpn.yml
index be5fe45..c6db977 100644
--- a/playbooks/openshift-setup-vpn.yml
+++ b/playbooks/openshift-setup-vpn.yml
@@ -1,4 +1,4 @@
-- name: Common setup procedures
+- name: Analyze Ands configuration
hosts: ands
roles:
- role: ands_facts
diff --git a/playbooks/openshift-setup.yml b/playbooks/openshift-setup.yml
index 4b98f39..d5675e4 100644
--- a/playbooks/openshift-setup.yml
+++ b/playbooks/openshift-setup.yml
@@ -1,29 +1,13 @@
-- name: Common setup procedures
+- name: Analyze Ands configuration
hosts: ands
roles:
- role: ands_facts
-
-- name: Temporary provision /etc/hosts with Masters IP.
- hosts: nodes:!masters
- tasks:
- - lineinfile: dest="/etc/hosts" line="{{ ands_openshift_network | ipaddr(node_id) | ipaddr('address') }} {{ ands_openshift_lb }}" regexp=".*{{ ands_openshift_lb }}$" state="present"
- when: (ands_provision_without_dns | default(false))
- vars:
- node_id: "{{ hostvars[groups['masters'][0]]['ands_host_id'] }}"
-
- name: Various OpenShift resources
hosts: nodes
roles:
- role: ands_openshift
-- name: Remove temporary entries in /etc/hosts
- hosts: nodes:!masters
- tasks:
- - lineinfile: dest="/etc/hosts" regexp=".*{{ ands_openshift_lb }}$" state="absent"
- when: (ands_provision_without_dns | default(false))
-
-
- name: OpenVPN service
hosts: nodes
roles:
diff --git a/playbooks/reports b/playbooks/reports
new file mode 120000
index 0000000..d5063a5
--- /dev/null
+++ b/playbooks/reports
@@ -0,0 +1 @@
+../reports/ \ No newline at end of file