summaryrefslogtreecommitdiffstats
path: root/deployment/playbooks/cns-node-setup.yaml
diff options
context:
space:
mode:
authorValerii Ponomarov <vponomar@redhat.com>2019-02-07 02:08:23 +0530
committerValerii Ponomarov <vponomar@redhat.com>2019-02-07 02:36:02 +0530
commit25fcd9c5aa4c360eff19ef08fc4e2bdff6147ffd (patch)
tree544cf09479861ee7c434a7f9ece19167c14ddf35 /deployment/playbooks/cns-node-setup.yaml
parenta6c7dead0d6ddad4dae93a4292891617b50b44a0 (diff)
Add end-to-end OCP 'deployment' functionality
Add end-to-end deployment tool of OpenShift and OpenShift Container Storage on top of VMWare. Added code is modified version of the 'reference-architecture/vmware-ansible' dir from the following repo: https://github.com/vponomaryov/openshift-ansible-contrib Read 'deployment/README.rst' file for more details about the deployment tool. Change-Id: Ic96f252ff786cc1ecf24d27f0ec47e324131e41b
Diffstat (limited to 'deployment/playbooks/cns-node-setup.yaml')
-rw-r--r--deployment/playbooks/cns-node-setup.yaml76
1 files changed, 76 insertions, 0 deletions
diff --git a/deployment/playbooks/cns-node-setup.yaml b/deployment/playbooks/cns-node-setup.yaml
new file mode 100644
index 00000000..fb699625
--- /dev/null
+++ b/deployment/playbooks/cns-node-setup.yaml
@@ -0,0 +1,76 @@
+---
+- hosts: cns
+ gather_facts: yes
+ become: no
+ vars_files:
+ - vars/main.yaml
+ roles:
+ - setup-custom-domain-names
+ - instance-groups
+ - package-repos
+ - vmware-guest-setup
+ - cloud-provider-setup
+ - docker-storage-setup
+ - openshift-volume-quota
+ - gluster-ports
+
+# 'openshift_node_groups' var started being required since OCP3.10
+- hosts: allnodes
+ gather_facts: no
+ become: no
+ tasks:
+ - set_fact:
+ openshift_node_groups:
+ - name: node-config-master
+ labels:
+ - 'node-role.kubernetes.io/master=true'
+ - 'role=master'
+ edits: []
+ - name: node-config-compute
+ labels:
+ - 'node-role.kubernetes.io/compute=true'
+ - 'node-role.kubernetes.io/infra=true'
+ - 'role=compute'
+ edits: []
+ - name: node-config-storage
+ labels:
+ - 'node-role.kubernetes.io/storage=true'
+ - 'role=storage'
+ edits: []
+
+- include: add-node-prerequisite.yaml
+ when: openshift_vers in ['v3_6', 'v3_7']
+
+- include: "{{ (openshift_vers in ['v3_6', 'v3_7']) | ternary(
+ 'noop.yaml',
+ lookup('env', 'VIRTUAL_ENV') +
+ '/usr/share/ansible/openshift-ansible/playbooks/prerequisites.yml'
+ ) }} hosts=new_nodes"
+ when: openshift_vers not in ['v3_6', 'v3_7']
+
+- include: "{{ (openshift_vers in ['v3_6', 'v3_7']) | ternary(
+ 'noop.yaml',
+ lookup('env', 'VIRTUAL_ENV') +
+ '/usr/share/ansible/openshift-ansible/playbooks/init/main.yml'
+ ) }} hosts=new_nodes"
+ when: openshift_vers not in ['v3_6', 'v3_7']
+
+- name: Map domain names and IP addresses of old and new nodes to each other
+ hosts: master, compute, crs
+ vars_files:
+ - vars/main.yaml
+ roles:
+ - setup-custom-domain-names
+
+- hosts: allnodes
+ gather_facts: no
+ become: no
+ tasks:
+ - name: Make sure dnsmasq is running, enabled and restarted
+ service: name=dnsmasq state=restarted enabled=yes
+
+- hosts: localhost
+ gather_facts: no
+ become: no
+ roles:
+ - yum-update-and-reboot