From 68fb23db0b324248f2115472f96377873a3f5922 Mon Sep 17 00:00:00 2001 From: kksat <22549266+kksat@users.noreply.github.com> Date: Mon, 6 May 2024 13:05:16 +0000 Subject: [PATCH] Release main-1.17.0 Signed-off-by: kksat <22549266+kksat@users.noreply.github.com> --- CHANGELOG.rst | 16 +- README.md | 4 +- galaxy.yml | 47 +++- meta/runtime.yml | 2 +- plugins/action/__init__.py | 0 plugins/modules/host_info.py | 21 +- roles/cloudconnector/README.md | 238 ------------------ roles/cloudconnector/defaults/main.yml | 43 ---- roles/cloudconnector/meta/argument_specs.yml | 165 ------------ roles/cloudconnector/meta/main.yml | 42 ---- roles/cloudconnector/tasks/absent.yml | 25 -- .../cloudconnector/tasks/install-portable.yml | 38 --- roles/cloudconnector/tasks/install-rpm.yml | 47 ---- roles/cloudconnector/tasks/main.yml | 36 --- roles/cloudconnector/tasks/present.yml | 43 ---- .../cloudconnector/tasks/remove-portable.yml | 26 -- roles/cloudconnector/tasks/remove-rpm.yml | 26 -- roles/cloudconnector/vars/main.yml | 69 ----- roles/unpack/tasks/main.yml | 2 +- 19 files changed, 76 insertions(+), 814 deletions(-) create mode 100644 plugins/action/__init__.py delete mode 100644 roles/cloudconnector/README.md delete mode 100644 roles/cloudconnector/defaults/main.yml delete mode 100644 roles/cloudconnector/meta/argument_specs.yml delete mode 100644 roles/cloudconnector/meta/main.yml delete mode 100644 roles/cloudconnector/tasks/absent.yml delete mode 100644 roles/cloudconnector/tasks/install-portable.yml delete mode 100644 roles/cloudconnector/tasks/install-rpm.yml delete mode 100644 roles/cloudconnector/tasks/main.yml delete mode 100644 roles/cloudconnector/tasks/present.yml delete mode 100644 roles/cloudconnector/tasks/remove-portable.yml delete mode 100644 roles/cloudconnector/tasks/remove-rpm.yml delete mode 100644 roles/cloudconnector/vars/main.yml diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 8d02606..1358171 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,6 +4,18 @@ SAP Operations Collection Release Notes .. contents:: Topics +v1.17.0 +======= + +Release Summary +--------------- + +Lifecycle release + +Major Changes +------------- + +- Minimum ansible-core version supported is 2.15 v1.16.1 ======= @@ -228,7 +240,6 @@ Release Summary Two roles are added `hana_update` and `prepare` - Major Changes ------------- @@ -248,7 +259,6 @@ Release Summary Using changelog fragments to build collection changelog. - Minor Changes ------------- @@ -263,7 +273,6 @@ Release Summary First release of SAP Operations collection. - Major Changes ------------- @@ -281,7 +290,6 @@ Release Summary First release of SAP Operations collection. - Major Changes ------------- diff --git a/README.md b/README.md index 8bf185e..64f854a 100644 --- a/README.md +++ b/README.md @@ -47,10 +47,10 @@ Please see documentation for role `prepare`. Ansible collection is designed to work with following Ansible versions (on controller host) -ansible-core 2.14 - ansible-core 2.15 +ansible-core 2.16 + ### Python Ansible collection is designed to work with following python versions on controller host diff --git a/galaxy.yml b/galaxy.yml index 70c00ff..a419599 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -24,7 +24,7 @@ namespace: sap name: sap_operations -version: 1.16.1 +version: 1.17.0 readme: README.md @@ -132,5 +132,50 @@ build_ignore: - README-aap.md - roles/sapjvm/ + - roles/cloudconnector/* - plugins/modules/proc_info.py + - plugins/action/cf_marketplace_info.py + - plugins/modules/cf_marketplace_info.py + - plugins/action/cf_service_instance.py + - plugins/modules/cf_service_instance.py + - plugins/action/cf_service_instance_info.py + - plugins/modules/cf_service_instance_info.py + - plugins/action/cf_service_instances_info.py + - plugins/modules/cf_service_instances_info.py + - plugins/action/cf_service_plans_info.py + - plugins/modules/cf_service_plans_info.py + - plugins/action/cf_spaces_info.py + - plugins/modules/cf_spaces_info.py + + - meta/runtime-aap.yml + - meta/runtime-galaxy.yml + + - plugins/action/cf_service_instance_keys_info.py + - plugins/modules/cf_service_instance_keys_info.py + + - plugins/action/cf_service_instance_key.py + - plugins/modules/cf_service_instance_key.py + + - plugins/action/btp_global_account_info.py + - plugins/modules/btp_global_account_info.py + + - plugins/action/btp_subaccount.py + - plugins/modules/btp_subaccount.py + - plugins/action/btp_subaccounts_info.py + - plugins/modules/btp_subaccounts_info.py + - plugins/action/btp_global_account_assignments_info.py + - plugins/modules/btp_global_account_assignments_info.py + - plugins/doc_fragments/sap_btp_action_plugin.py + - plugins/doc_fragments/cloud_foundry.py + - plugins/doc_fragments/action_plugin.py + - playbooks/sample_test_sap_btp.yml + + - roles/quality/* + - roles/powershell/* + + - plugins/modules/enq_admin_info.py + - plugins/modules/enq_admin_locks_info.py + - plugins/modules/enq_admin_lock.py + - plugins/doc_fragments/enq_admin.py + - plugins/module_utils/enq_admin.py diff --git a/meta/runtime.yml b/meta/runtime.yml index b576238..1462140 100644 --- a/meta/runtime.yml +++ b/meta/runtime.yml @@ -20,4 +20,4 @@ # If not, see . --- -requires_ansible: ">=2.14.0" +requires_ansible: ">=2.15.0" diff --git a/plugins/action/__init__.py b/plugins/action/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/plugins/modules/host_info.py b/plugins/modules/host_info.py index 04f1ef0..fe9cb7c 100644 --- a/plugins/modules/host_info.py +++ b/plugins/modules/host_info.py @@ -1296,14 +1296,21 @@ def main(): module = AnsibleModuleSAPHostAgent(argument_spec={}, supports_check_mode=True) + try: + m = saphostctrl( + hostname=module.params.get("hostname"), + username=module.params.get("username"), + password=module.params.get("password"), + ca_file=module.params.get("ca_file"), + security=module.params.get("security"), + ) + except FileNotFoundError: + module.exit_json( + msg="No saphost agent installed", + instances=[], + databases=[], + ) - m = saphostctrl( - hostname=module.params.get("hostname"), - username=module.params.get("username"), - password=module.params.get("password"), - ca_file=module.params.get("ca_file"), - security=module.params.get("security"), - ) try: instances = convert2ansible(m.client.service.ListInstances()) for instance in instances: diff --git a/roles/cloudconnector/README.md b/roles/cloudconnector/README.md deleted file mode 100644 index b8edc1d..0000000 --- a/roles/cloudconnector/README.md +++ /dev/null @@ -1,238 +0,0 @@ - - -# cloudconnector - -Role to manage SAP cloud connector - - -Role to manage SAP cloud connector -Role will download necessary binaries from tools.hana.ondemand.com -Role can install both rpm and portable versions of SAP Cloud Connector, see role documentation -Portable version is installed via copy of downloaded archive content, removed via removing installation directory -RPM version installation requires root access -Cloud connector requires SAP JVM to be installed, see SAP documentation. -SAP JVM can be installed with role sap.sap_operations.sapjvm -Role will use ansible_facts to determine current host os system and architecture to download correct binaries -By using this role and downloading SAP software from tools.hana.ondemand.com you accept SAP developer license agreement -One can find more details on tools.hana.ondemand.com - - - -## Role Variables - -### Required parameters: - - -- [cloudconnector_version](#cloudconnector_version) - - -#### cloudconnector_version - - -_Type:_ `str` - - -_Required:_ `True` -_Description:_ -Cloud connector version - - - -#### cloudconnector_state - - -_Type:_ `str` - - -_Required:_ `False` -_Choices:_ -- present -- absent -_Description:_ -SAP cloud connector state - - - -#### cloudconnector_download_filename - - -_Type:_ `str` - - -_Required:_ `False` -_Description:_ -Filename of downloaded SAP cloud connector binaries, -By default Filename is sapcc-{{ cloudconnector_version }}-{{ cloudconnector_system }}-{{ cloudconnector_architecture }}.{{ cloudconnector_archive_extension }} -See definition of variables in defaults/main.yml and vars/main.yml - - - -#### cloudconnector_download_filepath - - -_Type:_ `str` - - -_Required:_ `False` -_Description:_ -Complete path to file where SAP cloud connector binary will be downloaded -by default is {{ cloudconnector_download_destination }}/{{ cloudconnector_download_filename }}, see other variables -If this is set it will overwrite cloudconnector_download_destination and cloudconnector_download_filename variable values - - - -#### cloudconnector_download_timeout_seconds - - -_Type:_ `int` - -_Default:_ `3600` - -_Required:_ `False` -_Description:_ -Timeout set for download SAP cloud connector task - - - -#### cloudconnector_portable_install_destination - - -_Type:_ `path` - -_Default:_ `/opt/sap/scc` - -_Required:_ `False` -_Description:_ -Folder where SAP cloud connector binary will be installed, only relevant for portable installations - - - -#### cloudconnector_architecture - - -_Type:_ `str` - - -_Required:_ `False` -_Choices:_ -- x64 -- ppc64le -- aarch64 -_Description:_ -Cloud connector architecture -If not specified, it will be detected automatically using ansible_facts['architecture'] -No need to collect facts before running this role. It will be done automatically. -If ansible_facts['architecture'] is not defined, default value C(x64) will be used. - - - - -#### cloudconnector_download_destination - - -_Type:_ `str` - -_Default:_ `/tmp` - -_Required:_ `False` -_Description:_ -Cloud connector download destination - - - -#### cloudconnector_unpack_destination - - -_Type:_ `str` - -_Default:_ `/tmp/cloudconnector_unpacked` - -_Required:_ `False` -_Description:_ -Cloud connector unpack destination - - - -#### cloudconnector_system - - -_Type:_ `str` - -_Default:_ `linux` - -_Required:_ `False` -_Choices:_ -- linux -- darwin -_Description:_ -Cloud connector OS system -If not specified, it will be detected automatically using ansible_facts['system'] -No need to collect facts before running this role. It will be done automatically. -If ansible_facts['system'] is not defined, default value C(linux) will be used. - - - - -#### cloudconnector_portable - - -_Type:_ `bool` - -_Default:_ `False` - -_Required:_ `False` -_Description:_ -Bool to define if cloud connector should be installed in portable mode - - - - -## Limitations - -None - -## Dependencies - -Role has no dependencies to other roles. - -## Example Playbooks - -```ansible -- hosts: all - tasks: - - name: Make sure that portable cloud connector present - ansible.builtin.include_role: - name: sap.sap_operations.cloudconnector - vars: - cloudconnector_version: 2.16.2 - cloudconnector_portable: false -``` - -## License - -GPL-3.0-only - -## Author Information - -Kirill Satarin (@kksat) diff --git a/roles/cloudconnector/defaults/main.yml b/roles/cloudconnector/defaults/main.yml deleted file mode 100644 index 36e4547..0000000 --- a/roles/cloudconnector/defaults/main.yml +++ /dev/null @@ -1,43 +0,0 @@ ---- -# SPDX-License-Identifier: GPL-3.0-only -# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere -# -# Copyright 2023 Red Hat, Project Atmosphere -# -# This program is free software: you can redistribute it and/or modify it under the terms of the GNU -# General Public License as published by the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# You should have received a copy of the GNU General Public License along with this program. -# If not, see . - -cloudconnector_state: present - -cloudconnector_download_filename: "{{ cloudconnector_url_filename }}" - -cloudconnector_download_destination: /tmp/cloudconnector - -cloudconnector_download_filepath: "{{ cloudconnector_download_destination }}/{{ cloudconnector_download_filename }}" - -cloudconnector_download_timeout_seconds: 3600 - -cloudconnector_version: "{{ (cloudconnector_state == 'absent') | ansible.builtin.ternary('absent', '') }}" - -cloudconnector_unpack_destination: /tmp/cloudconnector_unpacked - -cloudconnector_portable_install_destination: /opt/sap/scc - -cloudconnector_system: "{{ (ansible_system | default('linux')) | lower }}" - -cloudconnector_architecture: "{{ cloudconnector_architecture_mapping[ansible_architecture | default('x86_64')] }}" - -cloudconnector_portable: false diff --git a/roles/cloudconnector/meta/argument_specs.yml b/roles/cloudconnector/meta/argument_specs.yml deleted file mode 100644 index 5666e45..0000000 --- a/roles/cloudconnector/meta/argument_specs.yml +++ /dev/null @@ -1,165 +0,0 @@ ---- -# SPDX-License-Identifier: GPL-3.0-only -# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere -# -# Copyright 2023 Red Hat, Project Atmosphere -# -# This program is free software: you can redistribute it and/or modify it under the terms of the GNU -# General Public License as published by the Free Software Foundation, version 3 of the License. -# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# You should have received a copy of the GNU General Public License along with this program. -# If not, see . - -argument_specs: - main: - short_description: Role to manage SAP cloud connector - description: - - Role to manage SAP cloud connector - - Role will download necessary binaries from tools.hana.ondemand.com - - Role can install both rpm and portable versions of SAP Cloud Connector, see role documentation - - Portable version is installed via copy of downloaded archive content, removed via removing installation directory - - RPM version installation requires root access - - Cloud connector requires SAP JVM to be installed, see SAP documentation. - - SAP JVM can be installed with role sap.sap_operations.sapjvm - - Role will use ansible_facts to determine current host os system and architecture to download correct binaries - - By using this role and downloading SAP software from tools.hana.ondemand.com you accept SAP developer license agreement - - One can find more details on tools.hana.ondemand.com - - options: - cloudconnector_state: - description: SAP cloud connector state - type: str - required: false - choices: - - present - - absent - - cloudconnector_download_filename: - description: - - Filename of downloaded SAP cloud connector binaries, - - >- - By default Filename is - {% raw %} - sapcc-{{ cloudconnector_version }}-{{ cloudconnector_system }}-{{ cloudconnector_architecture }}.{{ cloudconnector_archive_extension }} - {% endraw %} - - See definition of variables in defaults/main.yml and vars/main.yml - type: str - required: false - - cloudconnector_download_filepath: - description: - - Complete path to file where SAP cloud connector binary will be downloaded - - by default is {% raw %}{{ cloudconnector_download_destination }}/{{ cloudconnector_download_filename }}{% endraw %}, see other variables - - If this is set it will overwrite cloudconnector_download_destination and cloudconnector_download_filename variable values - type: str - required: false - - cloudconnector_download_timeout_seconds: - description: Timeout set for download SAP cloud connector task - type: int - required: false - default: 3600 - - cloudconnector_portable_install_destination: - description: Folder where SAP cloud connector binary will be installed, only relevant for portable installations - type: path - required: false - default: /opt/sap/scc - - cloudconnector_architecture: - description: | - Cloud connector architecture - If not specified, it will be detected automatically using ansible_facts['architecture'] - No need to collect facts before running this role. It will be done automatically. - If ansible_facts['architecture'] is not defined, default value C(x64) will be used. - type: str - required: false - choices: - - x64 - - ppc64le - - aarch64 - - cloudconnector_version: - description: Cloud connector version - type: str - required: true - - cloudconnector_download_destination: - description: Cloud connector download destination - type: str - required: false - default: /tmp - - cloudconnector_unpack_destination: - description: Cloud connector unpack destination - type: str - required: false - default: /tmp/cloudconnector_unpacked - - cloudconnector_system: - description: | - Cloud connector OS system - If not specified, it will be detected automatically using ansible_facts['system'] - No need to collect facts before running this role. It will be done automatically. - If ansible_facts['system'] is not defined, default value C(linux) will be used. - type: str - required: false - default: linux - choices: - - linux - - darwin - - cloudconnector_portable: - description: Bool to define if cloud connector should be installed in portable mode - type: bool - required: false - default: false - - __limitations__: - options: {} - short_description: Limitations - description: - - None - - __dependencies__: - options: {} - short_description: Dependencies - description: - - Role has no dependencies to other roles. - - __examples__: - options: {} - short_description: Example Playbooks - description: - - "```ansible" - - "- hosts: all" - - " tasks:" - - " - name: Make sure that portable cloud connector present" - - " ansible.builtin.include_role:" - - " name: sap.sap_operations.cloudconnector" - - " vars:" - - " cloudconnector_version: 2.16.2" - - " cloudconnector_portable: false" - - "```" - - __license__: - options: {} - short_description: License - description: - - GPL-3.0-only - - __author__: - options: {} - short_description: Author Information - description: - - Kirill Satarin (@kksat) diff --git a/roles/cloudconnector/meta/main.yml b/roles/cloudconnector/meta/main.yml deleted file mode 100644 index dcf652d..0000000 --- a/roles/cloudconnector/meta/main.yml +++ /dev/null @@ -1,42 +0,0 @@ ---- -# SPDX-License-Identifier: GPL-3.0-only -# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere -# -# Copyright 2023 Red Hat, Project Atmosphere -# -# This program is free software: you can redistribute it and/or modify it under the terms of the GNU -# General Public License as published by the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# You should have received a copy of the GNU General Public License along with this program. -# If not, see . - -galaxy_info: - - author: Kirill Satarin (@kksat) - - description: Manage SAP Cloud Connector - - license: GPL-3.0-only - - min_ansible_version: "2.14" - - platforms: - - name: EL - versions: - - "7" - - "8" - - "9" - - galaxy_tags: [] - -dependencies: [] diff --git a/roles/cloudconnector/tasks/absent.yml b/roles/cloudconnector/tasks/absent.yml deleted file mode 100644 index 6a7438d..0000000 --- a/roles/cloudconnector/tasks/absent.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# SPDX-License-Identifier: GPL-3.0-only -# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere -# -# Copyright 2023 Red Hat, Project Atmosphere -# -# This program is free software: you can redistribute it and/or modify it under the terms of the GNU -# General Public License as published by the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# You should have received a copy of the GNU General Public License along with this program. -# If not, see . - -- name: Remove SAP Cloud Connector - ansible.builtin.include_tasks: - file: "remove-{{ cloudconnector_portable | ternary('portable', 'rpm') }}.yml" diff --git a/roles/cloudconnector/tasks/install-portable.yml b/roles/cloudconnector/tasks/install-portable.yml deleted file mode 100644 index 059bfdf..0000000 --- a/roles/cloudconnector/tasks/install-portable.yml +++ /dev/null @@ -1,38 +0,0 @@ ---- -# SPDX-License-Identifier: GPL-3.0-only -# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere -# -# Copyright 2023 Red Hat, Project Atmosphere -# -# This program is free software: you can redistribute it and/or modify it under the terms of the GNU -# General Public License as published by the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# You should have received a copy of the GNU General Public License along with this program. -# If not, see . - -- name: Make sure that installation folder for portable cloud connector exists - ansible.builtin.file: - path: "{{ cloudconnector_portable_install_destination }}" - state: directory - mode: "0755" - owner: "{{ omit }}" - group: "{{ omit }}" - -- name: Unpack downloaded file to install destination - ansible.builtin.unarchive: - remote_src: true - src: "{{ cloudconnector_download_filepath }}" - dest: "{{ cloudconnector_portable_install_destination }}" - mode: "0755" - owner: "{{ omit }}" - group: "{{ omit }}" diff --git a/roles/cloudconnector/tasks/install-rpm.yml b/roles/cloudconnector/tasks/install-rpm.yml deleted file mode 100644 index c620804..0000000 --- a/roles/cloudconnector/tasks/install-rpm.yml +++ /dev/null @@ -1,47 +0,0 @@ ---- -# SPDX-License-Identifier: GPL-3.0-only -# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere -# -# Copyright 2023 Red Hat, Project Atmosphere -# -# This program is free software: you can redistribute it and/or modify it under the terms of the GNU -# General Public License as published by the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# You should have received a copy of the GNU General Public License along with this program. -# If not, see . - -- name: Make sure that unpack destination for SAP cloud connector exists - ansible.builtin.file: - path: "{{ cloudconnector_unpack_destination }}" - state: directory - mode: "0755" - owner: "{{ omit }}" - group: "{{ omit }}" - -- name: Unpack downloaded RPM - ansible.builtin.unarchive: - remote_src: true - list_files: true - src: "{{ cloudconnector_download_filepath }}" - dest: "{{ cloudconnector_unpack_destination }}" - mode: "0755" - register: __cloudconnector_unpack - failed_when: __cloudconnector_unpack.files | length > 1 - -- name: Install SAP Cloud Connector RPM - ansible.builtin.yum: - name: "{{ cloudconnector_unpack_destination }}/{{ __cloudconnector_unpack.files | first }}" - state: present - disable_gpg_check: true - become: true - become_user: root diff --git a/roles/cloudconnector/tasks/main.yml b/roles/cloudconnector/tasks/main.yml deleted file mode 100644 index fbb31dc..0000000 --- a/roles/cloudconnector/tasks/main.yml +++ /dev/null @@ -1,36 +0,0 @@ ---- -# SPDX-License-Identifier: GPL-3.0-only -# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere -# -# Copyright 2023 Red Hat, Project Atmosphere -# -# This program is free software: you can redistribute it and/or modify it under the terms of the GNU -# General Public License as published by the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# You should have received a copy of the GNU General Public License along with this program. -# If not, see . - -- name: Fail if cloudconnector_version is required but empty - ansible.builtin.assert: - that: > - (cloudconnector_state == 'present') and (cloudconnector_version | length > 0) or - (cloudconnector_state == 'absent') - -- name: Collect required ansible facts - ansible.builtin.setup: - gather_subset: - - os_family - -- name: Include tasks depending on state - ansible.builtin.include_tasks: - file: "{{ cloudconnector_state }}.yml" diff --git a/roles/cloudconnector/tasks/present.yml b/roles/cloudconnector/tasks/present.yml deleted file mode 100644 index 534a61e..0000000 --- a/roles/cloudconnector/tasks/present.yml +++ /dev/null @@ -1,43 +0,0 @@ ---- -# SPDX-License-Identifier: GPL-3.0-only -# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere -# -# Copyright 2023 Red Hat, Project Atmosphere -# -# This program is free software: you can redistribute it and/or modify it under the terms of the GNU -# General Public License as published by the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# You should have received a copy of the GNU General Public License along with this program. -# If not, see . - -- name: Make sure that download directory for SAP cloud connector exists - ansible.builtin.file: - path: "{{ cloudconnector_download_filepath | dirname }}" - state: directory - mode: "0755" - owner: "{{ omit }}" - group: "{{ omit }}" - -- name: Download Cloud Connector - ansible.builtin.uri: - url: "{{ cloudconnector_download_url }}" - creates: "{{ cloudconnector_download_filepath }}" - dest: "{{ cloudconnector_download_filepath }}" - timeout: "{{ cloudconnector_download_timeout_seconds }}" - headers: - Cookie: eula_3_1_agreed=tools.hana.ondemand.com/developer-license-3_1.txt - register: uri - -- name: Install SAP Cloud Connector - ansible.builtin.include_tasks: - file: "install-{{ cloudconnector_portable | ternary('portable', 'rpm') }}.yml" diff --git a/roles/cloudconnector/tasks/remove-portable.yml b/roles/cloudconnector/tasks/remove-portable.yml deleted file mode 100644 index c9f5d01..0000000 --- a/roles/cloudconnector/tasks/remove-portable.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- -# SPDX-License-Identifier: GPL-3.0-only -# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere -# -# Copyright 2023 Red Hat, Project Atmosphere -# -# This program is free software: you can redistribute it and/or modify it under the terms of the GNU -# General Public License as published by the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# You should have received a copy of the GNU General Public License along with this program. -# If not, see . - -- name: Remove portable cloud connector - ansible.builtin.file: - path: "{{ cloudconnector_portable_install_destination }}" - state: absent diff --git a/roles/cloudconnector/tasks/remove-rpm.yml b/roles/cloudconnector/tasks/remove-rpm.yml deleted file mode 100644 index 59f5278..0000000 --- a/roles/cloudconnector/tasks/remove-rpm.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- -# SPDX-License-Identifier: GPL-3.0-only -# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere -# -# Copyright 2023 Red Hat, Project Atmosphere -# -# This program is free software: you can redistribute it and/or modify it under the terms of the GNU -# General Public License as published by the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# You should have received a copy of the GNU General Public License along with this program. -# If not, see . - -- name: Remove cloud connector package - ansible.builtin.yum: - name: "{{ cloudconnector_package_name }}" - state: absent diff --git a/roles/cloudconnector/vars/main.yml b/roles/cloudconnector/vars/main.yml deleted file mode 100644 index 443a21e..0000000 --- a/roles/cloudconnector/vars/main.yml +++ /dev/null @@ -1,69 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-only -# SPDX-FileCopyrightText: 2024 Red Hat, Project Atmosphere -# -# Copyright 2024 Red Hat, Project Atmosphere -# -# This program is free software: you can redistribute it and/or modify it under the terms of the GNU -# General Public License as published by the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# You should have received a copy of the GNU General Public License along with this program. -# If not, see . - ---- -cloudconnector_archive_extension_mapping: - - system: "linux" - portable: false - architecture: "ppc64le" - archive_extension: zip - - system: "linux" - portable: false - architecture: "x64" - archive_extension: zip - - - system: "linux" - portable: true - architecture: "ppc64le" - archive_extension: tar.gz - - - system: "linux" - portable: true - architecture: "x64" - archive_extension: tar.gz - - system: "darwin" - portable: true - architecture: "x64" - archive_extension: tar.gz - - system: "darwin" - portable: true - architecture: "aarch64" - archive_extension: tar.gz - -cloudconnector_architecture_mapping: - x86_64: x64 - ppc64le: ppc64le - aarch64: aarch64 - -cloudconnector_archive_extension: "{{ (cloudconnector_archive_extension_mapping - | selectattr('system', 'equalto', cloudconnector_system) - | selectattr('portable', 'equalto', cloudconnector_portable) - | selectattr('architecture', 'equalto', cloudconnector_architecture) - | map(attribute='archive_extension')) | first }}" - -cloudconnector_url_filename: > - sapcc-{{ cloudconnector_version }}-{{ cloudconnector_system }}-{{ cloudconnector_architecture }}.{{ cloudconnector_archive_extension }} - -cloudconnector_download_url: "https://tools.hana.ondemand.com/additional/{{ cloudconnector_url_filename }}" - -cloudconnector_sha1_url: "{{ cloudconnector_download_url }}.sha1" - -cloudconnector_package_name: com.sap.scc-ui diff --git a/roles/unpack/tasks/main.yml b/roles/unpack/tasks/main.yml index 5c51727..659b1d7 100644 --- a/roles/unpack/tasks/main.yml +++ b/roles/unpack/tasks/main.yml @@ -41,4 +41,4 @@ - name: Print output variable ansible.builtin.debug: - msg: "{{ unpack_register }}" + msg: "{{ unpack_register | default([]) }}"