From 9041a816210132b1dad86217ecfef5f9fec4a8d2 Mon Sep 17 00:00:00 2001 From: Rodolfo Carvalho Date: Fri, 6 Jan 2017 20:53:05 +0100 Subject: Refactor preflight check into roles --- roles/openshift_preflight/masters/library | 1 + roles/openshift_preflight/masters/tasks/main.yml | 47 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 120000 roles/openshift_preflight/masters/library create mode 100644 roles/openshift_preflight/masters/tasks/main.yml (limited to 'roles/openshift_preflight/masters') diff --git a/roles/openshift_preflight/masters/library b/roles/openshift_preflight/masters/library new file mode 120000 index 000000000..ba40d2f56 --- /dev/null +++ b/roles/openshift_preflight/masters/library @@ -0,0 +1 @@ +../../../library \ No newline at end of file diff --git a/roles/openshift_preflight/masters/tasks/main.yml b/roles/openshift_preflight/masters/tasks/main.yml new file mode 100644 index 000000000..ed42f69fa --- /dev/null +++ b/roles/openshift_preflight/masters/tasks/main.yml @@ -0,0 +1,47 @@ +--- +# determine if yum install of master pkgs will work +- when: + - not containerized + block: + + - name: main packages for enterprise + when: + - deployment_type == "openshift-enterprise" + check_yum_update: + packages: + - atomic-openshift + - atomic-openshift-clients + - atomic-openshift-master + register: r + + - set_fact: + oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main packages for enterprise'})] }}" + + - name: main packages for origin + when: + - deployment_type == "origin" + check_yum_update: + packages: + - origin + - origin-clients + - origin-master + register: r + + - set_fact: + oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main packages for origin'})] }}" + + - name: other master packages + check_yum_update: + packages: + - etcd + - bash-completion + - cockpit-bridge + - cockpit-docker + - cockpit-kubernetes + - cockpit-shell + - cockpit-ws + - httpd-tools + register: r + + - set_fact: + oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'other master packages'})] }}" -- cgit v1.2.3 From c4aec0fbd112fd1c8503e935ac954da268a2fdff Mon Sep 17 00:00:00 2001 From: Rodolfo Carvalho Date: Thu, 12 Jan 2017 18:30:24 +0100 Subject: Replace custom variables with openshift_facts Note: on a simple example run of ansible-playbook against a single docker-based host, I saw the execution time jump from 7s to 17s. That's unfortunate, but it is probably better to reuse openshift_facts, than to come up with new variables. --- roles/openshift_preflight/masters/tasks/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'roles/openshift_preflight/masters') diff --git a/roles/openshift_preflight/masters/tasks/main.yml b/roles/openshift_preflight/masters/tasks/main.yml index ed42f69fa..80d7af208 100644 --- a/roles/openshift_preflight/masters/tasks/main.yml +++ b/roles/openshift_preflight/masters/tasks/main.yml @@ -1,7 +1,6 @@ --- # determine if yum install of master pkgs will work -- when: - - not containerized +- when: not openshift.common.is_containerized | bool block: - name: main packages for enterprise -- cgit v1.2.3 From c6febeb11af247f156218542f98f52566cf22931 Mon Sep 17 00:00:00 2001 From: Rodolfo Carvalho Date: Thu, 12 Jan 2017 19:16:03 +0100 Subject: Reduce code duplication using variable We can use openshift_facts's service_type to determine the package names. --- roles/openshift_preflight/masters/tasks/main.yml | 29 ++++++------------------ 1 file changed, 7 insertions(+), 22 deletions(-) (limited to 'roles/openshift_preflight/masters') diff --git a/roles/openshift_preflight/masters/tasks/main.yml b/roles/openshift_preflight/masters/tasks/main.yml index 80d7af208..35fb1e3ca 100644 --- a/roles/openshift_preflight/masters/tasks/main.yml +++ b/roles/openshift_preflight/masters/tasks/main.yml @@ -3,33 +3,18 @@ - when: not openshift.common.is_containerized | bool block: - - name: main packages for enterprise - when: - - deployment_type == "openshift-enterprise" + - name: main master packages availability check_yum_update: packages: - - atomic-openshift - - atomic-openshift-clients - - atomic-openshift-master + - "{{ openshift.common.service_type }}" + - "{{ openshift.common.service_type }}-clients" + - "{{ openshift.common.service_type }}-master" register: r - set_fact: - oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main packages for enterprise'})] }}" + oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main master packages availability'})] }}" - - name: main packages for origin - when: - - deployment_type == "origin" - check_yum_update: - packages: - - origin - - origin-clients - - origin-master - register: r - - - set_fact: - oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'main packages for origin'})] }}" - - - name: other master packages + - name: other master packages availability check_yum_update: packages: - etcd @@ -43,4 +28,4 @@ register: r - set_fact: - oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'other master packages'})] }}" + oo_preflight_check_results: "{{ oo_preflight_check_results + [r|combine({'_task': 'other master packages availability'})] }}" -- cgit v1.2.3 From 43b22a73c43d8975403994b5f085735e1d3786ba Mon Sep 17 00:00:00 2001 From: Rodolfo Carvalho Date: Fri, 13 Jan 2017 10:06:40 +0100 Subject: Move Python modules into role Allow reuse via role dependency. --- roles/openshift_preflight/masters/library | 1 - roles/openshift_preflight/masters/meta/main.yml | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) delete mode 120000 roles/openshift_preflight/masters/library create mode 100644 roles/openshift_preflight/masters/meta/main.yml (limited to 'roles/openshift_preflight/masters') diff --git a/roles/openshift_preflight/masters/library b/roles/openshift_preflight/masters/library deleted file mode 120000 index ba40d2f56..000000000 --- a/roles/openshift_preflight/masters/library +++ /dev/null @@ -1 +0,0 @@ -../../../library \ No newline at end of file diff --git a/roles/openshift_preflight/masters/meta/main.yml b/roles/openshift_preflight/masters/meta/main.yml new file mode 100644 index 000000000..6f23cbf3b --- /dev/null +++ b/roles/openshift_preflight/masters/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - role: openshift_preflight/base -- cgit v1.2.3