sunbeam-charms/tox.ini
Hemanth Nakkina 5c21c23de8
[ci] Add loadbalancer annotations as part of setup
During restarts, the k8s services of type loadbalancer
can get diferent IPs and the integration tests tries to
communicate with older IPs.
Add a step after deploying the bundle to add loadbalancer
annotations to services of type loadbalancer so that
IPs persist during restart of pods.

Pin httpx version in tox.ini due to bug [1] in lightkube

[1] https://github.com/gtsystem/lightkube/issues/78

Change-Id: I013ec1c1e9dbac3ae86c57abcd9d87a3b99f6e82
2024-12-02 21:43:37 +05:30

121 lines
2.4 KiB
INI

# Global tox file
# This file is used to invoke tox in individual charms
[tox]
skipsdist = True
envlist = pep8,py3
sitepackages = False
skip_missing_interpreters = False
minversion = 3.18.0
[testenv]
passenv =
HOME
allowlist_externals =
{toxinidir}/run_tox.sh
{toxinidir}/generate_token.sh
{toxinidir}/repository.py
[testenv:fetch]
basepython = python3
deps = pyyaml
commands =
python3 {toxinidir}/repository.py -v fetch-lib {posargs}
[testenv:fmt]
description = Apply coding style standards to code
deps =
black
isort
pyyaml
commands =
{toxinidir}/run_tox.sh fmt
[testenv:pep8]
description = Alias for lint
deps =
black
flake8
flake8-docstrings
flake8-copyright
flake8-builtins
pyproject-flake8
pep8-naming
isort
codespell
pyyaml
commands =
{toxinidir}/run_tox.sh pep8
[testenv:py3]
deps =
-r{toxinidir}/test-requirements.txt
pyyaml
commands =
{toxinidir}/run_tox.sh py3 {posargs}
[testenv:py310]
deps = {[testenv:py3]deps}
commands =
{toxinidir}/run_tox.sh py310 {posargs}
[testenv:py312]
deps = {[testenv:py3]deps}
commands =
{toxinidir}/run_tox.sh py312 {posargs}
[testenv:cover]
deps = {[testenv:py3]deps}
commands =
{toxinidir}/run_tox.sh cover {posargs}
[testenv:linters]
deps =
{[testenv:py3]deps}
mypy
commands =
{toxinidir}/run_tox.sh linters
[testenv:build]
basepython = python3
deps = pyyaml
commands =
{toxinidir}/run_tox.sh build {posargs}
[testenv:func-noop]
basepython = python3
deps =
git+https://github.com/openstack-charmers/zaza.git#egg=zaza
git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack
git+https://opendev.org/openstack/tempest.git#egg=tempest
# Pin httpx version due to bug https://github.com/gtsystem/lightkube/issues/78
httpx>=0.24.0,<0.28.0
lightkube
commands =
functest-run-suite --help
[testenv:func]
basepython = python3
deps = {[testenv:func-noop]deps}
passenv =
HOME
PYTHONPATH
setenv =
# Set TEST_JUJU3 To unpin juju<3 in zaza
TEST_JUJU3 = 1
TEST_MODEL_SETTINGS = automatically-retry-hooks=true
TEST_MAX_RESOLVE_COUNT = 5
PYTHONPATH = {toxinidir}/tests/local:{env:PYTHONPATH}
commands =
python3 render_bundles.py
# Example: functest-run-suite --keep-model --smoke --test-directory=tests/set1
functest-run-suite --keep-model {posargs}
[testenv:generate-token]
basepython = python3
deps =
zuul-client
commands =
{toxinidir}/generate_token.sh