Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[operator] bump operator base image to 1.36.1 #8305

Open
jmazzitelli opened this issue Apr 4, 2025 · 3 comments · May be fixed by kiali/kiali-operator#895
Open

[operator] bump operator base image to 1.36.1 #8305

jmazzitelli opened this issue Apr 4, 2025 · 3 comments · May be fixed by kiali/kiali-operator#895
Assignees
Labels
enhancement This is the preferred way to describe new end-to-end features.

Comments

@jmazzitelli
Copy link
Collaborator

jmazzitelli commented Apr 4, 2025

Upstream ansible operator base image had some pretty big changes - operator-framework/ansible-operator-plugins#101

We'll want to eventually upgrade to 1.36.1 and make sure we work with these changes.

Do things similarly to when we bumped before:

@jmazzitelli jmazzitelli added the enhancement This is the preferred way to describe new end-to-end features. label Apr 4, 2025
@jmazzitelli jmazzitelli changed the title update operator base image to 1.36.1 [operator] bump operator base image to 1.36.1 Apr 4, 2025
@jmazzitelli
Copy link
Collaborator Author

Ansible and Python

If you want this version of ansible on your local dev machine, you can clone that tag via: git clone -b v2.17.5 --depth 1 https://github.com/ansible/ansible.git

Downstream 4.18:

$ podman run  -it --rm --entrypoint '' registry.redhat.io/openshift4/ose-ansible-rhel9-operator:v4.18 ansible --version
ansible [core 2.18.1]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/usr/share/ansible/openshift']
  ansible python module location = /usr/local/lib/python3.12/site-packages/ansible
  ansible collection location = /opt/ansible/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.12.1 (main, Dec 10 2024, 00:00:00) [GCC 11.4.1 20231218 (Red Hat 11.4.1-3)] (/usr/local/bin/python3)
  jinja version = 3.1.5
  libyaml = False

Upstream 1.36.1:

$ podman run  -it --rm --entrypoint '' quay.io/operator-framework/ansible-operator:v1.36.1 ansible --version
ansible [core 2.17.5]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/usr/share/ansible/openshift']
  ansible python module location = /usr/local/lib/python3.12/site-packages/ansible
  ansible collection location = /opt/ansible/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.12.5 (main, Sep 11 2024, 00:00:00) [GCC 11.5.0 20240719 (Red Hat 11.5.0-2)] (/usr/local/bin/python3)
  jinja version = 3.1.4
  libyaml = True

@jmazzitelli
Copy link
Collaborator Author

Ansible Collections

NOTE! Due to a bug in kubernetes.core collection, we needed to upgrade to 4.0.0 previously. We must stay at least on 4.0.0. See #7476

There are no collections in the upstream image (run this to see: podman run -it --rm --entrypoint '' quay.io/operator-framework/ansible-operator:v1.36.1 ansible-galaxy collection list)

Collections we care about the most:

  • kubernetes.core = 3.2.0
  • operator_sdk.util = 0.5.0
podman run -it --rm --entrypoint '' registry.redhat.io/openshift4/ose-ansible-rhel9-operator:v4.18 ansible-galaxy collection list
# /opt/ansible/.ansible/collections/ansible_collections
Collection                               Version
---------------------------------------- -------
cloud.common                             3.0.0  
community.docker                         3.12.1 
community.library_inventory_filtering_v1 1.0.1  
kubernetes.core                          3.2.0  
operator_sdk.util                        0.5.0  

@jmazzitelli
Copy link
Collaborator Author

Python Libraries

query.sh:

for i in \
  registry.redhat.io/openshift4/ose-ansible-rhel9-operator:v4.18 \
  quay.io/operator-framework/ansible-operator:v1.36.1
do
  filename="/tmp/$(echo $i | sed 's#/#-#g').OUTPUT"
  echo "=== IMAGE: ${i} -> ${filename} ==="
  podman run --rm -i -t --entrypoint "" "${i}" pip3 list --format columns &> $filename
  cat $filename
done

That script will output files you can diff to see the differences between images or grep for things. Here's the full output of everything:

=== IMAGE: registry.redhat.io/openshift4/ose-ansible-rhel9-operator:v4.18 -> /tmp/registry.redhat.io-openshift4-ose-ansible-rhel9-operator:v4.18.OUTPUT ===
Package             Version
------------------- ---------------
ansible-core        2.18.1
ansible-runner      2.4.0
ansible-runner-http 1.0.0
cachetools          5.5.0
certifi             2024.12.14
cffi                1.16.0
changelog-chug      0.0.3
charset-normalizer  3.4.1
cryptography        41.0.7
Cython              3.0.11
docutils            0.21.2
flit_core           3.10.1
google-auth         2.37.0
idna                3.10
Jinja2              3.1.5
kubernetes          30.1.0
lockfile            0.12.2
MarkupSafe          3.0.2
mypy                1.14.0
mypy-extensions     1.0.0
oauthlib            3.2.2
packaging           24.2
pbr                 6.1.0
pexpect             4.9.0
pip                 23.2.1
ply                 3.11
poetry-core         2.0.1
ptyprocess          0.7.0
pyasn1              0.6.1
pyasn1_modules      0.4.1
pycparser           2.20
python-daemon       3.1.2
python-dateutil     2.9.0.post0
PyYAML              6.0.2
requests            2.31.0
requests-oauthlib   2.0.0
requests-unixsocket 0.3.0
resolvelib          1.0.1
rsa                 4.9
semantic-version    2.10.0
semver              3.0.2
setuptools          75.6.0
setuptools-rust     1.10.2
setuptools_scm      7.1.0
six                 1.17.0
types-psutil        6.1.0.20241221
types-setuptools    75.8.0.20250110
typing_extensions   4.12.2
urllib3             1.26.20
websocket-client    1.8.0
wheel               0.45.1

