Skip to content

Commit

Permalink
Set default version to 4.15; add feature to install olm via rpm
Browse files Browse the repository at this point in the history
This commit provides few features related to that project:
- added workaround when the version file does not exists,
  so clean setup of the MicroShift  4.15 was not possible
- added a feature to setup the OLM via MicroShift RPM package
  • Loading branch information
danpawlik committed Aug 14, 2024
1 parent bf2a364 commit 38806c1
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 32 deletions.
10 changes: 6 additions & 4 deletions defaults/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ firewalld_rules_permament: true
use_copr_microshift: false

# The Microshift version that is available in the repository.
microshift_version: 4.14
microshift_version: 4.15

# Default settings from /etc/microshift/config.yaml.default
# https://github.com/openshift/microshift/blob/release-4.14/packaging/microshift/config.yaml
# https://github.com/openshift/microshift/blob/release-4.15/packaging/microshift/config.yaml
microshift_config:
apiServer:
subjectAltNames:
Expand Down Expand Up @@ -72,7 +72,7 @@ microshift_config:
# nodeIP: ""

# Default settings from /etc/microshift/lvmd.yaml.default
# https://github.com/openshift/microshift/blob/release-4.14/packaging/microshift/lvmd.yaml
# https://github.com/openshift/microshift/blob/release-4.15/packaging/microshift/lvmd.yaml
microshift_lmvd:
# socket-name: /run/lvmd/lvmd.socket
device-classes:
Expand All @@ -86,7 +86,7 @@ microshift_lmvd:
# - ""

# Default settings from /etc/microshift/ovn.yaml.default
# https://github.com/openshift/microshift/blob/release-4.14/packaging/microshift/ovn.yaml
# https://github.com/openshift/microshift/blob/release-4.15/packaging/microshift/ovn.yaml
microshift_ovn: {}
# mtu: 1500

Expand All @@ -97,6 +97,8 @@ microshift_ovn: {}
# Install the OLM - https://olm.operatorframework.io/
setup_olm: false
# https://github.com/operator-framework/operator-lifecycle-manager/releases
# NOTE: the olm_version is not working when microshift_olm_package is set to true.
microshift_olm_package: false
olm_version: "v0.28.0"

# Version of the Operator SDK
Expand Down
73 changes: 45 additions & 28 deletions tasks/olm.yaml
Original file line number Diff line number Diff line change
@@ -1,32 +1,49 @@
---
- name: Fetch operator-sdk
become: true
ansible.builtin.uri:
url: https://github.com/operator-framework/operator-sdk/releases/download/{{ operator_sdk_version }}/operator-sdk_linux_amd64
dest: /usr/local/bin/operator-sdk
mode: "755"
status_code:
- 200
- 304
- name: Install OLM via rpm package
when: microshift_olm_package
block:
- name: Install OLM rpm
become: true
ansible.builtin.yum:
name: microshift-olm
state: present
enablerepo: microshift-rpms,microshift-deps-rpms
notify: Restart Microshift

- name: Check if OLM is installed
ansible.builtin.command: /usr/local/bin/operator-sdk olm status
register: olm_status
failed_when: olm_status.rc not in [0, 1]
changed_when: true
- name: Flush handlers
ansible.builtin.meta: flush_handlers

# Set ns/user to SCC before we run the OLM installation
- name: Ensure privileged SCC for OLM
ansible.builtin.command:
oc adm policy add-scc-to-user privileged system:serviceaccount:olm:{{ item }}
changed_when: true
loop:
- "default"
- "operatorhubio-catalog"
- "olm-operator-serviceaccount"
- name: Install OLM via OperatorSDK
when: not microshift_olm_package
block:
- name: Fetch operator-sdk
become: true
ansible.builtin.uri:
url: https://github.com/operator-framework/operator-sdk/releases/download/{{ operator_sdk_version }}/operator-sdk_linux_amd64
dest: /usr/local/bin/operator-sdk
mode: "755"
status_code:
- 200
- 304

- name: Install OLM with SDK
ansible.builtin.command: |
/usr/local/bin/operator-sdk olm install --version {{ olm_version }}
when: olm_status.rc != 0
changed_when: true
- name: Check if OLM is installed
ansible.builtin.command: /usr/local/bin/operator-sdk olm status
register: olm_status
failed_when: olm_status.rc not in [0, 1]
changed_when: true

# Set ns/user to SCC before we run the OLM installation
- name: Ensure privileged SCC for OLM
ansible.builtin.command:
oc adm policy add-scc-to-user privileged system:serviceaccount:olm:{{ item }}
changed_when: true
loop:
- "default"
- "operatorhubio-catalog"
- "olm-operator-serviceaccount"

- name: Install OLM with SDK
ansible.builtin.command: |
/usr/local/bin/operator-sdk olm install --version {{ olm_version }}
when: olm_status.rc != 0
changed_when: true

0 comments on commit 38806c1

Please sign in to comment.