From f3741a05097f1848d2b3e9a01f03e76a33487e01 Mon Sep 17 00:00:00 2001 From: Tim Bielawa Date: Mon, 9 Oct 2017 16:14:38 -0400 Subject: Management Cleanup and Provider Integration * Add container provider integration * General cleanup * Poll until service fully starts * Add notes on multiple-provider additions --- playbooks/byo/openshift-management/add_container_provider.yml | 6 ++++++ playbooks/byo/openshift-management/uninstall.yml | 2 -- 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 playbooks/byo/openshift-management/add_container_provider.yml (limited to 'playbooks/byo') diff --git a/playbooks/byo/openshift-management/add_container_provider.yml b/playbooks/byo/openshift-management/add_container_provider.yml new file mode 100644 index 000000000..3378b5abd --- /dev/null +++ b/playbooks/byo/openshift-management/add_container_provider.yml @@ -0,0 +1,6 @@ +--- +- include: ../openshift-cluster/initialize_groups.yml + +- include: ../../common/openshift-cluster/evaluate_groups.yml + +- include: ../../common/openshift-management/add_container_provider.yml diff --git a/playbooks/byo/openshift-management/uninstall.yml b/playbooks/byo/openshift-management/uninstall.yml index a1fb1cdc4..e95c1c88a 100644 --- a/playbooks/byo/openshift-management/uninstall.yml +++ b/playbooks/byo/openshift-management/uninstall.yml @@ -1,4 +1,2 @@ --- -# - include: ../openshift-cluster/initialize_groups.yml - - include: ../../common/openshift-management/uninstall.yml -- cgit v1.2.3 From 6c3a0373e1a48f730e9a279a255c0f1a58613cc7 Mon Sep 17 00:00:00 2001 From: Andrew Butcher Date: Fri, 20 Oct 2017 15:44:11 -0400 Subject: Move add_many_container_providers.yml to playbooks/byo/openshift-management with a noop task include to load filter plugins. --- .../add_many_container_providers.yml | 46 ++++++++++++++++++++++ playbooks/byo/openshift-management/roles | 1 + roles/openshift_management/README.md | 2 +- .../tasks/add_many_container_providers.yml | 41 ------------------- roles/openshift_management/tasks/noop.yml | 1 + 5 files changed, 49 insertions(+), 42 deletions(-) create mode 100644 playbooks/byo/openshift-management/add_many_container_providers.yml create mode 120000 playbooks/byo/openshift-management/roles delete mode 100644 roles/openshift_management/tasks/add_many_container_providers.yml create mode 100644 roles/openshift_management/tasks/noop.yml (limited to 'playbooks/byo') diff --git a/playbooks/byo/openshift-management/add_many_container_providers.yml b/playbooks/byo/openshift-management/add_many_container_providers.yml new file mode 100644 index 000000000..3ab20b94c --- /dev/null +++ b/playbooks/byo/openshift-management/add_many_container_providers.yml @@ -0,0 +1,46 @@ +--- +- hosts: localhost + tasks: + - name: Ensure the container provider configuration is defined + assert: + that: container_providers_config is defined + msg: | + Error: Must provide providers config path. Fix: Add '-e container_providers_config=/path/to/your/config' to the ansible-playbook command + + - name: Include providers/management configuration + include_vars: + file: "{{ container_providers_config }}" + + - name: Ensure this cluster is a container provider + uri: + url: "https://{{ management_server['hostname'] }}/api/providers" + body_format: json + method: POST + user: "{{ management_server['user'] }}" + password: "{{ management_server['password'] }}" + validate_certs: no + # Docs on formatting the BODY of the POST request: + # http://manageiq.org/docs/reference/latest/api/reference/providers.html#specifying-connection-configurations + body: "{{ item }}" + failed_when: false + with_items: "{{ container_providers }}" + register: results + + # TODO: Make this prettier and easier to read + - name: Save results + copy: + dest: /tmp/results.json + content: "{{ results.results | to_nice_json }}" + # state: present + # debug: + # var: item.item + # with_items: "{{ results.results }}" + + # Include openshift_management for access to filter_plugins. + - include_role: + name: openshift_management + tasks_from: noop + + - name: print each result + debug: + msg: "{{ results.results | oo_filter_container_providers }}" diff --git a/playbooks/byo/openshift-management/roles b/playbooks/byo/openshift-management/roles new file mode 120000 index 000000000..20c4c58cf --- /dev/null +++ b/playbooks/byo/openshift-management/roles @@ -0,0 +1 @@ +../../../roles \ No newline at end of file diff --git a/roles/openshift_management/README.md b/roles/openshift_management/README.md index 817ad4daa..05ca27913 100644 --- a/roles/openshift_management/README.md +++ b/roles/openshift_management/README.md @@ -549,7 +549,7 @@ the config file path. ``` $ ansible-playbook -v -e container_providers_config=/tmp/cp.yml \ - roles/openshift_management/tasks/add_many_container_providers.yml + playbooks/byo/openshift-management/add_many_container_providers.yml ``` Afterwards you will find two new container providers in your diff --git a/roles/openshift_management/tasks/add_many_container_providers.yml b/roles/openshift_management/tasks/add_many_container_providers.yml deleted file mode 100644 index 10a1f4c83..000000000 --- a/roles/openshift_management/tasks/add_many_container_providers.yml +++ /dev/null @@ -1,41 +0,0 @@ ---- -- hosts: localhost - tasks: - - name: Ensure the container provider configuration is defined - assert: - that: container_providers_config is defined - msg: | - Error: Must provide providers config path. Fix: Add '-e container_providers_config=/path/to/your/config' to the ansible-playbook command - - - name: Include providers/management configuration - include_vars: - file: "{{ container_providers_config }}" - - - name: Ensure this cluster is a container provider - uri: - url: "https://{{ management_server['hostname'] }}/api/providers" - body_format: json - method: POST - user: "{{ management_server['user'] }}" - password: "{{ management_server['password'] }}" - validate_certs: no - # Docs on formatting the BODY of the POST request: - # http://manageiq.org/docs/reference/latest/api/reference/providers.html#specifying-connection-configurations - body: "{{ item }}" - failed_when: false - with_items: "{{ container_providers }}" - register: results - - # TODO: Make this prettier and easier to read - - name: Save results - copy: - dest: /tmp/results.json - content: "{{ results.results | to_nice_json }}" - # state: present - # debug: - # var: item.item - # with_items: "{{ results.results }}" - - - name: print each result - debug: - msg: "{{ results.results | oo_filter_container_providers }}" diff --git a/roles/openshift_management/tasks/noop.yml b/roles/openshift_management/tasks/noop.yml new file mode 100644 index 000000000..ed97d539c --- /dev/null +++ b/roles/openshift_management/tasks/noop.yml @@ -0,0 +1 @@ +--- -- cgit v1.2.3 From ac62ea0066934877f94e99bda6ec53a9c03ababb Mon Sep 17 00:00:00 2001 From: Tim Bielawa Date: Fri, 20 Oct 2017 16:17:41 -0400 Subject: Fix lint --- .../byo/openshift-management/add_many_container_providers.yml | 10 ---------- .../filter_plugins/oo_management_filters.py | 9 +++++++-- 2 files changed, 7 insertions(+), 12 deletions(-) (limited to 'playbooks/byo') diff --git a/playbooks/byo/openshift-management/add_many_container_providers.yml b/playbooks/byo/openshift-management/add_many_container_providers.yml index 3ab20b94c..62fdb11c5 100644 --- a/playbooks/byo/openshift-management/add_many_container_providers.yml +++ b/playbooks/byo/openshift-management/add_many_container_providers.yml @@ -26,16 +26,6 @@ with_items: "{{ container_providers }}" register: results - # TODO: Make this prettier and easier to read - - name: Save results - copy: - dest: /tmp/results.json - content: "{{ results.results | to_nice_json }}" - # state: present - # debug: - # var: item.item - # with_items: "{{ results.results }}" - # Include openshift_management for access to filter_plugins. - include_role: name: openshift_management diff --git a/roles/openshift_management/filter_plugins/oo_management_filters.py b/roles/openshift_management/filter_plugins/oo_management_filters.py index 06bc0796d..3b7013d9a 100644 --- a/roles/openshift_management/filter_plugins/oo_management_filters.py +++ b/roles/openshift_management/filter_plugins/oo_management_filters.py @@ -1,5 +1,9 @@ #!/usr/bin/python # -*- coding: utf-8 -*- +""" +Filter methods for the management role +""" + def oo_filter_container_providers(results): """results - the result from posting the API calls for adding new @@ -8,14 +12,15 @@ providers""" for result in results: if 'results' in result['json']: # We got an OK response - r = result['json']['results'][0] - all_results.append("Provider '{}' - Added successfully".format(r['name'])) + res = result['json']['results'][0] + all_results.append("Provider '{}' - Added successfully".format(res['name'])) elif 'error' in result['json']: # This was a problem all_results.append("Provider '{}' - Failed to add. Message: {}".format( result['item']['name'], result['json']['error']['message'])) return all_results + class FilterModule(object): """ Custom ansible filter mapping """ -- cgit v1.2.3