From 47175e17f693557249f30ff66c71d273d57f0bbe Mon Sep 17 00:00:00 2001 From: Michal Hucko Date: Thu, 25 Jul 2024 12:34:34 +0200 Subject: [PATCH] Fix istio CI (#476) (#482) * jinja update * Remove tls libs from charmcraft in istio-pilot and move them to requirements --- charms/istio-gateway/requirements-unit.txt | 55 +++---- charms/istio-gateway/requirements.txt | 45 +++--- charms/istio-pilot/README.md | 2 +- charms/istio-pilot/charmcraft.yaml | 2 +- charms/istio-pilot/requirements-unit.txt | 172 ++++++++++++++++----- charms/istio-pilot/requirements.in | 4 + charms/istio-pilot/requirements.txt | 167 ++++++++++++++++---- 7 files changed, 322 insertions(+), 125 deletions(-) diff --git a/charms/istio-gateway/requirements-unit.txt b/charms/istio-gateway/requirements-unit.txt index 7408ae03..517caec1 100644 --- a/charms/istio-gateway/requirements-unit.txt +++ b/charms/istio-gateway/requirements-unit.txt @@ -4,72 +4,72 @@ # # pip-compile requirements-unit.in # -anyio==4.0.0 - # via httpcore -attrs==23.1.0 +anyio==4.4.0 + # via httpx +attrs==23.2.0 # via jsonschema -certifi==2023.7.22 +certifi==2024.7.4 # via # httpcore # httpx # requests -charset-normalizer==3.2.0 +charset-normalizer==3.3.2 # via requests -coverage==7.3.0 +coverage==7.6.0 # via -r requirements-unit.in -exceptiongroup==1.1.3 +exceptiongroup==1.2.2 # via # anyio # pytest h11==0.14.0 # via httpcore -httpcore==0.17.3 +httpcore==1.0.5 # via httpx -httpx==0.24.1 +httpx==0.27.0 # via lightkube -idna==3.4 +idna==3.7 # via # anyio # httpx # requests -importlib-resources==6.0.1 +importlib-resources==6.4.0 # via jsonschema iniconfig==2.0.0 # via pytest -jinja2==3.1.2 +jinja2==3.1.4 # via -r requirements.in jsonschema==4.17.3 # via serialized-data-interface -lightkube==0.14.0 +lightkube==0.15.3 # via # -r requirements-unit.in # -r requirements.in -lightkube-models==1.27.1.4 +lightkube-models==1.27.1.8 # via # -r requirements.in # lightkube -markupsafe==2.1.3 +markupsafe==2.1.5 # via jinja2 oci-image==1.0.0 # via -r requirements.in -ops==2.6.0 +ops==2.15.0 # via # -r requirements-unit.in # -r requirements.in # serialized-data-interface -packaging==23.1 +packaging==24.1 # via pytest pkgutil-resolve-name==1.3.10 # via jsonschema -pluggy==1.3.0 +pluggy==1.5.0 # via pytest -pyrsistent==0.19.3 +pyrsistent==0.20.0 # via jsonschema -pytest==7.4.1 +pytest==8.3.1 # via # -r requirements-unit.in # pytest-mock -pytest-mock==3.11.1 +pytest-mock==3.14.0 # via -r requirements-unit.in pyyaml==6.0.1 # via @@ -77,22 +77,23 @@ pyyaml==6.0.1 # lightkube # ops # serialized-data-interface -requests==2.31.0 +requests==2.32.3 # via # -r requirements.in # serialized-data-interface serialized-data-interface==0.7.0 # via -r requirements.in -sniffio==1.3.0 +sniffio==1.3.1 # via # anyio - # httpcore # httpx tomli==2.0.1 # via pytest -urllib3==2.0.4 +typing-extensions==4.12.2 + # via anyio +urllib3==2.2.2 # via requests -websocket-client==1.6.2 +websocket-client==1.8.0 # via ops -zipp==3.16.2 +zipp==3.19.2 # via importlib-resources diff --git a/charms/istio-gateway/requirements.txt b/charms/istio-gateway/requirements.txt index e2bf4734..c8c4a6b9 100644 --- a/charms/istio-gateway/requirements.txt +++ b/charms/istio-gateway/requirements.txt @@ -4,73 +4,74 @@ # # pip-compile requirements.in # -anyio==4.0.0 - # via httpcore -attrs==23.1.0 +anyio==4.4.0 + # via httpx +attrs==23.2.0 # via jsonschema -certifi==2023.7.22 +certifi==2024.7.4 # via # httpcore # httpx # requests -charset-normalizer==3.2.0 +charset-normalizer==3.3.2 # via requests -exceptiongroup==1.1.3 +exceptiongroup==1.2.2 # via anyio h11==0.14.0 # via httpcore -httpcore==0.17.3 +httpcore==1.0.5 # via httpx -httpx==0.24.1 +httpx==0.27.0 # via lightkube -idna==3.4 +idna==3.7 # via # anyio # httpx # requests -importlib-resources==6.0.1 +importlib-resources==6.4.0 # via jsonschema -jinja2==3.1.2 +jinja2==3.1.4 # via -r requirements.in jsonschema==4.17.3 # via serialized-data-interface -lightkube==0.14.0 +lightkube==0.15.3 # via -r requirements.in -lightkube-models==1.27.1.4 +lightkube-models==1.27.1.8 # via # -r requirements.in # lightkube -markupsafe==2.1.3 +markupsafe==2.1.5 # via jinja2 oci-image==1.0.0 # via -r requirements.in -ops==2.6.0 +ops==2.15.0 # via # -r requirements.in # serialized-data-interface pkgutil-resolve-name==1.3.10 # via jsonschema -pyrsistent==0.19.3 +pyrsistent==0.20.0 # via jsonschema pyyaml==6.0.1 # via # lightkube # ops # serialized-data-interface -requests==2.31.0 +requests==2.32.3 # via # -r requirements.in # serialized-data-interface serialized-data-interface==0.7.0 # via -r requirements.in -sniffio==1.3.0 +sniffio==1.3.1 # via # anyio - # httpcore # httpx -urllib3==2.0.4 +typing-extensions==4.12.2 + # via anyio +urllib3==2.2.2 # via requests -websocket-client==1.6.2 +websocket-client==1.8.0 # via ops -zipp==3.16.2 +zipp==3.19.2 # via importlib-resources diff --git a/charms/istio-pilot/README.md b/charms/istio-pilot/README.md index cbf79dcb..6b6f5194 100644 --- a/charms/istio-pilot/README.md +++ b/charms/istio-pilot/README.md @@ -77,7 +77,7 @@ These values vary on each Kubernetes installation and depends on the CNI's confi Please note that if any of these configurations are missing, or not provided at all, the Istio CNI plugin will not be enabled on initial installations/upgrades, or it will be disabled on existing installations with the plugin. -> NOTE: This capability is only available in `istio-pilot` > 1.17/x; if you haven't already, please ugrade to the latest version of this charm before proceeding with the following instructions. +> NOTE: This capability is only available in `istio-pilot` > 1.17/x; if you haven't already, please upgrade to the latest version of this charm before proceeding with the following instructions. #### More information * [Network Plugins](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) diff --git a/charms/istio-pilot/charmcraft.yaml b/charms/istio-pilot/charmcraft.yaml index f5779365..15bc863f 100644 --- a/charms/istio-pilot/charmcraft.yaml +++ b/charms/istio-pilot/charmcraft.yaml @@ -8,7 +8,7 @@ bases: channel: "20.04" parts: charm: - charm-python-packages: [setuptools, pip, jsonschema, cryptography, cffi] + charm-python-packages: [setuptools, pip] build-packages: [git, rustc, cargo, libffi-dev, libssl-dev, pkg-config] istioctl: plugin: dump diff --git a/charms/istio-pilot/requirements-unit.txt b/charms/istio-pilot/requirements-unit.txt index 2670d22b..724e1242 100644 --- a/charms/istio-pilot/requirements-unit.txt +++ b/charms/istio-pilot/requirements-unit.txt @@ -4,51 +4,68 @@ # # pip-compile requirements-unit.in # -anyio==4.0.0 - # via httpcore -attrs==23.1.0 +annotated-types==0.7.0 + # via pydantic +anyio==4.4.0 + # via httpx +attrs==23.2.0 # via jsonschema -certifi==2023.7.22 +bcrypt==4.2.0 + # via paramiko +cachetools==5.4.0 + # via google-auth +certifi==2024.7.4 # via # httpcore # httpx + # kubernetes # requests cffi==1.16.0 - # via cryptography -charmed-kubeflow-chisme==0.2.0 + # via + # -r requirements.in + # cryptography + # pynacl +charmed-kubeflow-chisme==0.4.2 # via # -r requirements-unit.in # -r requirements.in -charset-normalizer==3.2.0 +charset-normalizer==3.3.2 # via requests -cosl==0.0.11 +cosl==0.0.15 # via -r requirements.in -coverage==7.3.0 - # via -r requirements-unit.in -cryptography==41.0.4 +coverage==7.6.0 # via -r requirements-unit.in +cryptography==43.0.0 + # via + # -r requirements-unit.in + # -r requirements.in + # paramiko deepdiff==6.2.1 # via charmed-kubeflow-chisme -exceptiongroup==1.1.3 +exceptiongroup==1.2.2 # via # anyio # pytest +google-auth==2.32.0 + # via kubernetes h11==0.14.0 # via httpcore -httpcore==0.17.3 +httpcore==1.0.5 # via httpx -httpx==0.24.1 +httpx==0.27.0 # via lightkube -idna==3.4 +hvac==2.3.0 + # via juju +idna==3.7 # via # anyio # httpx # requests -importlib-resources==6.0.1 +importlib-resources==6.4.0 # via jsonschema iniconfig==2.0.0 # via pytest -jinja2==3.1.2 +jinja2==3.1.4 # via # -r requirements-unit.in # -r requirements.in @@ -56,19 +73,32 @@ jinja2==3.1.2 jsonschema==4.17.3 # via # -r requirements-unit.in + # -r requirements.in # serialized-data-interface -lightkube==0.14.0 +juju==3.5.2.0 + # via charmed-kubeflow-chisme +kubernetes==30.1.0 + # via juju +lightkube==0.15.3 # via # -r requirements-unit.in # -r requirements.in # charmed-kubeflow-chisme -lightkube-models==1.26.0.4 +lightkube-models==1.26.0.8 # via # -r requirements.in # lightkube -markupsafe==2.1.3 +macaroonbakery==1.3.4 + # via juju +markupsafe==2.1.5 # via jinja2 -ops==2.13.0 +mypy-extensions==1.0.0 + # via typing-inspect +oauthlib==3.2.2 + # via + # kubernetes + # requests-oauthlib +ops==2.15.0 # via # -r requirements-unit.in # -r requirements.in @@ -77,60 +107,122 @@ ops==2.13.0 # serialized-data-interface ordered-set==4.1.0 # via deepdiff -packaging==23.1 +packaging==24.1 # via # -r requirements.in + # juju # pytest +paramiko==3.4.0 + # via juju pkgutil-resolve-name==1.3.10 # via jsonschema -pluggy==1.3.0 +pluggy==1.5.0 # via pytest -pycparser==2.21 +protobuf==5.27.2 + # via macaroonbakery +pyasn1==0.6.0 + # via + # juju + # pyasn1-modules + # rsa +pyasn1-modules==0.4.0 + # via google-auth +pycparser==2.22 # via cffi -pyrsistent==0.19.3 +pydantic==2.8.2 + # via cosl +pydantic-core==2.20.1 + # via pydantic +pymacaroons==0.13.0 + # via macaroonbakery +pynacl==1.5.0 + # via + # macaroonbakery + # paramiko + # pymacaroons +pyrfc3339==1.1 + # via + # juju + # macaroonbakery +pyrsistent==0.20.0 # via jsonschema -pytest==7.4.1 +pytest==8.3.1 # via # -r requirements-unit.in # pytest-mock -pytest-mock==3.11.1 +pytest-mock==3.14.0 # via -r requirements-unit.in +python-dateutil==2.9.0.post0 + # via kubernetes +pytz==2024.1 + # via pyrfc3339 pyyaml==6.0.1 # via # -r requirements-unit.in # cosl + # juju + # kubernetes # lightkube # ops # serialized-data-interface -requests==2.31.0 +requests==2.32.3 # via # -r requirements.in + # hvac + # kubernetes + # macaroonbakery + # requests-oauthlib # serialized-data-interface -ruamel-yaml==0.17.32 +requests-oauthlib==2.0.0 + # via kubernetes +rsa==4.9 + # via google-auth +ruamel-yaml==0.18.6 # via charmed-kubeflow-chisme -ruamel-yaml-clib==0.2.7 +ruamel-yaml-clib==0.2.8 # via ruamel-yaml serialized-data-interface==0.7.0 # via # -r requirements.in # charmed-kubeflow-chisme -sniffio==1.3.0 +six==1.16.0 + # via + # kubernetes + # macaroonbakery + # pymacaroons + # python-dateutil +sniffio==1.3.1 # via # anyio - # httpcore # httpx -tenacity==8.2.3 +tenacity==8.5.0 # via # -r requirements-unit.in # -r requirements.in # charmed-kubeflow-chisme tomli==2.0.1 # via pytest -typing-extensions==4.11.0 - # via cosl -urllib3==2.0.4 - # via requests -websocket-client==1.6.2 - # via ops -zipp==3.16.2 +toposort==1.10 + # via juju +typing-extensions==4.12.2 + # via + # annotated-types + # anyio + # cosl + # pydantic + # pydantic-core + # typing-inspect +typing-inspect==0.9.0 + # via juju +urllib3==2.2.2 + # via + # kubernetes + # requests +websocket-client==1.8.0 + # via + # kubernetes + # ops +websockets==12.0 + # via juju +zipp==3.19.2 # via importlib-resources diff --git a/charms/istio-pilot/requirements.in b/charms/istio-pilot/requirements.in index 0be48fcb..7fb55682 100644 --- a/charms/istio-pilot/requirements.in +++ b/charms/istio-pilot/requirements.in @@ -12,3 +12,7 @@ serialized-data-interface tenacity # from prometheus_k8s.v0.prometheus_scrape.py cosl +# required for tls interface +jsonschema +cryptography +cffi diff --git a/charms/istio-pilot/requirements.txt b/charms/istio-pilot/requirements.txt index 0d266e8a..32c05187 100644 --- a/charms/istio-pilot/requirements.txt +++ b/charms/istio-pilot/requirements.txt @@ -4,55 +4,89 @@ # # pip-compile requirements.in # -anyio==4.0.0 - # via httpcore -attrs==23.1.0 +annotated-types==0.7.0 + # via pydantic +anyio==4.4.0 + # via httpx +attrs==23.2.0 # via jsonschema -certifi==2023.7.22 +bcrypt==4.2.0 + # via paramiko +cachetools==5.4.0 + # via google-auth +certifi==2024.7.4 # via # httpcore # httpx + # kubernetes # requests -charmed-kubeflow-chisme==0.2.0 +cffi==1.16.0 + # via + # -r requirements.in + # cryptography + # pynacl +charmed-kubeflow-chisme==0.4.2 # via -r requirements.in -charset-normalizer==3.2.0 +charset-normalizer==3.3.2 # via requests -cosl==0.0.11 +cosl==0.0.15 # via -r requirements.in +cryptography==43.0.0 + # via + # -r requirements.in + # paramiko deepdiff==6.2.1 # via charmed-kubeflow-chisme -exceptiongroup==1.1.3 +exceptiongroup==1.2.2 # via anyio +google-auth==2.32.0 + # via kubernetes h11==0.14.0 # via httpcore -httpcore==0.17.3 +httpcore==1.0.5 # via httpx -httpx==0.24.1 +httpx==0.27.0 # via lightkube -idna==3.4 +hvac==2.3.0 + # via juju +idna==3.7 # via # anyio # httpx # requests -importlib-resources==6.0.1 +importlib-resources==6.4.0 # via jsonschema -jinja2==3.1.2 +jinja2==3.1.4 # via # -r requirements.in # charmed-kubeflow-chisme jsonschema==4.17.3 - # via serialized-data-interface -lightkube==0.14.0 + # via + # -r requirements.in + # serialized-data-interface +juju==3.5.2.0 + # via charmed-kubeflow-chisme +kubernetes==30.1.0 + # via juju +lightkube==0.15.3 # via # -r requirements.in # charmed-kubeflow-chisme -lightkube-models==1.26.0.4 +lightkube-models==1.26.0.8 # via # -r requirements.in # lightkube -markupsafe==2.1.3 +macaroonbakery==1.3.4 + # via juju +markupsafe==2.1.5 # via jinja2 -ops==2.13.0 +mypy-extensions==1.0.0 + # via typing-inspect +oauthlib==3.2.2 + # via + # kubernetes + # requests-oauthlib +ops==2.15.0 # via # -r requirements.in # charmed-kubeflow-chisme @@ -60,44 +94,109 @@ ops==2.13.0 # serialized-data-interface ordered-set==4.1.0 # via deepdiff -packaging==23.1 - # via -r requirements.in +packaging==24.1 + # via + # -r requirements.in + # juju +paramiko==3.4.0 + # via juju pkgutil-resolve-name==1.3.10 # via jsonschema -pyrsistent==0.19.3 +protobuf==5.27.2 + # via macaroonbakery +pyasn1==0.6.0 + # via + # juju + # pyasn1-modules + # rsa +pyasn1-modules==0.4.0 + # via google-auth +pycparser==2.22 + # via cffi +pydantic==2.8.2 + # via cosl +pydantic-core==2.20.1 + # via pydantic +pymacaroons==0.13.0 + # via macaroonbakery +pynacl==1.5.0 + # via + # macaroonbakery + # paramiko + # pymacaroons +pyrfc3339==1.1 + # via + # juju + # macaroonbakery +pyrsistent==0.20.0 # via jsonschema +python-dateutil==2.9.0.post0 + # via kubernetes +pytz==2024.1 + # via pyrfc3339 pyyaml==6.0.1 # via # cosl + # juju + # kubernetes # lightkube # ops # serialized-data-interface -requests==2.31.0 +requests==2.32.3 # via # -r requirements.in + # hvac + # kubernetes + # macaroonbakery + # requests-oauthlib # serialized-data-interface -ruamel-yaml==0.17.32 +requests-oauthlib==2.0.0 + # via kubernetes +rsa==4.9 + # via google-auth +ruamel-yaml==0.18.6 # via charmed-kubeflow-chisme -ruamel-yaml-clib==0.2.7 +ruamel-yaml-clib==0.2.8 # via ruamel-yaml serialized-data-interface==0.7.0 # via # -r requirements.in # charmed-kubeflow-chisme -sniffio==1.3.0 +six==1.16.0 + # via + # kubernetes + # macaroonbakery + # pymacaroons + # python-dateutil +sniffio==1.3.1 # via # anyio - # httpcore # httpx -tenacity==8.2.3 +tenacity==8.5.0 # via # -r requirements.in # charmed-kubeflow-chisme -typing-extensions==4.11.0 - # via cosl -urllib3==2.0.4 - # via requests -websocket-client==1.6.2 - # via ops -zipp==3.16.2 +toposort==1.10 + # via juju +typing-extensions==4.12.2 + # via + # annotated-types + # anyio + # cosl + # pydantic + # pydantic-core + # typing-inspect +typing-inspect==0.9.0 + # via juju +urllib3==2.2.2 + # via + # kubernetes + # requests +websocket-client==1.8.0 + # via + # kubernetes + # ops +websockets==12.0 + # via juju +zipp==3.19.2 # via importlib-resources