From 899191a6f44db3374e9379115cece3dba83ccfab Mon Sep 17 00:00:00 2001 From: Michal Opala Date: Mon, 30 Mar 2026 19:42:21 +0200 Subject: [PATCH] M #-: Remove deprecated OneProvision support Signed-off-by: Michal Opala --- playbooks/site.yml | 4 - roles/common/defaults/main.yml | 1 - roles/precheck/pre_reboot/tasks/features.yml | 6 ++ roles/provision/README.md | 44 ----------- roles/provision/defaults/main.yml | 5 -- roles/provision/meta/main.yml | 6 -- roles/provision/tasks/main.yml | 79 -------------------- 7 files changed, 6 insertions(+), 139 deletions(-) delete mode 100644 roles/provision/README.md delete mode 100644 roles/provision/defaults/main.yml delete mode 100644 roles/provision/meta/main.yml delete mode 100644 roles/provision/tasks/main.yml diff --git a/playbooks/site.yml b/playbooks/site.yml index afc0cf9e..54980dbd 100644 --- a/playbooks/site.yml +++ b/playbooks/site.yml @@ -39,10 +39,6 @@ tags: [form] when: one_version is version('7.1.80', '>=') - - role: provision - tags: [provision] - when: features.provision | bool is true - - role: gui tags: [gui] diff --git a/roles/common/defaults/main.yml b/roles/common/defaults/main.yml index 35a54dae..8a6452ff 100644 --- a/roles/common/defaults/main.yml +++ b/roles/common/defaults/main.yml @@ -3,7 +3,6 @@ features_defaults: prometheus: false ceph: false evpn: false - provision: false ceph_defaults: pool: one diff --git a/roles/precheck/pre_reboot/tasks/features.yml b/roles/precheck/pre_reboot/tasks/features.yml index 9b1d1b23..76b49032 100644 --- a/roles/precheck/pre_reboot/tasks/features.yml +++ b/roles/precheck/pre_reboot/tasks/features.yml @@ -82,3 +82,9 @@ or (one_version is version('7.1.80', '>=')) fail_msg: OneForm is unsupported for this OS / OpenNebula combination, please remove 'form_bind_addr' from inventory. + +- name: Check if OneProvision has been requested + ansible.builtin.assert: + that: features.provision is undefined + fail_msg: OneProvision has been removed from one-deploy, please undefine 'features.provision'. + run_once: true diff --git a/roles/provision/README.md b/roles/provision/README.md deleted file mode 100644 index 121a196d..00000000 --- a/roles/provision/README.md +++ /dev/null @@ -1,44 +0,0 @@ -Role: opennebula.deploy.provision -================================= - -A role that sets up the OneProvision utility. - -Requirements ------------- - -N/A - -Role Variables --------------- - -| Name | Type | Default | Example | Description | -|-------------------------------|-------|---------------|-------------------------------------|--------------------------------------------| -| `provision_ansible_version` | `str` | `2.15.13` | | Ansible/Core version to install (PIP). | -| `provision_terraform_version` | `str` | `0.14.7` | | Terraform version to install. | -| `provision_terraform_url` | `str` | (check below) | `http://mirror.local/terraform.zip` | Where to look the terraform zipped binary. | - -Dependencies ------------- - -N/A - -Example Playbook ----------------- - - - hosts: frontend - vars: - provision_terraform_url: >- - https://releases.hashicorp.com/terraform/0.14.7/terraform_0.14.7_linux_amd64.zip - roles: - - role: opennebula.deploy.helper.facts - - role: opennebula.deploy.provision - -License -------- - -Apache-2.0 - -Author Information ------------------- - -[OpenNebula Systems](https://opennebula.io/) diff --git a/roles/provision/defaults/main.yml b/roles/provision/defaults/main.yml deleted file mode 100644 index 176016dd..00000000 --- a/roles/provision/defaults/main.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -provision_ansible_version: "2.15.13" -provision_terraform_version: "0.14.7" -provision_terraform_url: >- - https://releases.hashicorp.com/terraform/{{ provision_terraform_version }}/terraform_{{ provision_terraform_version }}_linux_amd64.zip diff --git a/roles/provision/meta/main.yml b/roles/provision/meta/main.yml deleted file mode 100644 index e233e79d..00000000 --- a/roles/provision/meta/main.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -collections: - - opennebula.deploy - -dependencies: - - role: opennebula.deploy.common diff --git a/roles/provision/tasks/main.yml b/roles/provision/tasks/main.yml deleted file mode 100644 index c584c717..00000000 --- a/roles/provision/tasks/main.yml +++ /dev/null @@ -1,79 +0,0 @@ ---- -# NOTE: There is a strong assumption the oneadmin user has been already created at this point. -- tags: [preinstall] - block: - - ansible.builtin.include_role: - name: repository - vars: - repos_enabled_defaults: [opennebula] - when: opennebula_repo is undefined - - - name: Install OneProvision - ansible.builtin.package: - name: "{{ _common }}" - vars: - _common: [gawk, opennebula-provision] - register: package - until: package is success - retries: 6 - delay: 5 - - - name: Get Ansible version (oneadmin) - ansible.builtin.command: - cmd: gawk -f- - stdin: | - BEGIN { - if ("ansible --version" | getline line) { - if (match(line, /(core|ansible) ([0-9.]+)/, m)) { - print m[2]; exit - } - } - print "0.0.0"; exit - } - changed_when: false - become: true - become_user: oneadmin - register: oneadmin_ansible_version - - - when: oneadmin_ansible_version.stdout_lines.0 is version(provision_ansible_version, '<') - block: - - name: Install python3-pip - ansible.builtin.package: - name: "{{ _common }}" - vars: - _common: [python3-pip] - register: package - until: package is success - retries: 6 - delay: 5 - - - block: - # This task might fail on distros with python>=3.12, - # but Ansible version in those should be recent enough for OneProvision. - - name: Install Ansible (oneadmin) - ansible.builtin.pip: - name: "ansible-core>={{ provision_ansible_version }}" - state: present - extra_args: "{{ _pip_extra_args | d(omit) }}" - become: true - become_user: oneadmin - register: pip - until: pip is success - retries: 6 - delay: 5 - rescue: - - name: Warning about Ansible version - ansible.builtin.debug: - msg: "Failed to install ansible-core>={{ provision_ansible_version }}. OneProvision might not be compatible or require manual intervention" - - - name: Download and install Terraform - ansible.builtin.unarchive: - dest: /usr/local/bin/ - src: "{{ provision_terraform_url }}" - remote_src: true - mode: u=rwx,go=rx - creates: /usr/local/bin/terraform - register: unarchive - until: unarchive is success - retries: 6 - delay: 5