[notice] A new release of pip is available: 23.2.1 -> 25.0.1
[notice] To update, run: python3 -m pip install --upgrade pip
=== IMAGE: quay.io/operator-framework/ansible-operator:v1.36.1 -> /tmp/quay.io-operator-framework-ansible-operator:v1.36.1.OUTPUT ===
Package             Version
------------------- -----------
ansible-core        2.17.5
ansible-runner      2.4.0
ansible-runner-http 1.0.0
cachetools          5.5.0
certifi             2024.8.30
cffi                1.17.1
charset-normalizer  3.4.0
cryptography        43.0.1
distlib             0.3.9
docutils            0.21.2
filelock            3.16.1
google-auth         2.35.0
idna                3.10
Jinja2              3.1.4
kubernetes          30.1.0
lockfile            0.12.2
MarkupSafe          3.0.1
oauthlib            3.2.2
packaging           24.1
pexpect             4.9.0
pip                 23.3.2
pipenv              2023.11.15
platformdirs        4.3.6
ptyprocess          0.7.0
pyasn1              0.6.1
pyasn1_modules      0.4.1
pycparser           2.22
python-daemon       3.0.1
python-dateutil     2.9.0.post0
PyYAML              6.0.2
requests            2.31.0
requests-oauthlib   2.0.0
requests-unixsocket 0.3.0
resolvelib          1.0.1
rsa                 4.9
setuptools          75.2.0
six                 1.16.0
urllib3             1.26.20
virtualenv          20.27.1
websocket-client    1.8.0

[notice] A new release of pip is available: 23.3.2 -> 25.0.1
[notice] To update, run: python3 -m pip install --upgrade pip

Here's the kubernetes libraries used for both of them:

$ grep kubernetes /tmp/*.OUTPUT
/tmp/quay.io-operator-framework-ansible-operator:v1.36.1.OUTPUT:kubernetes          30.1.0
/tmp/registry.redhat.io-openshift4-ose-ansible-rhel9-operator:v4.18.OUTPUT:kubernetes          30.1.0

Here's the diff of the libraries between both:

$ diff /tmp/quay.io-operator-framework-ansible-operator\:v1.36.1.OUTPUT /tmp/registry.redhat.io-openshift4-ose-ansible-rhel9-operator\:v4.18.OUTPUT 

2,3c2,3
< ------------------- -----------
< ansible-core        2.17.5
---
> ------------------- ---------------
> ansible-core        2.18.1
7,11c7,12
< certifi             2024.8.30
< cffi                1.17.1
< charset-normalizer  3.4.0
< cryptography        43.0.1
< distlib             0.3.9
---
> certifi             2024.12.14
> cffi                1.16.0
> changelog-chug      0.0.3
> charset-normalizer  3.4.1
> cryptography        41.0.7
> Cython              3.0.11
13,14c14,15
< filelock            3.16.1
< google-auth         2.35.0
---
> flit_core           3.10.1
> google-auth         2.37.0
16c17
< Jinja2              3.1.4
---
> Jinja2              3.1.5
19c20,22
< MarkupSafe          3.0.1
---
> MarkupSafe          3.0.2
> mypy                1.14.0
> mypy-extensions     1.0.0
21c24,25
< packaging           24.1
---
> packaging           24.2
> pbr                 6.1.0
23,25c27,29
< pip                 23.3.2
< pipenv              2023.11.15
< platformdirs        4.3.6
---
> pip                 23.2.1
> ply                 3.11
> poetry-core         2.0.1
29,30c33,34
< pycparser           2.22
< python-daemon       3.0.1
---
> pycparser           2.20
> python-daemon       3.1.2
38,39c42,50
< setuptools          75.2.0
< six                 1.16.0
---
> semantic-version    2.10.0
> semver              3.0.2
> setuptools          75.6.0
> setuptools-rust     1.10.2
> setuptools_scm      7.1.0
> six                 1.17.0
> types-psutil        6.1.0.20241221
> types-setuptools    75.8.0.20250110
> typing_extensions   4.12.2
41d51
< virtualenv          20.27.1
42a53
> wheel               0.45.1
44c55
< [notice] A new release of pip is available: 23.3.2 -> 25.0.1
---
> [notice] A new release of pip is available: 23.2.1 -> 25.0.1

jmazzitelli added a commit to jmazzitelli/kiali-operator that referenced this issue Apr 4, 2025
@jshaughn jshaughn moved this from 📋 Backlog to 🏗 In progress in Kiali Sprint 25-07 | Kiali v2.9 Apr 7, 2025
@jmazzitelli jmazzitelli moved this from 🏗 In progress to 👀 In review in Kiali Sprint 25-07 | Kiali v2.9 Apr 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement This is the preferred way to describe new end-to-end features.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant