functests failing with python-libjuju 3.1.0.1 release

Bug #2007834 reported by Mert Kirpici
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Charmed Kubernetes Testing
Incomplete
Undecided
Unassigned
Juju Lint
Fix Released
Undecided
Martin Kalcok
Thruk Agent Charm
Fix Released
Undecided
Unassigned
charm-advanced-routing
Fix Released
Undecided
Gabriel Cocenza
charm-apt-mirror
Fix Released
Undecided
Gabriel Cocenza
charm-infra-node
Fix Released
Undecided
Mert Kirpici
charm-juju-lint
Fix Released
Undecided
Unassigned
charm-simple-streams
Fix Released
Undecided
Gabriel Cocenza
logrotate-charm
Fix Released
Undecided
Unassigned

Bug Description

Following the release of python-libjuju 3.1.0.1, python-libjuju based functests started failing against juju controllers v2.x, due to juju and libjuju following starting to support the same major version[0].

Since we are still running automated tests using juju controller 2.x, we need to pin the libjuju major version to less than 3, since juju and libjuju have switched to using the same version numbers to indicate support[0]. As of today, pinning juju<3 would install python-libjuju version 2.9.38.1 which is intended to support juju controllers up to v2.9.38.

[0] https://github.com/juju/python-libjuju/releases

Here is an excerpt from the error taken from weekly CI runs:

func installed: attrs==22.2.0,bcrypt==4.0.1,cachetools==5.3.0,certifi==2022.12.7,cffi==1.15.1,charset-normalizer==3.0.1,cryptography==39.0.1,exceptiongroup==1.1.0,flake8==6.0.0,google-auth==2.16.1,hvac==1.0.2,idna==3.4,iniconfig==2.0.0,juju==3.1.0.1,kubernetes==26.1.0,macaroonbakery==1.3.1,mccabe==0.7.0,mock==5.0.1,mypy-extensions==1.0.0,oauthlib==3.2.2,packaging==23.0,paramiko==2.12.0,pluggy==1.0.0,protobuf==3.20.3,pyasn1==0.4.8,pyasn1-modules==0.2.8,pycodestyle==2.10.0,pycparser==2.21,pyflakes==3.0.1,pyhcl==0.4.4,pymacaroons==0.13.0,PyNaCl==1.5.0,pyRFC3339==1.1,pytest==7.2.1,pytest-asyncio==0.20.3,python-dateutil==2.8.2,pytz==2022.7.1,PyYAML==6.0,requests==2.28.2,requests-oauthlib==1.3.1,rsa==4.9,six==1.16.0,tomli==2.0.1,toposort==1.9,typing-inspect==0.8.0,typing_extensions==4.5.0,urllib3==1.26.14,websocket-client==1.5.1,websockets==10.4
func run-test-pre: PYTHONHASHSEED='3358879734'
func run-test: commands[0] | pytest -v --ignore /tmp/functional-onkvxi01/src/tests/unit
============================= test session starts ==============================
platform linux -- Python 3.10.6, pytest-7.2.1, pluggy-1.0.0 -- /tmp/functional-

...
        if not self._connection.info['server-version'].startswith(SUPPORTED_MAJOR_VERSION):
> raise JujuConnectionError("juju server-version %s not supported" % juju_server_version)
E juju.errors.JujuConnectionError: juju server-version 2.9.37 not supported

.tox/func/lib/python3.10/site-packages/juju/client/connector.py:82: JujuConnectionError
------------------------------ Captured log setup ------------------------------
WARNING connector:connector.py:80 This version was tested using 3.1.0 juju version 2.9.37 may have compatibility issues

Tags: bseng-920

Related branches

Changed in charm-infra-node:
assignee: nobody → Mert Kirpici (mertkirpici)
Changed in charm-apt-mirror:
assignee: nobody → Mert Kirpici (mertkirpici)
Eric Chen (eric-chen)
tags: added: bseng-920
Changed in charm-infra-node:
status: New → Fix Committed
Changed in charm-apt-mirror:
assignee: Mert Kirpici (mertkirpici) → nobody
Changed in juju-lint:
assignee: nobody → Mert Kirpici (mertkirpici)
Changed in juju-lint:
status: New → In Progress
Revision history for this message
Moises Emilio Benzan Mora (moisesbenzan) wrote :
Download full text (3.5 KiB)

Also failing on charmed-kubernetes-testing while running the K8s validation suite.

==================================== ERRORS ====================================
____________________ ERROR at setup of test_series_upgrade _____________________
Traceback (most recent call last):
  File "/home/ubuntu/k8s-validation/.tox/py3/lib/python3.8/site-packages/pytest_asyncio/plugin.py", line 299, in _asyncgen_fixture_wrapper
    result = event_loop.run_until_complete(setup())
  File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/home/ubuntu/k8s-validation/.tox/py3/lib/python3.8/site-packages/pytest_asyncio/plugin.py", line 281, in setup
    res = await gen_obj.__anext__()
  File "/home/ubuntu/k8s-validation/jobs/integration/conftest.py", line 258, in model
    await model.connect(tools.connection)
  File "/home/ubuntu/k8s-validation/.tox/py3/lib/python3.8/site-packages/juju/model.py", line 658, in connect
    _, model_uuid = await self._connector.connect_model(model_name, **kwargs)
  File "/home/ubuntu/k8s-validation/.tox/py3/lib/python3.8/site-packages/juju/client/connector.py", line 174, in connect_model
    await self.connect(**kwargs)
  File "/home/ubuntu/k8s-validation/.tox/py3/lib/python3.8/site-packages/juju/client/connector.py", line 82, in connect
    raise JujuConnectionError("juju server-version %s not supported" % juju_server_version)
juju.errors.JujuConnectionError: juju server-version 2.9.42 not supported
------------------------------ Captured log setup ------------------------------
WARNING connector:connector.py:80 This version was tested using 3.1.0 juju version 2.9.42 may have compatibility issues
=============================== warnings summary ===============================
.tox/py3/lib/python3.8/site-packages/invoke/loader.py:3
  /home/ubuntu/k8s-validation/.tox/py3/lib/python3.8/site-packages/invoke/loader.py:3: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    import imp

jobs/integration/conftest.py:626
  /home/ubuntu/k8s-validation/jobs/integration/conftest.py:626: PytestDeprecationWarning: The hookimpl pytest_metadata uses old-style configuration options (marks or attributes).
  Please use the pytest.hookimpl(optionalhook=True) decorator instead
   to configure the hooks.
   See https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers
    @pytest.mark.optionalhook

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
---------- generated xml file: /home/ubuntu/k8s-validation/report.xml ----------
----- generated html file: file:///home/ubuntu/k8s-validation/report.html ------
========================= 2 warnings, 1 error in 0.76s =========================
ERROR: InvocationError for command /home/ubuntu/k8s-validation/.tox/py3/bin/pytest -v -s --controller=foundations-maas --model=kubernetes-maas /home/ubuntu/k8s-validation/jobs/integration/validation.py::test_series_upgrade --is-series-upgrade --upgrade-snap-channel=latest/stable --upgrade-charm-channel=stable --series=jammy '--vault-unseal-command=fce_wrap build --layer kub...

Read more...

Revision history for this message
George Kraft (cynerva) wrote :

For the Charmed Kubernetes tests, we provide a requirements-2.9.txt[1] file that comes with python-libjuju 3.0.4. That works against Juju 2.9 controllers in our testing. Can you use that requirements file when running our tests against Juju 2.9 controllers?

[1]: https://github.com/charmed-kubernetes/jenkins/blob/main/requirements-2.9.txt

Changed in charmed-kubernetes-testing:
status: New → Incomplete
Changed in charm-advanced-routing:
assignee: nobody → Gabriel Cocenza (gabrielcocenza)
milestone: none → 23.04
status: New → Fix Committed
Changed in juju-lint:
assignee: Mert Kirpici (mertkirpici) → nobody
Changed in charm-infra-node:
milestone: none → 23.04
Changed in charm-apt-mirror:
status: New → Fix Committed
assignee: nobody → Gabriel Cocenza (gabrielcocenza)
Eric Chen (eric-chen)
Changed in charm-apt-mirror:
milestone: none → 23.04
Changed in charm-logrotated:
status: New → Fix Committed
milestone: none → 23.04
Changed in charm-thruk-agent:
status: New → Fix Committed
milestone: none → 23.04
Changed in charm-juju-lint:
status: New → Fix Committed
milestone: none → 23.04
Revision history for this message
Robert Gildein (rgildein) wrote :
Changed in charm-simple-streams:
assignee: nobody → Gabriel Cocenza (gabrielcocenza)
milestone: none → 23.04
status: New → Fix Committed
Changed in juju-lint:
status: In Progress → Fix Committed
milestone: none → 1.0.7
assignee: nobody → Martin Kalcok (martin-kalcok)
Changed in charm-advanced-routing:
status: Fix Committed → Fix Released
Changed in charm-apt-mirror:
status: Fix Committed → Fix Released
Changed in charm-infra-node:
status: Fix Committed → Fix Released
Changed in charm-juju-lint:
status: Fix Committed → Fix Released
Changed in charm-logrotated:
status: Fix Committed → Fix Released
Changed in charm-simple-streams:
status: Fix Committed → Fix Released
Changed in charm-thruk-agent:
status: Fix Committed → Fix Released
Changed in juju-lint:
status: Fix Committed → Fix Released
Changed in juju-lint:
status: Fix Released → Fix Committed
Tianqi Xiao (txiao)
Changed in juju-lint:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.