From 36d353ab583f4a9cc059dbc6304908d8c69e80ff Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Wed, 17 Jan 2024 13:03:05 -0500 Subject: [PATCH 01/32] chore: use upstream constraints (#896) --- .../2023.1/upper-constraints.txt | 589 ----------------- .../2023.2/upper-constraints.txt | 597 ----------------- images/openstack-service/Earthfile | 4 +- .../master/upper-constraints.txt | 603 ------------------ .../zed/upper-constraints.txt | 589 ----------------- 5 files changed, 2 insertions(+), 2380 deletions(-) delete mode 100644 images/openstack-service/2023.1/upper-constraints.txt delete mode 100644 images/openstack-service/2023.2/upper-constraints.txt delete mode 100644 images/openstack-service/master/upper-constraints.txt delete mode 100644 images/openstack-service/zed/upper-constraints.txt diff --git a/images/openstack-service/2023.1/upper-constraints.txt b/images/openstack-service/2023.1/upper-constraints.txt deleted file mode 100644 index beede4e2f..000000000 --- a/images/openstack-service/2023.1/upper-constraints.txt +++ /dev/null @@ -1,589 +0,0 @@ -ntlm-auth==1.5.0 -voluptuous==0.14.1 -chardet==5.2.0 -enum-compat==0.0.3 -rsa==4.9 -restructuredtext-lint==1.4.0 -netmiko==4.3.0 -sshtunnel==0.4.0 -PasteDeploy==2.1.1 -typing==3.10.0.0 -python-saharaclient==4.2.0 -Routes==2.5.1 -rtslib-fb==2.1.76 -oslo.limit==2.2.0 -tzdata==2022.7 -smmap==5.0.1 -confget==4.1.1 -XStatic-Angular-Bootstrap==2.5.0.0 -WebOb==1.8.7 -sphinxcontrib-actdiag==3.0.0 -pecan==1.5.1 -ryu==4.34 -os-api-ref==2.3.0 -python-ldap==3.4.4 -oslo.concurrency==5.2.0 -websocket-client==1.7.0 -osprofiler==3.4.3 -os-resource-classes==1.1.0 -tabulate==0.9.0 -python-ironic-inspector-client==4.9.0 -lxml==4.9.4 -vintage==0.4.1 -ntc-templates==3.5.0 -rst2txt==1.1.0 -setproctitle==1.3.3 -pytest==7.4.4 -python-slugify==6.1.2 -cursive==0.2.3 -oslo.service==3.2.0 -django-appconf==1.0.6 -sphinxcontrib-nwdiag==2.0.0 -rbd-iscsi-client==0.1.8 -requests-aws==0.1.8 -alabaster==0.7.16 -pbr==5.11.1 -munch==2.5.0 -waiting==1.4.1 -attrs==22.2.0 -microversion-parse==1.0.1 -Pint==0.23 -oslo.i18n==6.2.0 -jsonpath-rw-ext==1.2.2 -python-mistralclient==5.1.0 -oslo.context==5.3.0 -python-senlinclient==3.1.0 -rcssmin===1.1.1 -pycadf==3.1.1 -grpcio==1.60.0 -pysendfile==2.0.1 -sniffio==1.3.0 -fixtures==4.1.0 -neutron-lib==3.9.0 -XStatic-FileSaver==1.3.2.0 -oslo.metrics==0.7.0 -storage-interfaces==1.0.5 -persist-queue==0.8.1 -pystache==0.6.5 -XStatic-Font-Awesome==4.7.0.0 -nose==1.3.7 -nosehtmloutput==0.0.7 -waitress==2.1.2 -os-refresh-config==13.2.0 -pysnmp==4.4.12 -Mako==1.3.0 -pyScss==1.4.0 -sphinxcontrib-htmlhelp==2.0.4 -XStatic-jQuery==1.12.4.1 -ddt==1.7.1 -XStatic-Graphlib==2.1.7.0 -pyserial==3.5 -moto==3.1.19 -infi.dtypes.wwn==0.1.1 -python-freezerclient==5.2.0 -os-xenapi==0.3.4 -python-vitrageclient==4.8.0 -nosexcover==1.0.11 -krest==1.3.6 -psycopg2==2.9.9 -networkx==2.8.8 -XStatic-Angular==1.8.2.2 -pyngus==2.3.1 -Pillow==9.5.0 -zuul-sphinx==0.7.0 -tripleo-common==17.0.0 -tripleo-ansible==6.0.0 -Tempita==0.5.2 -ply==3.11 -google-api-core==2.15.0 -requests-toolbelt==0.10.1 -simplejson==3.19.2 -types-paramiko==2.12.0.3 -immutables==0.20 -python-swiftclient==4.4.0 -pyOpenSSL==23.3.0 -monasca-common==3.8.0 -zeroconf==0.131.0 -scipy==1.11.4 -python-gnupg==0.5.2 -mypy-extensions==0.4.4 -rsd-lib==1.2.0 -XStatic-Jasmine==2.4.1.2 -googleapis-common-protos==1.62.0 -python-glanceclient==4.4.0 -jaraco.classes==3.3.0 -pyinotify==0.9.6 -debtcollector==2.5.0 -requests-unixsocket==0.3.0 -responses==0.24.1 -croniter==1.4.1 -octavia-lib==3.4.0 -python-watcherclient==4.2.0 -MarkupSafe==2.1.3 -pypowervm==1.1.27 -ruamel.yaml.clib==0.2.8 -doc8==0.11.2 -pymongo==4.6.1 -python-cloudkittyclient==4.8.0 -soupsieve==2.5 -sqlparse==0.4.4 -oslotest==4.5.0 -jsonpointer==2.4 -defusedxml==0.7.1 -netaddr==0.10.1 -pyghmi==1.5.65 -sphinxcontrib-blockdiag==3.0.0 -thrift==0.16.0 -gnocchiclient==7.0.8 -wcwidth==0.2.13 -sphinxcontrib.datatemplates==0.11.0 -jsonpath-rw==1.4.0 -prettytable==3.9.0 -vine==5.1.0 -taskflow==5.4.0 -traceback2==1.4.0 -arrow==1.3.0 -semantic-version==2.10.0 -async-timeout==4.0.3 -virtualbmc==3.1.0 -deprecation==2.1.0 -SQLAlchemy==1.4.51 -pyroute2==0.7.10 -google-auth==2.26.1 -kazoo==2.9.0 -pyspnego==0.10.2 -XStatic-roboto-fontface==0.5.0.0 -pyudev==0.24.1 -eventlet==0.34.2 -openstack-doc-tools==3.3.1 -oslo.messaging==14.5.0 -jira==3.6.0 -extras==1.0.0 -PyJWT==2.8.0 -typing_extensions==4.9.0 -XStatic-lodash==4.16.4.2 -zVMCloudConnector==1.6.3 -paramiko==2.12.0 -ifaddr==0.2.0 -reno==4.0.0 -ncclient==0.6.15 -imagesize==1.4.1 -pydot==1.4.2 -urllib3==1.26.18 -graphviz==0.20.1 -PyKMIP==0.10.0 -whereto==0.4.0 -pywbem==1.6.2 -python-subunit==1.4.4 -tornado==6.4 -pycparser==2.21 -mock==4.0.3 -PyYAML==6.0.1 -beautifulsoup4==4.12.2 -os-net-config==16.0.0 -ovs==2.17.7 -cryptography==41.0.7 -httpcore==0.18.0 -URLObject==2.4.3 -nocasedict==1.1.2 -task-core==0.2.1 -psycopg2-binary==2.9.9 -openstack-release-test==3.9.0 -validations-libs==1.9.0 -pylxd==2.3.1 -pycryptodomex==3.20.0 -anyjson==0.3.3 -requests-mock==1.11.0 -os-apply-config==13.2.0 -prometheus-client==0.19.0 -oslosphinx==4.18.0 -gunicorn==20.1.0 -storpool==7.3.0 -textfsm==1.1.3 -python-3parclient==4.2.12 -unittest2==1.1.0 -django-compressor==4.4 -python-zunclient==4.7.0 -tzlocal==4.3.1 -sphinxcontrib-jsmath==1.0.1 -python-novaclient==18.4.0 -pact==1.12.0 -bcrypt==4.1.2 -os-client-config==2.1.0 -XStatic-Angular-Gettext==2.4.1.0 -Deprecated==1.2.14 -h11==0.14.0 -Pygments==2.17.2 -XStatic-Hogan==2.0.0.3 -XStatic-objectpath==1.2.1.0 -python-manilaclient==4.7.0 -sphinxcontrib-serializinghtml==1.1.9 -requests==2.31.0 -snowballstemmer==2.2.0 -Jinja2==3.1.2 -XStatic-Bootstrap-SCSS==3.4.1.0 -pyzabbix==1.3.1 -ptyprocess==0.7.0 -threadloop==1.0.2 -amqp==5.2.0 -ruamel.yaml==0.18.5 -websockify==0.11.0 -gssapi==1.8.3 -XStatic-JQuery.quicksearch==2.0.3.2 -mpmath==1.3.0 -python-binary-memcached==0.31.2 -django-debreach==2.1.0 -sphinx-feature-classification==1.1.0 -django-pymemcache==1.0.0 -XStatic-JQuery-Migrate==1.2.1.2 -pytest-html==3.2.0 -appdirs==1.4.4 -tinyrpc==1.1.7 -google-auth-httplib2==0.2.0 -daiquiri==3.2.3 -influxdb==5.3.1 -funcparserlib==1.0.1 -passlib==1.7.4 -dib-utils==0.0.11 -cliff==4.4.0 -os-brick==6.5.0 -ansible-runner==2.3.4 -pytz-deprecation-shim==0.1.0.post0 -scp==0.14.5 -python-zaqarclient==2.6.0 -lockfile==0.12.2 -ldappool==3.0.0 -termcolor==2.4.0 -joblib==1.3.2 -google-api-python-client==2.113.0 -castellan==4.3.0 -oslo.versionedobjects==3.2.0 -ssh-python==0.10.0 -enmerkar==0.7.1 -webcolors==1.13 -aodhclient==3.4.0 -autobahn==22.12.1 -SQLAlchemy-Utils==0.41.1 -retryz==0.1.9 -pluggy==1.3.0 -coverage==6.5.0 -freezegun==1.4.0 -toml==0.10.2 -pycdlib==1.14.0 -pyperclip==1.8.2 -cassandra-driver==3.29.0 -XStatic-Angular-Schema-Form==0.8.13.0 -gabbi==2.11.0 -nwdiag==3.0.0 -XStatic-bootswatch==3.3.7.0 -pytest-xdist==2.5.0 -XStatic-JS-Yaml==3.8.1.0 -XStatic-term.js==0.0.7.0 -oslo.log==5.4.0 -nodeenv==1.8.0 -gossip==2.4.0 -suds-community==1.1.2 -importlib-metadata==5.2.0 -oslo.middleware==5.2.0 -XStatic-mdi==1.6.50.2 -django-pyscss==2.0.3 -uritemplate==4.1.1 -docutils==0.20.1 -threadpoolctl==3.2.0 -os-ken==2.8.0 -ujson==5.9.0 -selenium==3.141.0 -mypy==0.991 -mistral-lib==2.9.0 -dogtag-pki==11.2.1 -XStatic-Angular-UUID==0.0.4.0 -purestorage==1.19.0 -sphinxcontrib-seqdiag==3.0.0 -os-win==5.9.0 -capacity==1.3.14 -retrying==1.3.4 -XStatic-Dagre==0.6.4.1 -platformdirs==3.11.0 -pydotplus==2.0.2 -boto3==1.34.15 -jeepney==0.8.0 -stestr==4.1.0 -oslo.serialization==5.2.0 -warlock==2.0.1 -exabgp==4.2.21 -sphinxcontrib-httpdomain==1.8.1 -metalsmith==1.10.0 -s3transfer==0.10.0 -text-unidecode==1.3 -sphinxcontrib-svg2pdfconverter==1.2.2 -murano-pkg-check==0.3.0 -oslo.vmware==4.3.0 -XStatic-moment==2.8.4.3 -autopage==0.5.2 -sqlalchemy-migrate==0.13.0 -gitdb==4.0.11 -python-monascaclient==2.8.0 -ldap3==2.9.1 -requests-ntlm==1.2.0 -sphinx-rtd-theme==0.5.2 -automaton==3.2.0 -os-service-types==1.7.0 -keyring==23.13.1 -elementpath==4.1.5 -testscenarios==0.5.0 -sphinxcontrib-pecanwsme==0.11.0 -sadisplay==0.4.9 -infinisdk==206.1.2 -packaging==21.3 -XStatic-Dagre-D3==0.4.17.0 -nose-exclude==0.5.0 -psutil==5.9.7 -py==1.11.0 -txaio==22.2.1 -elasticsearch==2.4.1 -django-nose==1.4.7 -asgiref==3.7.2 -XStatic-JQuery.TableSorter==2.14.5.2 -pifpaf==3.1.5 -pysmi==0.3.4 -blockdiag==3.0.0 -testtools==2.7.1 -infi.dtypes.iqn==0.4.0 -XStatic-tv4==1.2.7.0 -XStatic-JSEncrypt==2.3.1.1 -python-cinderclient==9.4.0 -keystonemiddleware==10.5.0 -django-formtools==2.5.1 -XStatic-Spin==1.2.5.3 -tap-as-a-service==11.0.0 -os-traits==2.10.0 -typepy==1.3.2 -SecretStorage==3.3.3 -opentracing==2.4.0 -XStatic-Rickshaw==1.5.1.0 -iso8601==1.1.0 -tooz==3.2.0 -linecache2==1.0.0 -oauth2client==4.1.3 -idna==3.6 -yamlloader==1.3.2 -protobuf==4.25.1 -pyhcl==0.4.5 -sushy==4.7.0 -python-neutronclient==9.0.0 -pika==1.3.2 -oslo.cache==3.5.0 -WebTest==3.0.0 -openstack.nose-plugin==0.11 -os-collect-config==13.2.0 -edgegrid-python==1.3.1 -python-qpid-proton==0.39.0 -python-octaviaclient==3.6.0 -pysaml2==7.4.2 -requests-oauthlib==1.3.1 -oslo.reports==3.1.0 -bitmath==1.3.3.1 -ceilometermiddleware==3.2.0 -testrepository==0.0.20 -sympy==1.12 -Logbook==1.7.0.post0 -PyNaCl==1.5.0 -osc-lib==2.9.0 -python-consul==1.1.0 -more-itertools==8.14.0 -seqdiag==3.0.0 -numpy==1.26.3 -msgpack==1.0.7 -Sphinx==4.5.0 -oslo.config==9.2.0 -openstackdocstheme==3.2.0 -osc-placement==4.2.0 -zake==0.2.2 -python-rsdclient==1.0.2 -flux==1.3.5 -python-solumclient==3.8.0 -krb5==0.5.1 -PyMySQL==1.1.0 -uhashring==2.3 -kubernetes==24.2.0 -httplib2==0.22.0 -betamax==0.8.1 -construct==2.10.70 -pytest-metadata==2.0.4 -pyparsing==3.1.1 -geomet==0.3.0 -distlib==0.3.8 -XStatic-Moment-Timezone==0.5.22.0 -dogpile.cache==1.3.0 -python-barbicanclient==5.6.1 -salt==3005.4 -api-object-schema==2.0.0 -WSME==0.12.1 -tomli==2.0.1 -proboscis==1.2.6.0 -oslo.upgradecheck==2.2.0 -stevedore==5.1.0 -pywinrm==0.4.3 -botocore==1.34.15 -xmltodict==0.13.0 -pyasn1==0.5.1 -directord==0.12.0 -oslo.rootwrap==7.1.0 -Django==3.2.23 -pexpect==4.9.0 -contextvars==2.4 -cmd2==2.4.3 -python-json-logger==2.0.7 -redis==4.6.0 -jmespath==1.0.1 -click==8.1.7 -XStatic-smart-table==1.4.13.2 -kuryr-lib==2.8.0 -scrypt==0.8.20 -jsonpatch==1.33 -python-daemon==2.3.2 -types-cryptography==3.3.23.2 -os-testr==3.0.0 -cotyledon==1.7.3 -xattr==0.10.1 -systemd-python==234 -python-memcached<=1.61 -openstacksdk==2.0.0 -six==1.16.0 -dulwich==0.21.7 -dfs-sdk==1.2.27 -sentinels==1.0.0 -kombu==5.3.4 -distro==1.9.0 -zstd==1.5.5.1 -yaql==2.0.0 -requestsexceptions==1.4.0 -testresources==2.0.1 -falcon==3.1.3 -etcd3gw==2.3.0 -Flask-RESTful==0.3.10 -GitPython==3.1.41 -python-ironicclient==5.4.0 -XStatic==1.0.3 -XStatic-Angular-FileUpload==12.2.13.0 -python-openstackclient==6.4.0 -pyzmq==20.0.0 -nocaselist==1.1.1 -oslo.db==12.3.2 -simplegeneric==0.8.1 -python-pcre==0.7 -yappi==1.6.0 -mbstrdecoder==1.1.3 -abclient==0.2.3 -pymemcache==3.5.2 -wrapt==1.16.0 -oslo.privsep==3.2.0 -sphinxcontrib-apidoc==0.4.0 -oslo.policy==4.2.1 -python-muranoclient==2.7.0 -hvac==1.2.1 -pyeclib==1.6.1 -wsgi-intercept==1.13.0 -ndg-httpsclient==0.5.1 -pyrsistent==0.20.0 -repoze.lru==0.7 -rfc3986==1.5.0 -tenacity==6.3.1 -python-designateclient==5.3.0 -future==0.18.3 -Paste==3.7.1 -pytest-django==4.7.0 -jaeger-client==4.8.0 -XStatic-Json2yaml==0.1.1.0 -boto==2.49.0 -os-vif==3.3.0 -hyperlink==21.0.0 -mitba==1.1.1 -python-masakariclient==8.3.0 -Werkzeug==2.3.8 -pyasn1-modules==0.3.0 -APScheduler==3.10.4 -monotonic==1.6 -xmlschema==2.5.1 -python-troveclient==8.2.1 -etcd3==0.12.0 -cachez==0.1.2 -XStatic-Bootstrap-Datepicker==1.4.0.0 -CouchDB==1.2 -netifaces==0.11.0 -cachetools==5.3.2 -ws4py==0.5.1 -sphinxcontrib-qthelp==1.0.6 -keystoneauth1==5.4.0 -statsd==3.3.0 -XenAPI==2.15 -python-keystoneclient==5.2.0 -ceilometer==20.0.0 -diskimage-builder==3.32.0 -heat-translator==2.8.0 -python-magnumclient==4.3.0 -docker==6.1.3 -storops==1.2.11 -anyio==3.7.1 -XStatic-Angular-lrdragndrop==1.0.2.6 -ovsdbapp==2.5.0 -aniso8601==9.0.1 -rjsmin===1.2.1 -icalendar==4.1.1 -decorator==5.1.1 -DateTimeRange==1.2.0 -cffi==1.16.0 -python-cyborgclient==2.3.0 -futurist==2.4.1 -jsonschema==4.20.0 -sphinxcontrib-devhelp==1.0.5 -python-blazarclient==3.7.0 -alembic==1.13.1 -execnet==1.9.0 -sphinxcontrib-programoutput==0.17 -storpool.spopenstack==3.2.0 -sphinx-testing==1.0.1 -dnspython==2.4.2 -oauthlib==3.2.2 -Babel==2.14.0 -logutils==0.3.5 -zipp==3.17.0 -greenlet==1.1.3.post0 -XStatic-Angular-Vis==4.16.0.0 -iniconfig==1.1.1 -confluent-kafka==1.9.2 -xvfbwrapper==0.2.9 -tosca-parser==2.9.1 -charset-normalizer==2.1.1 -Flask==2.3.3 -httpx==0.26.0 -sqlalchemy-filters==0.13.0 -marathon==0.13.0 -sphinxcontrib-runcmd==0.2.0 -confspirator==0.3.0 -fasteners==0.19 -sortedcontainers==2.4.0 -python-linstor==1.20.1 -filelock==3.13.1 -python-tackerclient==1.14.0 -python-heatclient==3.3.0 -kafka-python==2.0.2 -oslo.utils==6.3.0 -gitdb2==4.0.2 -requests-kerberos==0.14.0 -itsdangerous==2.1.2 -XStatic-jquery-ui==1.13.0.1 -monasca-statsd==2.7.0 -python-dateutil==2.8.2 -virtualenv==20.25.0 -colorama==0.4.6 -confetti==2.5.3 -ironic-lib==5.5.0 -pytz==2022.7.1 -pytest-forked==1.6.0 -XStatic-D3==3.5.17.0 -actdiag==3.0.0 -sysv-ipc==1.1.0 -sphinxcontrib-applehelp==1.0.7 -scikit-learn==1.3.2 -pytest-cov==4.1.0 diff --git a/images/openstack-service/2023.2/upper-constraints.txt b/images/openstack-service/2023.2/upper-constraints.txt deleted file mode 100644 index 2e62bc784..000000000 --- a/images/openstack-service/2023.2/upper-constraints.txt +++ /dev/null @@ -1,597 +0,0 @@ -voluptuous==0.14.1 -chardet==5.2.0 -enum-compat==0.0.3 -rsa==4.9 -restructuredtext-lint==1.4.0 -netmiko==4.3.0 -sshtunnel==0.4.0 -PasteDeploy==3.1.0 -typing==3.10.0.0 -python-saharaclient==4.2.0 -Routes==2.5.1 -rtslib-fb==2.1.76 -oslo.limit==2.2.0 -tzdata==2023.4 -smmap==5.0.1 -confget==5.1.2 -XStatic-Angular-Bootstrap==2.5.0.0 -WebOb==1.8.7 -sphinxcontrib-actdiag==3.0.0 -pecan==1.5.1 -os-api-ref==3.0.0 -python-ldap==3.4.4 -oslo.concurrency==5.2.0 -websocket-client==1.7.0 -osprofiler==4.1.0 -os-resource-classes==1.1.0 -tabulate==0.9.0 -python-ironic-inspector-client==5.0.0 -lxml==4.9.4 -vintage==0.4.1 -ntc-templates==3.5.0 -rst2txt==1.1.0 -setproctitle==1.3.3 -pytest==7.4.4 -python-slugify==8.0.1 -cursive==0.2.3 -oslo.service==3.2.0 -django-appconf==1.0.6 -sphinxcontrib-jquery==4.1 -sphinxcontrib-nwdiag==2.0.0 -rbd-iscsi-client==0.1.8 -requests-aws==0.1.8 -alabaster==0.7.16 -pbr==5.11.1 -munch==2.5.0 -waiting==1.4.1 -attrs==23.2.0 -microversion-parse==1.0.1 -Pint==0.23 -oslo.i18n==6.2.0 -jsonpath-rw-ext==1.2.2 -python-mistralclient==5.1.0 -oslo.context==5.3.0 -python-senlinclient==3.1.0 -rcssmin===1.1.1 -pycadf==3.1.1 -grpcio==1.60.0 -pysendfile==2.0.1 -sniffio==1.3.0 -fixtures==4.1.0 -neutron-lib==3.9.0 -tripleo-ansible==6.0.0 -XStatic-FileSaver==1.3.2.0 -oslo.metrics==0.7.0 -storage-interfaces==1.0.5 -persist-queue==0.8.1 -pystache==0.6.5 -XStatic-Font-Awesome==4.7.0.0 -nose==1.3.7 -nosehtmloutput==0.0.7 -waitress==2.1.2 -os-refresh-config==13.2.0 -pysnmp==4.4.12 -pysnmp-lextudio==5.0.32 -types-PyYAML==6.0.12.12 -Mako==1.3.0 -pyScss==1.4.0 -sphinxcontrib-htmlhelp==2.0.4 -XStatic-jQuery==3.5.1.1 -ddt==1.7.1 -XStatic-Graphlib==2.1.7.0 -pyserial==3.5 -moto==4.2.13 -infi.dtypes.wwn==0.1.1 -python-freezerclient==5.2.0 -os-xenapi==0.3.4 -python-vitrageclient==4.8.0 -nosexcover==1.0.11 -krest==1.3.6 -psycopg2==2.9.9 -networkx==3.2.1 -XStatic-Angular==1.8.2.2 -pyngus==2.3.1 -Pillow==9.5.0 -zuul-sphinx==0.7.0 -tripleo-common==18.0.0 -Tempita==0.5.2 -ply==3.11 -google-api-core==2.15.0 -requests-toolbelt==0.10.1 -simplejson==3.19.2 -types-paramiko==3.4.0.20240106 -immutables==0.20 -python-swiftclient==4.4.0 -pyOpenSSL==23.3.0 -monasca-common==3.8.0 -zeroconf==0.131.0 -scipy==1.11.4 -opentelemetry-exporter-otlp==1.22.0 -python-gnupg==0.5.2 -mypy-extensions==1.0.0 -rsd-lib==1.2.0 -XStatic-Jasmine==2.4.1.2 -googleapis-common-protos==1.62.0 -python-glanceclient==4.4.0 -jaraco.classes==3.3.0 -pyinotify==0.9.6 -debtcollector==2.5.0 -requests-unixsocket==0.3.0 -responses==0.24.1 -croniter==1.4.1 -octavia-lib==3.4.0 -python-watcherclient==4.2.0 -MarkupSafe==2.1.3 -pypowervm==1.1.27 -ruamel.yaml.clib==0.2.8 -doc8==0.11.2 -pymongo==4.6.1 -python-cloudkittyclient==4.8.0 -soupsieve==2.5 -sqlparse==0.4.4 -oslotest==4.5.0 -jsonpointer==2.4 -defusedxml==0.7.1 -opentelemetry-sdk==1.22.0 -netaddr==0.10.1 -pyghmi==1.5.65 -sphinxcontrib-blockdiag==3.0.0 -thrift==0.16.0 -gnocchiclient==7.0.8 -backoff==2.2.1 -wcwidth==0.2.13 -sphinxcontrib.datatemplates==0.11.0 -jsonpath-rw==1.4.0 -prettytable==3.9.0 -vine==5.1.0 -taskflow==5.4.0 -traceback2==1.4.0 -arrow==1.3.0 -semantic-version==2.10.0 -async-timeout==4.0.3 -virtualbmc==3.1.0 -deprecation==2.1.0 -SQLAlchemy==1.4.51 -pyroute2==0.7.10 -google-auth==2.26.1 -kazoo==2.9.0 -pyspnego==0.10.2 -XStatic-roboto-fontface==0.5.0.0 -pyudev==0.24.1 -eventlet==0.34.2 -openstack-doc-tools==3.3.1 -oslo.messaging==14.5.0 -jira==3.6.0 -extras==1.0.0 -PyJWT==2.8.0 -typing_extensions==4.9.0 -XStatic-lodash==4.16.4.2 -zVMCloudConnector==1.6.3 -paramiko==3.4.0 -ifaddr==0.2.0 -reno==4.0.0 -ncclient==0.6.15 -imagesize==1.4.1 -pydot==1.4.2 -urllib3==1.26.18 -graphviz==0.20.1 -PyKMIP==0.10.0 -whereto==0.4.0 -pywbem==1.6.2 -python-subunit==1.4.4 -tornado==6.4 -pycparser==2.21 -mock==5.1.0 -PyYAML==6.0.1 -beautifulsoup4==4.12.2 -os-net-config==16.0.0 -ovs==2.17.7 -cryptography==41.0.7 -httpcore==0.18.0 -URLObject==2.4.3 -nocasedict==2.0.1 -task-core==0.2.1 -psycopg2-binary==2.9.9 -openstack-release-test==4.1.0 -validations-libs==1.9.0 -pylxd==2.3.1 -pycryptodomex==3.20.0 -requests-mock==1.11.0 -os-apply-config==13.2.0 -prometheus-client==0.19.0 -oslosphinx==4.18.0 -gunicorn==20.1.0 -storpool==7.3.0 -textfsm==1.1.3 -python-3parclient==4.2.12 -unittest2==1.1.0 -django-compressor==4.4 -python-zunclient==4.7.0 -tzlocal==4.3.1 -sphinxcontrib-jsmath==1.0.1 -python-novaclient==18.4.0 -pact==1.12.0 -bcrypt==4.1.2 -exceptiongroup==1.2.0 -os-client-config==2.1.0 -XStatic-Angular-Gettext==2.4.1.0 -Deprecated==1.2.14 -h11==0.14.0 -Pygments==2.17.2 -XStatic-Hogan==2.0.0.3 -XStatic-objectpath==1.2.1.0 -python-manilaclient==4.7.0 -sphinxcontrib-serializinghtml==1.1.9 -requests==2.31.0 -snowballstemmer==2.2.0 -Jinja2==3.1.2 -XStatic-Bootstrap-SCSS==3.4.1.0 -pyzabbix==1.3.1 -ptyprocess==0.7.0 -threadloop==1.0.2 -amqp==5.2.0 -ruamel.yaml==0.18.5 -websockify==0.11.0 -gssapi==1.8.3 -XStatic-JQuery.quicksearch==2.0.3.2 -mpmath==1.3.0 -python-binary-memcached==0.31.2 -django-debreach==2.1.0 -sphinx-feature-classification==1.1.0 -django-pymemcache==1.0.0 -XStatic-JQuery-Migrate==3.3.2.1 -pytest-html==3.2.0 -appdirs==1.4.4 -tinyrpc==1.1.7 -google-auth-httplib2==0.2.0 -daiquiri==3.2.3 -influxdb==5.3.1 -funcparserlib==1.0.1 -passlib==1.7.4 -dib-utils==0.0.11 -cliff==4.4.0 -os-brick==6.5.0 -ansible-runner==2.3.4 -pytz-deprecation-shim==0.1.0.post0 -scp==0.14.5 -python-zaqarclient==2.6.0 -lockfile==0.12.2 -ldappool==3.0.0 -termcolor==2.4.0 -joblib==1.3.2 -google-api-python-client==2.113.0 -castellan==4.3.0 -oslo.versionedobjects==3.2.0 -ssh-python==1.0.0 -enmerkar==0.7.1 -webcolors==1.13 -aodhclient==3.4.0 -autobahn==23.6.2 -SQLAlchemy-Utils==0.41.1 -retryz==0.1.9 -pluggy==1.3.0 -coverage==7.4.0 -freezegun==1.4.0 -toml==0.10.2 -pycdlib==1.14.0 -pyperclip==1.8.2 -cassandra-driver==3.29.0 -XStatic-Angular-Schema-Form==0.8.13.0 -opentelemetry-exporter-otlp-proto-http==1.22.0 -gabbi==2.11.0 -nwdiag==3.0.0 -XStatic-bootswatch==3.3.7.0 -pytest-xdist==3.5.0 -XStatic-JS-Yaml==3.8.1.0 -XStatic-term.js==0.0.7.0 -oslo.log==5.4.0 -nodeenv==1.8.0 -gossip==2.4.0 -suds-community==1.1.2 -importlib-metadata==6.11.0 -oslo.middleware==5.2.0 -XStatic-mdi==1.6.50.2 -django-pyscss==2.0.3 -uritemplate==4.1.1 -docutils==0.20.1 -threadpoolctl==3.2.0 -os-ken==2.8.0 -ujson==5.9.0 -selenium==3.141.0 -mypy==1.8.0 -mistral-lib==2.9.0 -dogtag-pki==11.2.1 -XStatic-Angular-UUID==0.0.4.0 -purestorage==1.19.0 -sphinxcontrib-seqdiag==3.0.0 -os-win==5.9.0 -capacity==1.3.14 -retrying==1.3.4 -XStatic-Dagre==0.6.4.1 -platformdirs==3.11.0 -pydotplus==2.0.2 -boto3==1.34.15 -jeepney==0.8.0 -stestr==4.1.0 -oslo.serialization==5.2.0 -warlock==2.0.1 -exabgp==4.2.21 -sphinxcontrib-httpdomain==1.8.1 -metalsmith==2.1.0 -s3transfer==0.10.0 -text-unidecode==1.3 -sphinxcontrib-svg2pdfconverter==1.2.2 -murano-pkg-check==0.3.0 -oslo.vmware==4.3.0 -XStatic-moment==2.8.4.3 -autopage==0.5.2 -sqlalchemy-migrate==0.13.0 -gitdb==4.0.11 -python-monascaclient==2.8.0 -ldap3==2.9.1 -opentelemetry-api==1.22.0 -requests-ntlm==1.2.0 -automaton==3.2.0 -os-service-types==1.7.0 -keyring==23.13.1 -elementpath==4.1.5 -testscenarios==0.5.0 -sphinxcontrib-pecanwsme==0.11.0 -sadisplay==0.4.9 -infinisdk==215.1.5 -packaging==23.2 -opentelemetry-exporter-otlp-proto-grpc==1.22.0 -XStatic-Dagre-D3==0.4.17.0 -nose-exclude==0.5.0 -psutil==5.9.7 -py==1.11.0 -txaio==23.1.1 -elasticsearch==2.4.1 -django-nose==1.4.7 -asgiref==3.7.2 -XStatic-JQuery.TableSorter==2.14.5.2 -pifpaf==3.1.5 -pysmi==0.3.4 -blockdiag==3.0.0 -testtools==2.7.1 -infi.dtypes.iqn==0.4.0 -XStatic-tv4==1.2.7.0 -XStatic-JSEncrypt==2.3.1.1 -python-cinderclient==9.4.0 -keystonemiddleware==10.5.0 -django-formtools==2.5.1 -XStatic-Spin==1.2.5.3 -tap-as-a-service==12.0.0 -os-traits==3.0.0 -typepy==1.3.2 -SecretStorage==3.3.3 -opentracing==2.4.0 -XStatic-Rickshaw==1.5.1.0 -iso8601==1.1.0 -tooz==4.3.0 -linecache2==1.0.0 -oauth2client==4.1.3 -idna==3.6 -yamlloader==1.3.2 -protobuf==4.25.1 -pyhcl==0.4.5 -sushy==4.7.0 -python-neutronclient==11.1.0 -pika==1.3.2 -oslo.cache==3.5.0 -WebTest==3.0.0 -openstack.nose-plugin==0.11 -os-collect-config==13.2.0 -edgegrid-python==1.3.1 -python-qpid-proton==0.39.0 -python-octaviaclient==3.6.0 -pysaml2==7.4.2 -requests-oauthlib==1.3.1 -oslo.reports==3.1.0 -bitmath==1.3.3.1 -ceilometermiddleware==3.2.0 -testrepository==0.0.20 -sympy==1.12 -Logbook==1.7.0.post0 -PyNaCl==1.5.0 -osc-lib==2.9.0 -python-consul==1.1.0 -more-itertools==9.1.0 -seqdiag==3.0.0 -numpy==1.26.3 -msgpack==1.0.7 -Sphinx==6.2.1 -oslo.config==9.2.0 -openstackdocstheme==3.2.0 -osc-placement==4.2.0 -zake==0.2.2 -python-rsdclient==1.0.2 -flux==1.3.5 -python-solumclient==3.8.0 -krb5==0.5.1 -PyMySQL==1.1.0 -uhashring==2.3 -kubernetes==26.1.0 -httplib2==0.22.0 -betamax==0.8.1 -construct==2.10.70 -pytest-metadata==2.0.4 -pyparsing==3.1.1 -geomet==0.3.0 -distlib==0.3.8 -XStatic-Moment-Timezone==0.5.22.0 -dogpile.cache==1.3.0 -python-barbicanclient==5.6.1 -salt==3006.5 -opentelemetry-semantic-conventions==0.38b0 -api-object-schema==2.0.0 -WSME==0.12.1 -tomli==2.0.1 -proboscis==1.2.6.0 -oslo.upgradecheck==2.2.0 -stevedore==5.1.0 -pywinrm==0.4.3 -botocore==1.34.15 -xmltodict==0.13.0 -pyasn1==0.5.1 -pyasn1-lextudio==1.1.2 -directord==0.12.0 -oslo.rootwrap==7.1.0 -Django==3.2.23 -pexpect==4.9.0 -contextvars==2.4 -cmd2==2.4.3 -python-json-logger==2.0.7 -redis==4.6.0 -jmespath==1.0.1 -click==8.1.7 -XStatic-smart-table==1.4.13.2 -kuryr-lib==2.8.0 -scrypt==0.8.20 -jsonpatch==1.33 -python-daemon==3.0.1 -os-testr==3.0.0 -cotyledon==1.7.3 -xattr==0.10.1 -systemd-python==235 -python-memcached<=1.61 -openstacksdk==2.0.0 -looseversion==1.3.0 -six==1.16.0 -dulwich==0.21.7 -dfs-sdk==1.2.27 -sentinels==1.0.0 -kombu==5.3.4 -distro==1.9.0 -zstd==1.5.5.1 -yaql==2.0.0 -requestsexceptions==1.4.0 -testresources==2.0.1 -falcon==3.1.3 -etcd3gw==2.3.0 -Flask-RESTful==0.3.10 -GitPython==3.1.41 -python-ironicclient==5.4.0 -XStatic==1.0.3 -XStatic-Angular-FileUpload==12.2.13.0 -python-openstackclient==6.4.0 -pyzmq==25.1.2 -nocaselist==1.1.1 -oslo.db==14.1.0 -simplegeneric==0.8.1 -python-pcre==0.7 -yappi==1.6.0 -mbstrdecoder==1.1.3 -abclient==0.2.3 -pymemcache==4.0.0 -wrapt==1.16.0 -oslo.privsep==3.2.0 -sphinxcontrib-apidoc==0.4.0 -oslo.policy==4.2.1 -python-muranoclient==2.7.0 -hvac==1.2.1 -pyeclib==1.6.1 -wsgi-intercept==1.13.0 -ndg-httpsclient==0.5.1 -pyrsistent==0.20.0 -repoze.lru==0.7 -rfc3986==2.0.0 -tenacity==6.3.1 -python-designateclient==5.3.0 -future==0.18.3 -pytest-cov==4.1.0 -Paste==3.7.1 -pytest-django==4.7.0 -jaeger-client==4.8.0 -XStatic-Json2yaml==0.1.1.0 -boto==2.49.0 -os-vif==3.3.0 -hyperlink==21.0.0 -mitba==1.1.1 -python-masakariclient==8.3.0 -Werkzeug==2.3.8 -pyasn1-modules==0.3.0 -pyasn1-modules-lextudio==0.2.9 -APScheduler==3.10.4 -xmlschema==2.5.1 -python-troveclient==8.2.1 -etcd3==0.12.0 -cachez==0.1.2 -XStatic-Bootstrap-Datepicker==1.4.0.0 -CouchDB==1.2 -netifaces==0.11.0 -cachetools==5.3.2 -ws4py==0.5.1 -sphinxcontrib-qthelp==1.0.6 -keystoneauth1==5.4.0 -statsd==4.0.1 -XenAPI==23.32.0 -python-keystoneclient==5.2.0 -ceilometer==21.0.0 -diskimage-builder==3.32.0 -heat-translator==2.8.0 -python-magnumclient==4.3.0 -docker==6.1.3 -storops==1.2.11 -anyio==3.7.1 -XStatic-Angular-lrdragndrop==1.0.2.6 -ovsdbapp==2.5.0 -aniso8601==9.0.1 -rjsmin===1.2.1 -icalendar==5.0.11 -decorator==5.1.1 -DateTimeRange==2.2.0 -cffi==1.16.0 -python-cyborgclient==2.3.0 -futurist==2.4.1 -jsonschema==4.20.0 -sphinxcontrib-devhelp==1.0.5 -python-blazarclient==3.7.0 -alembic==1.13.1 -execnet==1.9.0 -sphinxcontrib-programoutput==0.17 -storpool.spopenstack==3.2.0 -sphinx-testing==1.0.1 -dnspython==2.4.2 -oauthlib==3.2.2 -Babel==2.14.0 -logutils==0.3.5 -zipp==3.17.0 -greenlet==2.0.2 -XStatic-Angular-Vis==4.16.0.0 -iniconfig==2.0.0 -confluent-kafka==2.3.0 -xvfbwrapper==0.2.9 -tosca-parser==2.9.1 -charset-normalizer==3.3.2 -Flask==2.3.3 -httpx==0.26.0 -sqlalchemy-filters==0.13.0 -marathon==0.13.0 -sphinxcontrib-runcmd==0.2.0 -confspirator==0.3.0 -fasteners==0.19 -sortedcontainers==2.4.0 -python-linstor==1.20.1 -filelock==3.13.1 -python-tackerclient==1.14.0 -python-heatclient==3.3.0 -kafka-python==2.0.2 -oslo.utils==6.3.0 -gitdb2==4.0.2 -requests-kerberos==0.14.0 -itsdangerous==2.1.2 -XStatic-jquery-ui==1.13.0.1 -monasca-statsd==2.7.0 -python-dateutil==2.8.2 -virtualenv==20.25.0 -colorama==0.4.6 -confetti==2.5.3 -ironic-lib==5.5.0 -pytz==2023.3.post1 -opentelemetry-proto==1.22.0 -XStatic-D3==3.5.17.0 -actdiag==3.0.0 -sysv-ipc==1.1.0 -sphinxcontrib-applehelp==1.0.7 -scikit-learn==1.3.2 diff --git a/images/openstack-service/Earthfile b/images/openstack-service/Earthfile index 702943290..b4ead280e 100644 --- a/images/openstack-service/Earthfile +++ b/images/openstack-service/Earthfile @@ -36,8 +36,8 @@ BUILD_VENV: requirements: FROM ../base+image ARG RELEASE - COPY ${RELEASE}/upper-constraints.txt /upper-constraints.txt - SAVE ARTIFACT /upper-constraints.txt + GIT CLONE --branch stable/${RELEASE} https://github.com/openstack/requirements /src + SAVE ARTIFACT /src/upper-constraints.txt builder: ARG RELEASE diff --git a/images/openstack-service/master/upper-constraints.txt b/images/openstack-service/master/upper-constraints.txt deleted file mode 100644 index 667fcb5b0..000000000 --- a/images/openstack-service/master/upper-constraints.txt +++ /dev/null @@ -1,603 +0,0 @@ -voluptuous==0.14.1 -chardet==5.2.0 -enum-compat==0.0.3 -rsa==4.9 -restructuredtext-lint==1.4.0 -netmiko==4.3.0 -sshtunnel==0.4.0 -PasteDeploy==3.1.0 -typing==3.10.0.0 -python-saharaclient==4.2.0 -Routes==2.5.1 -rtslib-fb==2.1.76 -oslo.limit==2.2.0 -tzdata==2023.4 -smmap==5.0.1 -confget==5.1.2 -XStatic-Angular-Bootstrap==2.5.0.0 -WebOb==1.8.7 -sphinxcontrib-actdiag==3.0.0 -pecan==1.5.1 -os-api-ref==3.0.0 -python-ldap==3.4.4 -oslo.concurrency==5.2.0 -websocket-client==1.7.0 -osprofiler==4.1.0 -os-resource-classes==1.1.0 -tabulate==0.9.0 -python-ironic-inspector-client==5.0.0 -lxml==4.9.4 -vintage==0.4.1 -ntc-templates==3.5.0 -rst2txt==1.1.0 -setproctitle==1.3.3 -pytest==7.4.4 -python-slugify==8.0.1 -cursive==0.2.3 -oslo.service==3.2.0 -django-appconf==1.0.6 -sphinxcontrib-nwdiag==2.0.0 -rbd-iscsi-client==0.1.8 -requests-aws==0.1.8 -alabaster==0.7.16 -pbr==6.0.0 -munch==4.0.0 -waiting==1.4.1 -attrs==23.2.0 -microversion-parse==1.0.1 -Pint==0.23 -oslo.i18n==6.2.0 -jsonpath-rw-ext==1.2.2 -python-mistralclient==5.1.0 -oslo.context==5.3.0 -python-senlinclient==3.1.0 -rcssmin===1.1.1 -pycadf==3.1.1 -grpcio==1.60.0 -pysendfile==2.0.1 -sniffio==1.3.0 -fixtures==4.1.0 -neutron-lib==3.9.0 -tripleo-ansible==6.0.0 -XStatic-FileSaver==1.3.2.0 -oslo.metrics==0.7.0 -storage-interfaces==1.0.5 -persist-queue==0.8.1 -pystache==0.6.5 -XStatic-Font-Awesome==4.7.0.0 -nose==1.3.7 -nosehtmloutput==0.0.7 -waitress==2.1.2 -os-refresh-config==13.2.0 -pysnmp==4.4.12 -types-PyYAML==6.0.12.12 -Mako==1.3.0 -pyScss==1.4.0 -sphinxcontrib-htmlhelp==2.0.4 -XStatic-jQuery==3.5.1.1 -ddt==1.7.1 -XStatic-Graphlib==2.1.7.0 -pyserial==3.5 -moto==4.2.13 -infi.dtypes.wwn==0.1.1 -python-freezerclient==5.2.0 -os-xenapi==0.3.4 -python-vitrageclient==4.8.0 -nosexcover==1.0.11 -krest==1.3.6 -psycopg2==2.9.9 -networkx==3.2.1 -XStatic-Angular==1.8.2.2 -pyngus==2.3.1 -Pillow==9.5.0 -zuul-sphinx==0.7.0 -tripleo-common==18.0.0 -Tempita==0.5.2 -ply==3.11 -google-api-core==2.15.0 -requests-toolbelt==1.0.0 -simplejson==3.19.2 -types-paramiko==3.4.0.20240106 -immutables==0.20 -python-swiftclient==4.4.0 -pyOpenSSL==23.3.0 -monasca-common==3.8.0 -zeroconf==0.131.0 -scipy==1.11.4 -opentelemetry-exporter-otlp==1.22.0 -python-gnupg==0.5.2 -mypy-extensions==1.0.0 -rsd-lib==1.2.0 -XStatic-Jasmine==2.4.1.2 -googleapis-common-protos==1.62.0 -python-glanceclient==4.4.0 -jaraco.classes==3.3.0 -pyinotify==0.9.6 -debtcollector==2.5.0 -requests-unixsocket==0.3.0 -responses==0.24.1 -croniter==1.4.1 -octavia-lib==3.4.0 -python-watcherclient==4.2.0 -MarkupSafe==2.1.3 -pypowervm==1.1.27 -ruamel.yaml.clib==0.2.8 -doc8==0.11.2 -pymongo==4.6.1 -python-cloudkittyclient==4.8.0 -soupsieve==2.5 -sqlparse==0.4.4 -oslotest==4.5.0 -jsonpointer==2.4 -defusedxml==0.7.1 -opentelemetry-sdk==1.22.0 -netaddr==0.10.1 -pyghmi==1.5.65 -sphinxcontrib-blockdiag==3.0.0 -thrift==0.16.0 -gnocchiclient==7.0.8 -backoff==2.2.1 -wcwidth==0.2.13 -sphinxcontrib.datatemplates==0.11.0 -jsonpath-rw==1.4.0 -prettytable==3.9.0 -vine==5.1.0 -taskflow==5.4.0 -traceback2==1.4.0 -arrow==1.3.0 -semantic-version==2.10.0 -async-timeout==4.0.3 -virtualbmc==3.1.0 -deprecation==2.1.0 -SQLAlchemy==1.4.51 -pyroute2==0.7.10 -google-auth==2.26.1 -pyasn1-lextudio==1.1.2 -kazoo==2.9.0 -pyspnego==0.10.2 -XStatic-roboto-fontface==0.5.0.0 -pyudev==0.24.1 -eventlet==0.34.2 -openstack-doc-tools==3.3.1 -oslo.messaging==14.5.0 -jira==3.6.0 -extras==1.0.0 -PyJWT==2.8.0 -typing_extensions==4.9.0 -XStatic-lodash==4.16.4.2 -zVMCloudConnector==1.6.3 -paramiko==3.4.0 -ifaddr==0.2.0 -reno==4.0.0 -ncclient==0.6.15 -imagesize==1.4.1 -pydot==1.4.2 -urllib3==1.26.18 -graphviz==0.20.1 -PyKMIP==0.10.0 -whereto==0.4.0 -pywbem==1.6.2 -python-subunit==1.4.4 -tornado==6.4 -pycparser==2.21 -mock==5.1.0 -PyYAML==6.0.1 -beautifulsoup4==4.12.2 -os-net-config==16.0.0 -ovs==3.1.2 -cryptography==41.0.7 -httpcore==0.18.0 -URLObject==2.4.3 -nocasedict==2.0.1 -task-core==0.2.1 -psycopg2-binary==2.9.9 -openstack-release-test==4.1.0 -validations-libs==1.9.0 -pylxd==2.3.1 -pycryptodomex==3.20.0 -requests-mock==1.11.0 -os-apply-config==13.2.0 -prometheus-client==0.19.0 -oslosphinx==4.18.0 -gunicorn==21.2.0 -storpool==7.3.0 -textfsm==1.1.3 -python-3parclient==4.2.12 -unittest2==1.1.0 -django-compressor==4.4 -python-zunclient==4.7.0 -tzlocal==5.2 -sphinxcontrib-jsmath==1.0.1 -python-novaclient==18.4.0 -pact==1.12.0 -bcrypt==4.1.2 -exceptiongroup==1.2.0 -os-client-config==2.1.0 -XStatic-Angular-Gettext==2.4.1.0 -Deprecated==1.2.14 -h11==0.14.0 -Pygments==2.17.2 -XStatic-Hogan==2.0.0.3 -XStatic-objectpath==1.2.1.0 -python-manilaclient==4.7.0 -sphinxcontrib-serializinghtml==1.1.9 -requests==2.31.0 -snowballstemmer==2.2.0 -Jinja2==3.1.2 -XStatic-Bootstrap-SCSS==3.4.1.0 -pyzabbix==1.3.1 -ptyprocess==0.7.0 -threadloop==1.0.2 -amqp==5.2.0 -ruamel.yaml==0.18.5 -websockify==0.11.0 -gssapi==1.8.3 -XStatic-JQuery.quicksearch==2.0.3.2 -mpmath==1.3.0 -python-binary-memcached==0.31.2 -django-debreach==2.1.0 -sphinx-feature-classification==1.1.0 -django-pymemcache==1.0.0 -XStatic-JQuery-Migrate==3.3.2.1 -pytest-html==4.1.1 -appdirs==1.4.4 -google-auth-httplib2==0.2.0 -daiquiri==3.2.3 -influxdb==5.3.1 -influxdb-client==1.39.0 -funcparserlib==1.0.1 -passlib==1.7.4 -dib-utils==0.0.11 -cliff==4.4.0 -os-brick==6.5.0 -ansible-runner==2.3.4 -scp==0.14.5 -python-zaqarclient==2.6.0 -lockfile==0.12.2 -ldappool==3.0.0 -termcolor==2.4.0 -joblib==1.3.2 -google-api-python-client==2.113.0 -castellan==4.3.0 -oslo.versionedobjects==3.2.0 -ssh-python==1.0.0 -enmerkar==0.7.1 -webcolors==1.13 -aodhclient==3.4.0 -autobahn==23.6.2 -SQLAlchemy-Utils==0.41.1 -retryz==0.1.9 -pluggy==1.3.0 -coverage==7.4.0 -freezegun==1.4.0 -toml==0.10.2 -pycdlib==1.14.0 -pyperclip==1.8.2 -cassandra-driver==3.29.0 -XStatic-Angular-Schema-Form==0.8.13.0 -opentelemetry-exporter-otlp-proto-http==1.22.0 -gabbi==2.11.0 -nwdiag==3.0.0 -XStatic-bootswatch==3.3.7.0 -pytest-xdist==3.5.0 -XStatic-JS-Yaml==3.8.1.0 -XStatic-term.js==0.0.7.0 -oslo.log==5.4.0 -nodeenv==1.8.0 -gossip==2.4.0 -suds-community==1.1.2 -importlib-metadata==6.11.0 -oslo.middleware==5.2.0 -XStatic-mdi==1.6.50.2 -django-pyscss==2.0.3 -uritemplate==4.1.1 -docutils==0.20.1 -threadpoolctl==3.2.0 -os-ken==2.8.0 -ujson==5.9.0 -selenium==3.141.0 -mypy==1.8.0 -mistral-lib==2.9.0 -dogtag-pki==11.2.1 -XStatic-Angular-UUID==0.0.4.0 -purestorage==1.19.0 -sphinxcontrib-seqdiag==3.0.0 -os-win==5.9.0 -capacity==1.3.14 -retrying==1.3.4 -XStatic-Dagre==0.6.4.1 -platformdirs==3.11.0 -pydotplus==2.0.2 -boto3==1.34.15 -jeepney==0.8.0 -stestr==4.1.0 -pysmi-lextudio==1.1.13 -oslo.serialization==5.2.0 -warlock==2.0.1 -exabgp==4.2.21 -sphinxcontrib-httpdomain==1.8.1 -metalsmith==2.1.0 -s3transfer==0.10.0 -text-unidecode==1.3 -sphinxcontrib-svg2pdfconverter==1.2.2 -murano-pkg-check==0.3.0 -oslo.vmware==4.3.0 -XStatic-moment==2.8.4.3 -autopage==0.5.2 -sqlalchemy-migrate==0.13.0 -gitdb==4.0.11 -python-monascaclient==2.8.0 -ldap3==2.9.1 -opentelemetry-api==1.22.0 -requests-ntlm==1.2.0 -automaton==3.2.0 -os-service-types==1.7.0 -keyring==24.3.0 -elementpath==4.1.5 -jsonschema-specifications==2023.12.1 -testscenarios==0.5.0 -sphinxcontrib-pecanwsme==0.11.0 -sadisplay==0.4.9 -infinisdk==225.1.1 -packaging==23.2 -opentelemetry-exporter-otlp-proto-grpc==1.22.0 -XStatic-Dagre-D3==0.4.17.0 -nose-exclude==0.5.0 -psutil==5.9.7 -txaio==23.1.1 -elasticsearch==2.4.1 -django-nose==1.4.7 -asgiref==3.7.2 -XStatic-JQuery.TableSorter==2.14.5.2 -pifpaf==3.1.5 -pysmi==0.3.4 -blockdiag==3.0.0 -testtools==2.7.1 -infi.dtypes.iqn==0.4.0 -XStatic-tv4==1.2.7.0 -XStatic-JSEncrypt==2.3.1.1 -python-cinderclient==9.4.0 -keystonemiddleware==10.5.0 -django-formtools==2.5.1 -XStatic-Spin==1.2.5.3 -tap-as-a-service==12.0.0 -os-traits==3.0.0 -typepy==1.3.2 -SecretStorage==3.3.3 -opentracing==2.4.0 -XStatic-Rickshaw==1.5.1.0 -iso8601==2.1.0 -tooz==4.3.0 -linecache2==1.0.0 -oauth2client==4.1.3 -idna==3.6 -yamlloader==1.3.2 -protobuf==4.25.1 -pyhcl==0.4.5 -sushy==4.7.0 -python-neutronclient==11.1.0 -pika==1.3.2 -oslo.cache==3.5.0 -WebTest==3.0.0 -openstack.nose-plugin==0.11 -os-collect-config==13.2.0 -edgegrid-python==1.3.1 -python-qpid-proton==0.39.0 -python-octaviaclient==3.6.0 -pysaml2==7.4.2 -requests-oauthlib==1.3.1 -oslo.reports==3.1.0 -pysnmp-lextudio==5.0.32 -bitmath==1.3.3.1 -ceilometermiddleware==3.2.0 -pyasn1-modules-lextudio==0.2.9 -testrepository==0.0.20 -sympy==1.12 -Logbook==1.7.0.post0 -PyNaCl==1.5.0 -osc-lib==2.9.0 -python-consul==1.1.0 -more-itertools==10.2.0 -seqdiag==3.0.0 -numpy==1.26.3 -msgpack==1.0.7 -Sphinx==7.2.6 -oslo.config==9.2.0 -openstackdocstheme==3.2.0 -osc-placement==4.2.0 -rpds-py==0.16.2 -zake==0.2.2 -python-rsdclient==1.0.2 -flux==1.3.5 -python-solumclient==3.8.0 -pysnmpcrypto==0.0.4 -krb5==0.5.1 -PyMySQL==1.1.0 -uhashring==2.3 -kubernetes==28.1.0 -httplib2==0.22.0 -betamax==0.8.1 -construct==2.10.70 -pytest-metadata==3.0.0 -pyparsing==3.1.1 -geomet==0.3.0 -opentelemetry-exporter-otlp-proto-common==1.22.0 -distlib==0.3.8 -XStatic-Moment-Timezone==0.5.22.0 -dogpile.cache==1.3.0 -python-barbicanclient==5.6.1 -salt==3006.5 -opentelemetry-semantic-conventions==0.41b0 -api-object-schema==2.0.0 -blinker==1.7.0 -WSME==0.12.1 -tomli==2.0.1 -proboscis==1.2.6.0 -oslo.upgradecheck==2.2.0 -stevedore==5.1.0 -pywinrm==0.4.3 -botocore==1.34.15 -xmltodict==0.13.0 -pyasn1==0.5.1 -directord==0.12.0 -oslo.rootwrap==7.1.0 -Django==3.2.23 -pexpect==4.9.0 -contextvars==2.4 -cmd2==2.4.3 -python-json-logger==2.0.7 -redis==5.0.1 -jmespath==1.0.1 -click==8.1.7 -XStatic-smart-table==1.4.13.2 -kuryr-lib==2.8.0 -scrypt==0.8.20 -jsonpatch==1.33 -python-daemon==3.0.1 -os-testr==3.0.0 -cotyledon==1.7.3 -xattr==0.10.1 -systemd-python==235 -python-memcached<=1.61 -openstacksdk==2.0.0 -infi.dtypes.nqn==0.1.0 -looseversion==1.3.0 -six==1.16.0 -dulwich==0.21.7 -dfs-sdk==1.2.27 -sentinels==1.0.0 -kombu==5.3.4 -distro==1.9.0 -zstd==1.5.5.1 -yaql==2.0.0 -requestsexceptions==1.4.0 -testresources==2.0.1 -falcon==3.1.3 -tomlkit==0.12.3 -etcd3gw==2.3.0 -Flask-RESTful==0.3.10 -GitPython==3.1.41 -python-ironicclient==5.4.0 -XStatic==1.0.3 -XStatic-Angular-FileUpload==12.2.13.0 -python-openstackclient==6.4.0 -pyzmq==25.1.2 -nocaselist==2.0.0 -oslo.db==14.1.0 -simplegeneric==0.8.1 -python-pcre==0.7 -yappi==1.6.0 -mbstrdecoder==1.1.3 -abclient==0.2.3 -pymemcache==4.0.0 -wrapt==1.16.0 -oslo.privsep==3.2.0 -sphinxcontrib-apidoc==0.4.0 -oslo.policy==4.2.1 -python-muranoclient==2.7.0 -hvac==1.2.1 -pyeclib==1.6.1 -wsgi-intercept==1.13.0 -ndg-httpsclient==0.5.1 -repoze.lru==0.7 -rfc3986==2.0.0 -tenacity==6.3.1 -python-designateclient==5.3.0 -future==0.18.3 -pytest-cov==4.1.0 -Paste==3.7.1 -pytest-django==4.7.0 -jaeger-client==4.8.0 -XStatic-Json2yaml==0.1.1.0 -boto==2.49.0 -os-vif==3.3.0 -hyperlink==21.0.0 -mitba==1.1.1 -python-masakariclient==8.3.0 -Werkzeug==2.3.8 -pyasn1-modules==0.3.0 -APScheduler==3.10.4 -xmlschema==2.5.1 -python-troveclient==8.2.1 -etcd3==0.12.0 -cachez==0.1.2 -XStatic-Bootstrap-Datepicker==1.4.0.0 -CouchDB==1.2 -netifaces==0.11.0 -cachetools==5.3.2 -ws4py==0.5.1 -sphinxcontrib-qthelp==1.0.6 -keystoneauth1==5.4.0 -statsd==4.0.1 -XenAPI==23.32.0 -python-keystoneclient==5.2.0 -ceilometer==21.0.0 -diskimage-builder==3.32.0 -heat-translator==2.8.0 -python-magnumclient==4.3.0 -docker==6.1.3 -storops==1.2.11 -anyio==4.2.0 -XStatic-Angular-lrdragndrop==1.0.2.6 -ovsdbapp==2.5.0 -aniso8601==9.0.1 -rjsmin===1.2.1 -icalendar==5.0.11 -decorator==5.1.1 -DateTimeRange==2.2.0 -cffi==1.16.0 -python-cyborgclient==2.3.0 -futurist==2.4.1 -jsonschema==4.20.0 -sphinxcontrib-devhelp==1.0.5 -python-blazarclient==3.7.0 -alembic==1.13.1 -execnet==2.0.2 -sphinxcontrib-programoutput==0.17 -storpool.spopenstack==3.2.0 -sphinx-testing==1.0.1 -dnspython==2.4.2 -oauthlib==3.2.2 -Babel==2.14.0 -logutils==0.3.5 -zipp==3.17.0 -greenlet==2.0.2 -XStatic-Angular-Vis==4.16.0.0 -iniconfig==2.0.0 -referencing==0.32.1 -confluent-kafka==2.3.0 -xvfbwrapper==0.2.9 -tosca-parser==2.9.1 -charset-normalizer==3.3.2 -Flask==2.3.3 -httpx==0.26.0 -sqlalchemy-filters==0.13.0 -marathon==0.13.0 -sphinxcontrib-runcmd==0.2.0 -confspirator==0.3.0 -fasteners==0.19 -sortedcontainers==2.4.0 -python-linstor==1.20.1 -filelock==3.13.1 -python-tackerclient==1.14.0 -python-heatclient==3.3.0 -kafka-python==2.0.2 -oslo.utils==6.3.0 -gitdb2==4.0.2 -requests-kerberos==0.14.0 -itsdangerous==2.1.2 -XStatic-jquery-ui==1.13.0.1 -monasca-statsd==2.7.0 -python-dateutil==2.8.2 -virtualenv==20.25.0 -colorama==0.4.6 -confetti==2.5.3 -ironic-lib==5.5.0 -pytz==2023.3.post1 -opentelemetry-proto==1.22.0 -XStatic-D3==3.5.17.0 -actdiag==3.0.0 -sysv-ipc==1.1.0 -sphinxcontrib-applehelp==1.0.7 -scikit-learn==1.3.2 -python-observabilityclient==0.1.0 diff --git a/images/openstack-service/zed/upper-constraints.txt b/images/openstack-service/zed/upper-constraints.txt deleted file mode 100644 index 6d94a1a98..000000000 --- a/images/openstack-service/zed/upper-constraints.txt +++ /dev/null @@ -1,589 +0,0 @@ -ntlm-auth==1.5.0 -voluptuous==0.14.1 -chardet==5.2.0 -enum-compat==0.0.3 -rsa==4.9 -restructuredtext-lint==1.4.0 -netmiko==4.3.0 -sshtunnel==0.4.0 -PasteDeploy==2.1.1 -typing==3.10.0.0 -python-saharaclient==4.2.0 -Routes==2.5.1 -rtslib-fb==2.1.76 -oslo.limit==2.2.0 -tzdata==2022.7 -smmap==5.0.1 -confget==4.1.1 -XStatic-Angular-Bootstrap==2.5.0.0 -WebOb==1.8.7 -sphinxcontrib-actdiag==3.0.0 -pecan==1.5.1 -ryu==4.34 -os-api-ref==2.3.0 -python-ldap==3.4.4 -oslo.concurrency==5.2.0 -websocket-client==1.7.0 -osprofiler==3.4.3 -os-resource-classes==1.1.0 -tabulate==0.9.0 -python-ironic-inspector-client==4.9.0 -lxml==4.9.4 -vintage==0.4.1 -ntc-templates==3.5.0 -rst2txt==1.1.0 -setproctitle==1.3.3 -pytest==7.4.4 -python-slugify==6.1.2 -cursive==0.2.3 -oslo.service==3.2.0 -django-appconf==1.0.6 -sphinxcontrib-nwdiag==2.0.0 -rbd-iscsi-client==0.1.8 -requests-aws==0.1.8 -alabaster==0.7.16 -pbr==5.11.1 -munch==2.5.0 -waiting==1.4.1 -attrs==22.2.0 -microversion-parse==1.0.1 -Pint==0.23 -oslo.i18n==5.1.0 -jsonpath-rw-ext==1.2.2 -python-mistralclient==4.5.0 -oslo.context==5.3.0 -python-senlinclient==2.5.0 -rcssmin===1.1.1 -pycadf==3.1.1 -grpcio==1.60.0 -pysendfile==2.0.1 -sniffio==1.3.0 -fixtures==4.1.0 -neutron-lib==3.9.0 -XStatic-FileSaver==1.3.2.0 -oslo.metrics==0.7.0 -storage-interfaces==1.0.5 -persist-queue==0.8.1 -pystache==0.6.5 -XStatic-Font-Awesome==4.7.0.0 -nose==1.3.7 -nosehtmloutput==0.0.7 -waitress==2.1.2 -os-refresh-config==13.2.0 -pysnmp==4.4.12 -Mako==1.3.0 -pyScss==1.4.0 -sphinxcontrib-htmlhelp==2.0.4 -XStatic-jQuery==1.12.4.1 -ddt==1.7.1 -XStatic-Graphlib==2.1.7.0 -pyserial==3.5 -moto==3.1.19 -infi.dtypes.wwn==0.1.1 -python-freezerclient==5.2.0 -os-xenapi==0.3.4 -python-vitrageclient==4.8.0 -nosexcover==1.0.11 -krest==1.3.6 -psycopg2==2.9.9 -networkx==2.8.8 -XStatic-Angular==1.8.2.2 -pyngus==2.3.1 -Pillow==9.5.0 -zuul-sphinx==0.7.0 -tripleo-common==16.4.0 -Tempita==0.5.2 -ply==3.11 -google-api-core==2.15.0 -requests-toolbelt==0.10.1 -simplejson==3.19.2 -suds-jurko==0.6 -types-paramiko==2.12.0.3 -immutables==0.20 -python-swiftclient==4.4.0 -pyOpenSSL==23.3.0 -monasca-common==3.8.0 -zeroconf==0.131.0 -scipy==1.11.4 -python-gnupg==0.5.2 -mypy-extensions==0.4.4 -rsd-lib==1.2.0 -XStatic-Jasmine==2.4.1.2 -googleapis-common-protos==1.62.0 -python-glanceclient==4.4.0 -pyinotify==0.9.6 -debtcollector==2.5.0 -requests-unixsocket==0.3.0 -responses==0.24.1 -croniter==1.4.1 -octavia-lib==3.4.0 -python-watcherclient==4.2.0 -MarkupSafe==2.1.3 -pypowervm==1.1.27 -ruamel.yaml.clib==0.2.8 -doc8==0.11.2 -pymongo==4.6.1 -python-cloudkittyclient==4.8.0 -soupsieve==2.5 -sqlparse==0.4.4 -oslotest==4.5.0 -jsonpointer==2.4 -defusedxml==0.7.1 -netaddr==0.10.1 -pyghmi==1.5.65 -sphinxcontrib-blockdiag==3.0.0 -thrift==0.16.0 -gnocchiclient==7.0.8 -wcwidth==0.2.13 -sphinxcontrib.datatemplates==0.11.0 -jsonpath-rw==1.4.0 -prettytable==3.9.0 -vine==5.1.0 -taskflow==5.4.0 -traceback2==1.4.0 -arrow==1.3.0 -semantic-version==2.10.0 -async-timeout==4.0.3 -virtualbmc==2.2.2 -deprecation==2.1.0 -SQLAlchemy==1.4.51 -pyroute2==0.7.10 -google-auth==2.26.1 -kazoo==2.9.0 -pyspnego==0.10.2 -XStatic-roboto-fontface==0.5.0.0 -pyudev==0.24.1 -eventlet==0.34.2 -openstack-doc-tools==3.3.1 -oslo.messaging==14.5.0 -jira==3.6.0 -extras==1.0.0 -PyJWT==2.8.0 -typing_extensions==4.9.0 -XStatic-lodash==4.16.4.2 -zVMCloudConnector==1.6.3 -paramiko==2.12.0 -ifaddr==0.2.0 -reno==3.5.0 -ncclient==0.6.15 -imagesize==1.4.1 -pydot==1.4.2 -urllib3==1.26.18 -graphviz==0.20.1 -PyKMIP==0.10.0 -whereto==0.4.0 -pywbem==1.6.2 -python-subunit==1.4.4 -tornado==6.4 -pycparser==2.21 -mock==4.0.3 -PyYAML==6.0.1 -beautifulsoup4==4.12.2 -os-net-config==15.2.0 -ovs==2.17.7 -cryptography==41.0.7 -httpcore==0.18.0 -URLObject==2.4.3 -nocasedict==1.1.2 -task-core==0.2.1 -psycopg2-binary==2.9.9 -openstack-release-test==3.9.0 -validations-libs==1.9.0 -pylxd==2.3.1 -pycryptodomex==3.20.0 -anyjson==0.3.3 -requests-mock==1.11.0 -os-apply-config==13.2.0 -prometheus-client==0.19.0 -oslosphinx==4.18.0 -gunicorn==20.1.0 -storpool==7.3.0 -textfsm==1.1.3 -python-3parclient==4.2.12 -unittest2==1.1.0 -django-compressor==4.4 -python-zunclient==4.7.0 -tzlocal==4.3.1 -sphinxcontrib-jsmath==1.0.1 -python-novaclient==18.4.0 -pact==1.12.0 -bcrypt==4.1.2 -os-client-config==2.1.0 -XStatic-Angular-Gettext==2.4.1.0 -Deprecated==1.2.14 -h11==0.14.0 -Pygments==2.17.2 -XStatic-Hogan==2.0.0.3 -XStatic-objectpath==1.2.1.0 -python-manilaclient==4.7.0 -sphinxcontrib-serializinghtml==1.1.9 -requests==2.31.0 -snowballstemmer==2.2.0 -Jinja2==3.1.2 -XStatic-Bootstrap-SCSS==3.4.1.0 -pyzabbix==1.3.1 -ptyprocess==0.7.0 -threadloop==1.0.2 -amqp==5.2.0 -ruamel.yaml==0.18.5 -websockify==0.11.0 -gssapi==1.8.3 -XStatic-JQuery.quicksearch==2.0.3.2 -mpmath==1.3.0 -python-binary-memcached==0.31.2 -django-debreach==2.1.0 -sphinx-feature-classification==1.1.0 -django-pymemcache==1.0.0 -XStatic-JQuery-Migrate==1.2.1.2 -pytest-html==3.2.0 -appdirs==1.4.4 -tinyrpc==1.1.7 -google-auth-httplib2==0.2.0 -pkgutil_resolve_name==1.3.10;python_version=='3.8' -daiquiri==3.2.3 -influxdb==5.3.1 -funcparserlib==1.0.1 -passlib==1.7.4 -dib-utils==0.0.11 -cliff==4.4.0 -os-brick==6.5.0 -ansible-runner==2.3.4 -pytz-deprecation-shim==0.1.0.post0 -scp==0.14.5 -python-zaqarclient==2.6.0 -lockfile==0.12.2 -ldappool==3.0.0 -termcolor==1.1.0 -joblib==1.3.2 -google-api-python-client==2.113.0 -castellan==4.3.0 -oslo.versionedobjects==3.2.0 -ssh-python==0.10.0 -enmerkar==0.7.1 -webcolors==1.13 -aodhclient==3.4.0 -autobahn==22.12.1 -SQLAlchemy-Utils==0.41.1 -retryz==0.1.9 -pluggy==1.3.0 -coverage==6.5.0 -freezegun==1.4.0 -toml==0.10.2 -pycdlib==1.14.0 -pyperclip==1.8.2 -cassandra-driver==3.29.0 -XStatic-Angular-Schema-Form==0.8.13.0 -gabbi==2.11.0 -nwdiag==3.0.0 -XStatic-bootswatch==3.3.7.0 -pytest-xdist==2.5.0 -XStatic-JS-Yaml==3.8.1.0 -XStatic-term.js==0.0.7.0 -oslo.log==5.4.0 -nodeenv==1.8.0 -gossip==2.4.0 -suds-community==1.1.2 -importlib-metadata==4.13.0 -oslo.middleware==5.2.0 -XStatic-mdi==1.6.50.2 -django-pyscss==2.0.3 -uritemplate==4.1.1 -docutils==0.20.1 -threadpoolctl==3.2.0 -os-ken==2.8.0 -ujson==5.9.0 -selenium==3.141.0 -mypy==0.991 -mistral-lib==2.9.0 -dogtag-pki==10.7.4.1 -XStatic-Angular-UUID==0.0.4.0 -purestorage==1.19.0 -sphinxcontrib-seqdiag==3.0.0 -os-win==5.9.0 -capacity==1.3.14 -retrying==1.3.4 -XStatic-Dagre==0.6.4.1 -platformdirs==3.11.0 -pydotplus==2.0.2 -boto3==1.34.15 -jeepney==0.8.0 -stestr==3.2.1 -oslo.serialization==5.2.0 -warlock==2.0.1 -exabgp==4.2.21 -sphinxcontrib-httpdomain==1.8.1 -metalsmith==1.10.0 -s3transfer==0.10.0 -text-unidecode==1.3 -sphinxcontrib-svg2pdfconverter==1.2.2 -murano-pkg-check==0.3.0 -oslo.vmware==4.3.0 -XStatic-moment==2.8.4.3 -autopage==0.5.2 -sqlalchemy-migrate==0.13.0 -gitdb==4.0.11 -python-monascaclient==2.8.0 -ldap3==2.9.1 -requests-ntlm==1.2.0 -sphinx-rtd-theme==0.5.2 -automaton==3.2.0 -os-service-types==1.7.0 -keyring==23.13.1 -elementpath==4.1.5 -testscenarios==0.5.0 -sphinxcontrib-pecanwsme==0.11.0 -sadisplay==0.4.9 -infinisdk==206.1.2 -packaging==21.3 -XStatic-Dagre-D3==0.4.17.0 -nose-exclude==0.5.0 -psutil==5.9.7 -py==1.11.0 -txaio==22.2.1 -elasticsearch==2.4.1 -django-nose==1.4.7 -asgiref==3.7.2 -XStatic-JQuery.TableSorter==2.14.5.2 -pifpaf==3.1.5 -pysmi==0.3.4 -blockdiag==3.0.0 -testtools==2.7.1 -infi.dtypes.iqn==0.4.0 -XStatic-tv4==1.2.7.0 -XStatic-JSEncrypt==2.3.1.1 -python-cinderclient==9.4.0 -keystonemiddleware==10.5.0 -django-formtools==2.5.1 -XStatic-Spin==1.2.5.3 -tap-as-a-service==10.0.0 -os-traits==2.10.0 -typepy==1.3.2 -SecretStorage==3.3.3 -opentracing==2.4.0 -XStatic-Rickshaw==1.5.1.0 -iso8601==1.1.0 -tooz==3.2.0 -linecache2==1.0.0 -oauth2client==4.1.3 -idna==3.6 -yamlloader==1.3.2 -protobuf==4.25.1 -sushy==4.7.0 -python-neutronclient==8.2.1 -pika==1.3.2 -oslo.cache==3.5.0 -WebTest==3.0.0 -openstack.nose-plugin==0.11 -os-collect-config==13.2.0 -edgegrid-python==1.3.1 -python-qpid-proton==0.39.0 -python-octaviaclient==3.6.0 -pysaml2==7.4.2 -requests-oauthlib==1.3.1 -oslo.reports==2.4.0 -bitmath==1.3.3.1 -ceilometermiddleware==3.2.0 -python-nss==1.0.1 -testrepository==0.0.20 -sympy==1.12 -Logbook==1.7.0.post0 -PyNaCl==1.5.0 -osc-lib==2.9.0 -python-consul==1.1.0 -seqdiag==3.0.0 -numpy==1.26.3 -msgpack==1.0.7 -Sphinx==4.5.0 -oslo.config==9.2.0 -openstackdocstheme==3.2.0 -osc-placement==4.2.0 -zake==0.2.2 -python-rsdclient==1.0.2 -flux==1.3.5 -python-solumclient==3.8.0 -krb5==0.5.1 -PyMySQL==1.1.0 -uhashring==2.3 -kubernetes==24.2.0 -httplib2==0.22.0 -betamax==0.8.1 -construct==2.10.70 -pytest-metadata==2.0.4 -pyparsing==3.1.1 -geomet==0.3.0 -distlib==0.3.8 -XStatic-Moment-Timezone==0.5.22.0 -dogpile.cache==1.3.0 -python-barbicanclient==5.6.1 -salt==3005.4 -api-object-schema==2.0.0 -WSME==0.12.1 -tomli==2.0.1 -proboscis==1.2.6.0 -backports.zoneinfo==0.2.1;python_version=='3.8' -oslo.upgradecheck==2.2.0 -stevedore==4.1.1 -pywinrm==0.4.3 -botocore==1.34.15 -xmltodict==0.13.0 -pyasn1==0.5.1 -directord==0.12.0 -oslo.rootwrap==6.3.1 -Django==3.2.23 -pexpect==4.9.0 -contextvars==2.4 -cmd2==2.4.3 -python-json-logger==2.0.7 -redis==4.6.0 -jmespath==1.0.1 -click==8.1.7 -XStatic-smart-table==1.4.13.2 -kuryr-lib==2.8.0 -scrypt==0.8.20 -jsonpatch==1.33 -python-daemon==2.3.2 -types-cryptography==3.3.23.2 -os-testr==3.0.0 -cotyledon==1.7.3 -xattr==0.10.1 -systemd-python==234 -python-memcached<=1.61 -openstacksdk==2.0.0 -six==1.16.0 -dulwich==0.21.7 -dfs-sdk==1.2.27 -sentinels==1.0.0 -kombu==5.3.4 -distro==1.9.0 -zstd==1.5.5.1 -yaql==2.0.0 -requestsexceptions==1.4.0 -testresources==2.0.1 -falcon==3.1.3 -etcd3gw==2.3.0 -Flask-RESTful==0.3.10 -GitPython==3.1.41 -python-ironicclient==5.4.0 -XStatic==1.0.3 -XStatic-Angular-FileUpload==12.2.13.0 -python-openstackclient==6.4.0 -pyzmq==20.0.0 -nocaselist==1.1.1 -oslo.db==12.3.2 -simplegeneric==0.8.1 -python-pcre==0.7 -yappi==1.6.0 -mbstrdecoder==1.1.3 -abclient==0.2.3 -pymemcache==3.5.2 -wrapt==1.16.0 -oslo.privsep==3.2.0 -sphinxcontrib-apidoc==0.4.0 -oslo.policy==4.2.1 -python-muranoclient==2.7.0 -hvac==0.11.2 -pyeclib==1.6.1 -wsgi-intercept==1.13.0 -ndg-httpsclient==0.5.1 -pyrsistent==0.20.0 -repoze.lru==0.7 -rfc3986==1.5.0 -tenacity==6.3.1 -python-designateclient==5.3.0 -future==0.18.3 -Paste==3.7.1 -pytest-django==4.7.0 -jaeger-client==4.8.0 -XStatic-Json2yaml==0.1.1.0 -boto==2.49.0 -os-vif==2.8.0 -hyperlink==21.0.0 -mitba==1.1.1 -python-masakariclient==8.3.0 -Werkzeug==2.3.8 -pyasn1-modules==0.3.0 -APScheduler==3.10.4 -monotonic==1.6 -xmlschema==2.5.1 -python-troveclient==8.2.1 -etcd3==0.12.0 -cachez==0.1.2 -XStatic-Bootstrap-Datepicker==1.4.0.0 -CouchDB==1.2 -netifaces==0.11.0 -cachetools==5.3.2 -ws4py==0.5.1 -sphinxcontrib-qthelp==1.0.6 -keystoneauth1==5.4.0 -statsd==3.3.0 -XenAPI==2.15 -importlib-resources==5.13.0;python_version=='3.8' -python-keystoneclient==5.2.0 -ceilometer==19.1.0 -diskimage-builder==3.32.0 -heat-translator==2.8.0 -python-magnumclient==4.3.0 -docker==6.1.3 -storops==1.2.11 -anyio==3.7.1 -XStatic-Angular-lrdragndrop==1.0.2.6 -ovsdbapp==2.5.0 -aniso8601==9.0.1 -rjsmin===1.2.1 -icalendar==4.1.1 -decorator==5.1.1 -DateTimeRange==1.2.0 -cffi==1.16.0 -python-cyborgclient==2.3.0 -futurist==2.4.1 -jsonschema==4.20.0 -sphinxcontrib-devhelp==1.0.5 -python-blazarclient==3.7.0 -alembic==1.13.1 -execnet==1.9.0 -sphinxcontrib-programoutput==0.17 -storpool.spopenstack==3.2.0 -sphinx-testing==1.0.1 -dnspython==2.4.2 -oauthlib==3.2.2 -Babel==2.14.0 -logutils==0.3.5 -zipp==3.17.0 -greenlet==1.1.3.post0 -XStatic-Angular-Vis==4.16.0.0 -iniconfig==1.1.1 -confluent-kafka==1.9.2 -xvfbwrapper==0.2.9 -tosca-parser==2.9.1 -charset-normalizer==2.1.1 -Flask==2.3.3 -httpx==0.26.0 -sqlalchemy-filters==0.13.0 -marathon==0.13.0 -sphinxcontrib-runcmd==0.2.0 -confspirator==0.3.0 -fasteners==0.19 -sortedcontainers==2.4.0 -python-linstor==1.20.1 -filelock==3.13.1 -python-tackerclient==1.14.0 -python-heatclient==3.3.0 -kafka-python==2.0.2 -oslo.utils==6.3.0 -gitdb2==4.0.2 -requests-kerberos==0.14.0 -itsdangerous==2.1.2 -XStatic-jquery-ui==1.13.0.1 -monasca-statsd==2.7.0 -python-dateutil==2.8.2 -virtualenv==20.25.0 -colorama==0.4.6 -confetti==2.5.3 -ironic-lib==5.5.0 -pytz==2022.7.1 -pytest-forked==1.6.0 -XStatic-D3==3.5.17.0 -actdiag==3.0.0 -sysv-ipc==1.1.0 -sphinxcontrib-applehelp==1.0.7 -scikit-learn==1.3.2 From b9a55a3d114444ddea439177b7e30480ce5366e3 Mon Sep 17 00:00:00 2001 From: Oleksandr K Date: Wed, 17 Jan 2024 19:14:21 +0100 Subject: [PATCH 02/32] feat: add amphora jumpbox on k8s (#883) Co-authored-by: okozachenko1203 Co-authored-by: Mohammed Naser --- roles/defaults/vars/main.yml | 11 +- roles/octavia/meta/main.yml | 1 + roles/octavia/tasks/generate_resources.yml | 40 + roles/octavia/vars/main.yml | 20 +- roles/secretgen_controller/README.md | 1 + roles/secretgen_controller/meta/main.yml | 27 + roles/secretgen_controller/tasks/main.yml | 18 + .../templates/release.yml.tpl | 902 ++++++++++++++++++ 8 files changed, 1014 insertions(+), 6 deletions(-) create mode 100644 roles/secretgen_controller/README.md create mode 100644 roles/secretgen_controller/meta/main.yml create mode 100644 roles/secretgen_controller/tasks/main.yml create mode 100644 roles/secretgen_controller/templates/release.yml.tpl diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml index dc34073a1..be719d5aa 100644 --- a/roles/defaults/vars/main.yml +++ b/roles/defaults/vars/main.yml @@ -147,12 +147,12 @@ _atmosphere_images: nova_service_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 nova_spiceproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca nova_spiceproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - octavia_api: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:7b865b938379bcd75eeb90a457a2a19a6a70c0cf28fea250777ca75974ea1389 - octavia_db_sync: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:7b865b938379bcd75eeb90a457a2a19a6a70c0cf28fea250777ca75974ea1389 + octavia_api: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:52d00cb9b4a42a915a52956e4fad09e71f43e79d1a5a55bf538879a6602f7348 + octavia_db_sync: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:52d00cb9b4a42a915a52956e4fad09e71f43e79d1a5a55bf538879a6602f7348 octavia_health_manager_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - octavia_health_manager: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:7b865b938379bcd75eeb90a457a2a19a6a70c0cf28fea250777ca75974ea1389 - octavia_housekeeping: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:7b865b938379bcd75eeb90a457a2a19a6a70c0cf28fea250777ca75974ea1389 - octavia_worker: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:7b865b938379bcd75eeb90a457a2a19a6a70c0cf28fea250777ca75974ea1389 + octavia_health_manager: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:52d00cb9b4a42a915a52956e4fad09e71f43e79d1a5a55bf538879a6602f7348 + octavia_housekeeping: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:52d00cb9b4a42a915a52956e4fad09e71f43e79d1a5a55bf538879a6602f7348 + octavia_worker: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:52d00cb9b4a42a915a52956e4fad09e71f43e79d1a5a55bf538879a6602f7348 openvswitch_db_server: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:c68347b6b1479fda5ccf3165492b989ebe49985fa30661ed4f1ea208fa2a110e openvswitch_vswitchd: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:c68347b6b1479fda5ccf3165492b989ebe49985fa30661ed4f1ea208fa2a110e ovn_controller: ghcr.io/vexxhost/atmosphere/ovn-host:23.03.0-69@sha256:03b4174e347d14e370aff7399a34f5fcbab1176dcf72c22ffbb0e8c1f66628a6 @@ -182,6 +182,7 @@ _atmosphere_images: rabbitmq_server: docker.io/library/rabbitmq:3.10.2-management@sha256:350ab6d773e3af45183466488fe3259df36cd6ade437b4366a59e8052458cc3a rabbitmq_topology_operator: docker.io/rabbitmqoperator/messaging-topology-operator:1.6.0@sha256:5052e8bdb26996c62315f0707c6fb291fd84492e360cca7351e2c3fdf659be43 rook_ceph: docker.io/rook/ceph:v1.10.10@sha256:9ae0eca578ef6e38492e5f90073050491382d8772914ddb8ffe4fca8d365b850 + secretgen_controller: ghcr.io/carvel-dev/secretgen-controller@sha256:59ec05ce5847bfd70c8e04f08b5195e918c8f6fbb947ffc91b456494a2958fd5 senlin_api: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:f718174547f3f66e5af758a10c87f7a75e9cbe1fe277cef27130fd512f727401 senlin_conductor: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:f718174547f3f66e5af758a10c87f7a75e9cbe1fe277cef27130fd512f727401 senlin_db_sync: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:f718174547f3f66e5af758a10c87f7a75e9cbe1fe277cef27130fd512f727401 diff --git a/roles/octavia/meta/main.yml b/roles/octavia/meta/main.yml index b049eb40d..e02288668 100644 --- a/roles/octavia/meta/main.yml +++ b/roles/octavia/meta/main.yml @@ -33,3 +33,4 @@ dependencies: vars: upload_helm_chart_src: "{{ octavia_helm_chart_path }}" upload_helm_chart_dest: "{{ octavia_helm_chart_ref }}" + - role: secretgen_controller diff --git a/roles/octavia/tasks/generate_resources.yml b/roles/octavia/tasks/generate_resources.yml index be003ab00..1c4c87ebf 100644 --- a/roles/octavia/tasks/generate_resources.yml +++ b/roles/octavia/tasks/generate_resources.yml @@ -152,3 +152,43 @@ cloud: atmosphere image: "{{ octavia_amphora_image_name }}" register: _octavia_amphora_image + +- name: Create Amphora SSH key + run_once: true + kubernetes.core.k8s: + state: present + definition: + apiVersion: secretgen.k14s.io/v1alpha1 + kind: SSHKey + metadata: + name: "{{ octavia_helm_release_name }}-amphora-ssh-key" + namespace: "{{ octavia_helm_release_namespace }}" + spec: + secretTemplate: + type: Opaque + stringData: + id_rsa: $(privateKey) + id_rsa.pub: $(authorizedKey) + wait: true + wait_timeout: 60 + wait_condition: + type: ReconcileSucceeded + status: true + +- name: Grab generated Amphora public key + run_once: true + kubernetes.core.k8s_info: + api_version: v1 + kind: Secret + name: "{{ octavia_helm_release_name }}-amphora-ssh-key" + namespace: "{{ octavia_helm_release_namespace }}" + register: octavia_ssh_key_secret + +- name: Import Amphora SSH key-pair in OpenStack + run_once: true + openstack.cloud.keypair: + cloud: atmosphere + state: present + name: "{{ octavia_helm_release_name }}-amphora-ssh-key" + public_key: "{{ octavia_ssh_key_secret.resources[0]['data']['id_rsa.pub'] | b64decode }}" + register: octavia_amphora_ssh_keypair diff --git a/roles/octavia/vars/main.yml b/roles/octavia/vars/main.yml index a137ae50d..2a69cd9eb 100644 --- a/roles/octavia/vars/main.yml +++ b/roles/octavia/vars/main.yml @@ -39,6 +39,16 @@ _octavia_helm_values: mountPath: /etc/octavia/certs/server - name: octavia-client-certs mountPath: /etc/octavia/certs/client + - name: octavia-amphora-ssh-key-dir + mountPath: /var/lib/octavia/.ssh + - name: octavia-amphora-ssh-key + mountPath: /var/lib/octavia/.ssh/id_rsa + subPath: id_rsa + readOnly: true + - name: octavia-amphora-ssh-key + mountPath: /var/lib/octavia/.ssh/id_rsa.pub + subPath: id_rsa.pub + readOnly: true volumes: - name: octavia-server-ca secret: @@ -46,6 +56,14 @@ _octavia_helm_values: - name: octavia-client-certs secret: secretName: octavia-client-certs + - name: octavia-amphora-ssh-key-dir + emptyDir: {} + - name: octavia-amphora-ssh-key + secret: + secretName: "{{ octavia_ssh_key_secret.resources[0]['metadata']['name'] }}" + defaultMode: 0444 # noqa: yaml[octal-values] + - name: octavia-amphora-ssh-key-dir + emptyDir: {} octavia_housekeeping: octavia_housekeeping: volumeMounts: @@ -94,7 +112,7 @@ _octavia_helm_values: amp_flavor_id: "{{ _octavia_amphora_flavor.id }}" amp_image_owner_id: "{{ _octavia_amphora_image.openstack_image.owner }}" amp_secgroup_list: "{{ _octavia_amphora_sg.id }}" - amp_ssh_key_name: null + amp_ssh_key_name: "{{ octavia_amphora_ssh_keypair.key.name }}" client_ca: /etc/octavia/certs/client/ca.crt volume_driver: volume_cinder_driver workers: 4 diff --git a/roles/secretgen_controller/README.md b/roles/secretgen_controller/README.md new file mode 100644 index 000000000..aef2b9285 --- /dev/null +++ b/roles/secretgen_controller/README.md @@ -0,0 +1 @@ +# `secretgen_controller` diff --git a/roles/secretgen_controller/meta/main.yml b/roles/secretgen_controller/meta/main.yml new file mode 100644 index 000000000..dce41d4f6 --- /dev/null +++ b/roles/secretgen_controller/meta/main.yml @@ -0,0 +1,27 @@ +# Copyright (c) 2022 VEXXHOST, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +galaxy_info: + author: VEXXHOST, Inc. + description: Ansible role for secret-gen controller + license: Apache-2.0 + min_ansible_version: 5.5.0 + standalone: false + platforms: + - name: Ubuntu + versions: + - focal + +dependencies: + - role: defaults diff --git a/roles/secretgen_controller/tasks/main.yml b/roles/secretgen_controller/tasks/main.yml new file mode 100644 index 000000000..de7827b85 --- /dev/null +++ b/roles/secretgen_controller/tasks/main.yml @@ -0,0 +1,18 @@ +# Copyright (c) 2022 VEXXHOST, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +- name: Deploy secretgen-controller + kubernetes.core.k8s: + state: present + template: release.yml.tpl diff --git a/roles/secretgen_controller/templates/release.yml.tpl b/roles/secretgen_controller/templates/release.yml.tpl new file mode 100644 index 000000000..a976db28b --- /dev/null +++ b/roles/secretgen_controller/templates/release.yml.tpl @@ -0,0 +1,902 @@ +# https://github.com/carvel-dev/secretgen-controller/releases/download/v0.16.0/release.yml +--- +apiVersion: v1 +kind: Namespace +metadata: + name: secretgen-controller +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: secretexports.secretgen.carvel.dev +spec: + group: secretgen.carvel.dev + names: + kind: SecretExport + listKind: SecretExportList + plural: secretexports + singular: secretexport + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Friendly description + jsonPath: .status.friendlyDescription + name: Description + type: string + - description: Time since creation + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + dangerousToNamespacesSelector: + items: + properties: + key: + description: Property to target the resource for the match. + It supports dot notation. + type: string + operator: + description: Type of comparison. + enum: + - In + - NotIn + - Exists + - DoesNotExist + type: string + values: + description: Values to match on the resource key using the comparison + operator. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + toNamespace: + type: string + toNamespaces: + items: + type: string + type: array + type: object + status: + properties: + conditions: + items: + properties: + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, this should be a short, machine understandable + string that gives the reason for condition's last transition. + If it reports "ResizeStarted" that means the underlying persistent + volume is being resized. + type: string + status: + type: string + type: + type: string + type: object + type: array + friendlyDescription: + type: string + observedGeneration: + format: int64 + type: integer + observedSecretResourceVersion: + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: secretimports.secretgen.carvel.dev +spec: + group: secretgen.carvel.dev + names: + kind: SecretImport + listKind: SecretImportList + plural: secretimports + singular: secretimport + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Friendly description + jsonPath: .status.friendlyDescription + name: Description + type: string + - description: Time since creation + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + fromNamespace: + type: string + type: object + status: + properties: + conditions: + items: + properties: + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, this should be a short, machine understandable + string that gives the reason for condition's last transition. + If it reports "ResizeStarted" that means the underlying persistent + volume is being resized. + type: string + status: + type: string + type: + type: string + type: object + type: array + friendlyDescription: + type: string + observedGeneration: + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: secrettemplates.secretgen.carvel.dev +spec: + group: secretgen.carvel.dev + names: + kind: SecretTemplate + listKind: SecretTemplateList + plural: secrettemplates + singular: secrettemplate + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Friendly description + jsonPath: .status.friendlyDescription + name: Description + type: string + - description: Time since creation + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SecretTemplate allows the construction of secrets using data + that reside in other Kubernetes resources + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SecretTemplateSpec contains spec information + properties: + inputResources: + description: A list of input resources that are used to construct + a new secret. Input Resources can refer to ANY Kubernetes API. If + loading more than Secrets types ensure that `.spec.ServiceAccountName` + is set to an appropriate value. Input resources are read in the + order they are defined. An Input resource's name can be evaluated + dynamically from data in a previously evaluated input resource. + items: + description: InputResource is references a single Kubernetes resource + along with a identifying name + properties: + name: + description: The name of InputResource. This is used as the + identifying name in templating to refer to this Input Resource. + type: string + ref: + description: The reference to the Input Resource + properties: + apiVersion: + type: string + kind: + type: string + name: + description: The name of the input resource. This field + can itself contain JSONPATH syntax to load the name dynamically + from other input resources. For example this field could + be set to a static value of "my-secret" or a dynamic valid + of "$(.anotherinputresource.spec.name)". + type: string + required: + - apiVersion + - kind + - name + type: object + required: + - name + - ref + type: object + type: array + serviceAccountName: + description: The Service Account used to read InputResources. If not + specified, only Secrets can be read as InputResources. + type: string + template: + description: A JSONPath based template that can be used to create + Secrets. + properties: + data: + additionalProperties: + type: string + description: 'Data key and value. Where key is the Secret Key + and the value is a jsonpath surrounded by $( ). The fetched + data MUST be base64 encoded. All InputResources are available + via their identifying name. For example: key1: $(.secretinput1.data.value1) + key2: $(.secretinput2.data.value2)' + type: object + metadata: + description: Metadata contains metadata for the Secret + properties: + annotations: + additionalProperties: + type: string + description: Annotations to be placed on the generated secret + type: object + labels: + additionalProperties: + type: string + description: Labels to be placed on the generated secret + type: object + type: object + stringData: + additionalProperties: + type: string + description: 'StringData key and value. Where key is the Secret + Key and the value can contain a JSONPATH syntax surrounded by + $( ). All InputResources are available via their identifying + name. For example: key1: static-text key2: $(.input1.spec.value1) + key3: combined-$(.input2.status.value2)-$(.input2.status.value3)' + type: object + type: + description: Type is the type of Kubernetes Secret + type: string + type: object + required: + - inputResources + type: object + status: + description: SecretTemplateStatus contains status information + properties: + conditions: + items: + properties: + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, this should be a short, machine understandable + string that gives the reason for condition's last transition. + If it reports "ResizeStarted" that means the underlying persistent + volume is being resized. + type: string + status: + type: string + type: + type: string + type: object + type: array + friendlyDescription: + type: string + observedGeneration: + format: int64 + type: integer + observedSecretResourceVersion: + type: string + secret: + description: LocalObjectReference contains enough information to let + you locate the referenced object inside the same namespace. + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + x-kubernetes-map-type: atomic + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: certificates.secretgen.k14s.io +spec: + group: secretgen.k14s.io + names: + kind: Certificate + listKind: CertificateList + plural: certificates + singular: certificate + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Friendly description + jsonPath: .status.friendlyDescription + name: Description + type: string + - description: Time since creation + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + alternativeNames: + items: + type: string + type: array + caRef: + description: LocalObjectReference contains enough information to let + you locate the referenced object inside the same namespace. + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + x-kubernetes-map-type: atomic + commonName: + type: string + duration: + format: int64 + type: integer + extendedKeyUsage: + items: + type: string + type: array + isCA: + type: boolean + organization: + type: string + secretTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + stringData: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + status: + properties: + conditions: + items: + properties: + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, this should be a short, machine understandable + string that gives the reason for condition's last transition. + If it reports "ResizeStarted" that means the underlying persistent + volume is being resized. + type: string + status: + type: string + type: + type: string + type: object + type: array + friendlyDescription: + type: string + observedGeneration: + format: int64 + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: passwords.secretgen.k14s.io +spec: + group: secretgen.k14s.io + names: + kind: Password + listKind: PasswordList + plural: passwords + singular: password + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Friendly description + jsonPath: .status.friendlyDescription + name: Description + type: string + - description: Time since creation + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + digits: + default: 0 + type: integer + length: + default: 40 + type: integer + lowercaseLetters: + default: 0 + type: integer + secretTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + stringData: + additionalProperties: + type: string + type: object + type: + type: string + type: object + symbolCharSet: + default: '!@#$%&*;.:' + type: string + symbols: + default: 0 + type: integer + uppercaseLetters: + default: 0 + type: integer + type: object + status: + properties: + conditions: + items: + properties: + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, this should be a short, machine understandable + string that gives the reason for condition's last transition. + If it reports "ResizeStarted" that means the underlying persistent + volume is being resized. + type: string + status: + type: string + type: + type: string + type: object + type: array + friendlyDescription: + type: string + observedGeneration: + format: int64 + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: rsakeys.secretgen.k14s.io +spec: + group: secretgen.k14s.io + names: + kind: RSAKey + listKind: RSAKeyList + plural: rsakeys + singular: rsakey + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Friendly description + jsonPath: .status.friendlyDescription + name: Description + type: string + - description: Time since creation + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + secretTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + stringData: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + status: + properties: + conditions: + items: + properties: + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, this should be a short, machine understandable + string that gives the reason for condition's last transition. + If it reports "ResizeStarted" that means the underlying persistent + volume is being resized. + type: string + status: + type: string + type: + type: string + type: object + type: array + friendlyDescription: + type: string + observedGeneration: + format: int64 + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: sshkeys.secretgen.k14s.io +spec: + group: secretgen.k14s.io + names: + kind: SSHKey + listKind: SSHKeyList + plural: sshkeys + singular: sshkey + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Friendly description + jsonPath: .status.friendlyDescription + name: Description + type: string + - description: Time since creation + jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + secretTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + stringData: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + status: + properties: + conditions: + items: + properties: + message: + description: Human-readable message indicating details about + last transition. + type: string + reason: + description: Unique, this should be a short, machine understandable + string that gives the reason for condition's last transition. + If it reports "ResizeStarted" that means the underlying persistent + volume is being resized. + type: string + status: + type: string + type: + type: string + type: object + type: array + friendlyDescription: + type: string + observedGeneration: + format: int64 + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + kbld.k14s.io/images: | + - origins: + - local: + path: /home/runner/work/secretgen-controller/secretgen-controller + - git: + dirty: true + remoteURL: https://github.com/carvel-dev/secretgen-controller + sha: d806899d96fcb5a07ff2e38f93e37884a3db2b1d + tags: + - v0.16.0 + url: ghcr.io/carvel-dev/secretgen-controller@sha256:59ec05ce5847bfd70c8e04f08b5195e918c8f6fbb947ffc91b456494a2958fd5 + secretgen-controller.carvel.dev/version: v0.16.0 + name: secretgen-controller + namespace: secretgen-controller +spec: + replicas: 1 + revisionHistoryLimit: 0 + selector: + matchLabels: + app: secretgen-controller + template: + metadata: + labels: + app: secretgen-controller + spec: + containers: + - image: "{{ atmosphere_images['secretgen_controller'] | vexxhost.kubernetes.docker_image('ref') }}" + name: secretgen-controller + resources: + requests: + cpu: 120m + memory: 100Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + serviceAccount: secretgen-controller-sa +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: secretgen-controller-sa + namespace: secretgen-controller +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: secretgen-controller-cluster-role +rules: +- apiGroups: + - secretgen.k14s.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - secretgen.carvel.dev + resources: + - '*' + verbs: + - '*' +- apiGroups: + - "" + resources: + - secrets + verbs: + - '*' +- apiGroups: + - "" + resources: + - namespaces + verbs: + - list + - watch + - get +- apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - list + - watch + - get +- apiGroups: + - "" + resources: + - serviceaccounts/token + verbs: + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: secretgen-controller-cluster-role-binding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: secretgen-controller-cluster-role +subjects: +- kind: ServiceAccount + name: secretgen-controller-sa + namespace: secretgen-controller From 10ab7efd4d20fc49ff9198c42462efe1f0dd6a41 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Wed, 17 Jan 2024 15:23:33 -0500 Subject: [PATCH 03/32] fix: solve requirements --- images/openstack-service/Earthfile | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/images/openstack-service/Earthfile b/images/openstack-service/Earthfile index b4ead280e..5f69b4e82 100644 --- a/images/openstack-service/Earthfile +++ b/images/openstack-service/Earthfile @@ -36,7 +36,15 @@ BUILD_VENV: requirements: FROM ../base+image ARG RELEASE - GIT CLONE --branch stable/${RELEASE} https://github.com/openstack/requirements /src + IF [ "${RELEASE}" = "master" ] + ARG BRANCH=master + ELSE + ARG BRANCH=stable/${RELEASE} + END + GIT CLONE --branch ${BRANCH} https://github.com/openstack/requirements /src + RUN \ + sed -i '/glance-store/d' /src/upper-constraints.txt && \ + sed -i '/horizon/d' /src/upper-constraints.txt SAVE ARTIFACT /src/upper-constraints.txt builder: From 0ca3a72aa7ba04291922abef2b30b36c5213a04e Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Wed, 17 Jan 2024 16:30:38 -0500 Subject: [PATCH 04/32] chore: fix libvirt image tag --- roles/defaults/vars/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml index be719d5aa..1711fe587 100644 --- a/roles/defaults/vars/main.yml +++ b/roles/defaults/vars/main.yml @@ -17,7 +17,7 @@ _atmosphere_images: barbican_api: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:e36e6e5882bfc6d8a20497206a69cf8d7abe9450a50a6166759f65295ae021ab barbican_db_sync: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:e36e6e5882bfc6d8a20497206a69cf8d7abe9450a50a6166759f65295ae021ab bootstrap: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - ceph_config_helper: ghcr.io/vexxhost/atmosphere/libvirtd@sha256:68274a76b635cf78a513e0b9324e49efdc653714bf974161e5940ddfda206114 + ceph_config_helper: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:68274a76b635cf78a513e0b9324e49efdc653714bf974161e5940ddfda206114 ceph: quay.io/ceph/ceph:v16.2.11@sha256:1b9803c8984bef8b82f05e233e8fe8ed8f0bba8e5cc2c57f6efaccbeea682add cert_manager_cainjector: quay.io/jetstack/cert-manager-cainjector:v1.7.1@sha256:985743eeed2b62f68ee06e583f1d5a371e1c35af4b1980a1b2571d29174cce47 cert_manager_cli: quay.io/jetstack/cert-manager-ctl:v1.7.1@sha256:af84513925d86d2de456b5d67dbccd2a34d93aa6fd4e1c8fe9f84182fef1b1b1 @@ -94,7 +94,7 @@ _atmosphere_images: kube_scheduler: registry.k8s.io/kube-scheduler:v1.22.17@sha256:f85dda445b7c8da197b8e39b0ca2b125b1e97a4a365d45c04d2759aefe935974 kube_state_metrics: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.9.2@sha256:c30cae7072ffb03f3e7934516db89b3be6c9e5521c0d04d5bbc6e115c9bfa3a7 kubectl: docker.io/bitnami/kubectl:1.27.3@sha256:876cebc2d9272d9eb42c2128c9a08c7e7715dbfe4f2eb2f0b3612df977fdd6b7 - libvirt: ghcr.io/vexxhost/atmosphere/libvirtd@sha256:68274a76b635cf78a513e0b9324e49efdc653714bf974161e5940ddfda206114 + libvirt: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:68274a76b635cf78a513e0b9324e49efdc653714bf974161e5940ddfda206114 libvirt_tls_sidecar: ghcr.io/vexxhost/atmosphere/libvirt-tls-sidecar:latest@sha256:8b3567c9b7f4c942abf12971bc69c0f4b382955b27139c98247891228f825ae7 libvirt_exporter: docker.io/vexxhost/libvirtd-exporter:latest@sha256:1a0fdf89f80060bfdbb8cf45213295c5d9fb1f7ea7dbfe2b331f0649cc98df8e local_path_provisioner_helper: docker.io/library/busybox:1.36.0@sha256:9e2bbca079387d7965c3a9cee6d0c53f4f4e63ff7637877a83c4c05f2a666112 From fcc1a6d22e9dd3b4228b900fbd5857eaecac2527 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Wed, 17 Jan 2024 17:12:31 -0500 Subject: [PATCH 05/32] fix(octavia): force internal endpoint usage --- ...fy-endpoint-info.-for-neutron-client.patch | 37 +++++++++++++++++++ roles/defaults/vars/main.yml | 10 ++--- roles/octavia/tasks/generate_resources.yml | 5 +++ roles/octavia/vars/main.yml | 14 +------ 4 files changed, 49 insertions(+), 17 deletions(-) create mode 100644 images/octavia/patches/octavia/0000-fix-specify-endpoint-info.-for-neutron-client.patch diff --git a/images/octavia/patches/octavia/0000-fix-specify-endpoint-info.-for-neutron-client.patch b/images/octavia/patches/octavia/0000-fix-specify-endpoint-info.-for-neutron-client.patch new file mode 100644 index 000000000..f113d6402 --- /dev/null +++ b/images/octavia/patches/octavia/0000-fix-specify-endpoint-info.-for-neutron-client.patch @@ -0,0 +1,37 @@ +From efd289b950b32d3e6ad160b7c7f2901bca7c7e55 Mon Sep 17 00:00:00 2001 +From: Mohammed Naser +Date: Tue, 16 Jan 2024 17:13:19 -0500 +Subject: [PATCH] fix: specify endpoint info. for neutron client + +Closes bug: #2049551 + +Change-Id: I80a266e500958415a70d462ddfe57e9e03e6ef13 +--- + octavia/common/clients.py | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/octavia/common/clients.py b/octavia/common/clients.py +index b13642bb..2abcc67b 100644 +--- a/octavia/common/clients.py ++++ b/octavia/common/clients.py +@@ -80,10 +80,16 @@ class NeutronAuth(object): + if not cls.neutron_client: + sess = ksession.get_session() + +- kwargs = {} ++ kwargs = { ++ 'region_name': CONF.neutron.region_name, ++ 'interface': CONF.neutron.valid_interfaces ++ } + if CONF.neutron.endpoint_override: + kwargs['network_endpoint_override'] = ( + CONF.neutron.endpoint_override) ++ if CONF.neutron.endpoint_override.startswith("https"): ++ kwargs['insecure'] = CONF.neutron.insecure ++ kwargs['cacert'] = CONF.neutron.cafile + + conn = openstack.connection.Connection( + session=sess, **kwargs) +-- +2.34.1 + diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml index 1711fe587..dc98056f0 100644 --- a/roles/defaults/vars/main.yml +++ b/roles/defaults/vars/main.yml @@ -147,12 +147,12 @@ _atmosphere_images: nova_service_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 nova_spiceproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca nova_spiceproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - octavia_api: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:52d00cb9b4a42a915a52956e4fad09e71f43e79d1a5a55bf538879a6602f7348 - octavia_db_sync: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:52d00cb9b4a42a915a52956e4fad09e71f43e79d1a5a55bf538879a6602f7348 + octavia_api: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:36ed47c546eebd36fa0b067d55443b4eb77568bdad432e93c0f4f56c8b533117 + octavia_db_sync: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:36ed47c546eebd36fa0b067d55443b4eb77568bdad432e93c0f4f56c8b533117 octavia_health_manager_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - octavia_health_manager: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:52d00cb9b4a42a915a52956e4fad09e71f43e79d1a5a55bf538879a6602f7348 - octavia_housekeeping: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:52d00cb9b4a42a915a52956e4fad09e71f43e79d1a5a55bf538879a6602f7348 - octavia_worker: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:52d00cb9b4a42a915a52956e4fad09e71f43e79d1a5a55bf538879a6602f7348 + octavia_health_manager: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:36ed47c546eebd36fa0b067d55443b4eb77568bdad432e93c0f4f56c8b533117 + octavia_housekeeping: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:36ed47c546eebd36fa0b067d55443b4eb77568bdad432e93c0f4f56c8b533117 + octavia_worker: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:36ed47c546eebd36fa0b067d55443b4eb77568bdad432e93c0f4f56c8b533117 openvswitch_db_server: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:c68347b6b1479fda5ccf3165492b989ebe49985fa30661ed4f1ea208fa2a110e openvswitch_vswitchd: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:c68347b6b1479fda5ccf3165492b989ebe49985fa30661ed4f1ea208fa2a110e ovn_controller: ghcr.io/vexxhost/atmosphere/ovn-host:23.03.0-69@sha256:03b4174e347d14e370aff7399a34f5fcbab1176dcf72c22ffbb0e8c1f66628a6 diff --git a/roles/octavia/tasks/generate_resources.yml b/roles/octavia/tasks/generate_resources.yml index 1c4c87ebf..32ee81534 100644 --- a/roles/octavia/tasks/generate_resources.yml +++ b/roles/octavia/tasks/generate_resources.yml @@ -169,6 +169,11 @@ stringData: id_rsa: $(privateKey) id_rsa.pub: $(authorizedKey) + config: | + Host * + User ubuntu + StrictHostKeyChecking no + UserKnownHostsFile /dev/null wait: true wait_timeout: 60 wait_condition: diff --git a/roles/octavia/vars/main.yml b/roles/octavia/vars/main.yml index 2a69cd9eb..f83ae859a 100644 --- a/roles/octavia/vars/main.yml +++ b/roles/octavia/vars/main.yml @@ -39,15 +39,8 @@ _octavia_helm_values: mountPath: /etc/octavia/certs/server - name: octavia-client-certs mountPath: /etc/octavia/certs/client - - name: octavia-amphora-ssh-key-dir - mountPath: /var/lib/octavia/.ssh - - name: octavia-amphora-ssh-key - mountPath: /var/lib/octavia/.ssh/id_rsa - subPath: id_rsa - readOnly: true - name: octavia-amphora-ssh-key - mountPath: /var/lib/octavia/.ssh/id_rsa.pub - subPath: id_rsa.pub + mountPath: /var/lib/octavia/.ssh readOnly: true volumes: - name: octavia-server-ca @@ -56,14 +49,10 @@ _octavia_helm_values: - name: octavia-client-certs secret: secretName: octavia-client-certs - - name: octavia-amphora-ssh-key-dir - emptyDir: {} - name: octavia-amphora-ssh-key secret: secretName: "{{ octavia_ssh_key_secret.resources[0]['metadata']['name'] }}" defaultMode: 0444 # noqa: yaml[octal-values] - - name: octavia-amphora-ssh-key-dir - emptyDir: {} octavia_housekeeping: octavia_housekeeping: volumeMounts: @@ -128,6 +117,7 @@ _octavia_helm_values: driver: noop neutron: endpoint_type: internalURL + valid_interfaces: internal nova: endpoint_type: internalURL service_auth: From 94938074ff7baac15898b77375033dfb967b9adb Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Wed, 17 Jan 2024 17:12:37 -0500 Subject: [PATCH 06/32] docs: add octavia access docs --- docs/operator.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 docs/operator.md diff --git a/docs/operator.md b/docs/operator.md new file mode 100644 index 000000000..a9a8c90dd --- /dev/null +++ b/docs/operator.md @@ -0,0 +1,16 @@ +# Operator Documentation + +## Octavia + +### Accessing Amphorae + +Atmosphere configures an SSH keypair which allows you to login to the Amphorae +for debugging purposes. The `octavia-worker` containers are fully configured +to allow you to SSH to the Amphorae. + +If you have an Amphora running with the IP address `172.24.0.148`, you can login +to it by simply executing the following: + +```bash +kubectl -n openstack exec -it deploy/octavia-worker -- ssh 172.24.0.148 +``` From d4e5b23a91ad6834b49880c5b42183bb3601a873 Mon Sep 17 00:00:00 2001 From: Oleksandr K Date: Thu, 18 Jan 2024 17:20:16 +0100 Subject: [PATCH 07/32] chore: skip annoying images from pinning (#902) Co-authored-by: okozachenko1203 --- build/pin-images.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build/pin-images.py b/build/pin-images.py index 1c0bde5f0..7650d6879 100755 --- a/build/pin-images.py +++ b/build/pin-images.py @@ -12,6 +12,7 @@ LOG = logging.getLogger(__name__) CONF = cfg.CONF +SKIP_IMAGE_LIST = ["secretgen_controller"] def get_digest(image_ref, token=None): headers = {} @@ -114,6 +115,8 @@ def main(): data = yaml.load(args.src) for image in data["_atmosphere_images"]: + if image in SKIP_IMAGE_LIST: + continue image_src = data["_atmosphere_images"][image] pinned_image = get_pinned_image(image_src) From ec1912f9dfbe1a8ddaa4d0db5bee312ddaedd3af Mon Sep 17 00:00:00 2001 From: Oleksandr K Date: Thu, 18 Jan 2024 17:24:59 +0100 Subject: [PATCH 08/32] chore: update images (#903) Co-authored-by: okozachenko1203 --- roles/defaults/vars/main.yml | 232 +++++++++++++++++------------------ 1 file changed, 116 insertions(+), 116 deletions(-) diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml index dc98056f0..0c3ffa947 100644 --- a/roles/defaults/vars/main.yml +++ b/roles/defaults/vars/main.yml @@ -14,10 +14,10 @@ _atmosphere_images: alertmanager: quay.io/prometheus/alertmanager:v0.26.0@sha256:361db356b33041437517f1cd298462055580585f26555c317df1a3caf2868552 - barbican_api: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:e36e6e5882bfc6d8a20497206a69cf8d7abe9450a50a6166759f65295ae021ab - barbican_db_sync: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:e36e6e5882bfc6d8a20497206a69cf8d7abe9450a50a6166759f65295ae021ab - bootstrap: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - ceph_config_helper: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:68274a76b635cf78a513e0b9324e49efdc653714bf974161e5940ddfda206114 + barbican_api: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:b5b6762e9f801aebd5e7be177ba7074bd2967c342ad248cfabf78cb6ea272a4c + barbican_db_sync: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:b5b6762e9f801aebd5e7be177ba7074bd2967c342ad248cfabf78cb6ea272a4c + bootstrap: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + ceph_config_helper: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:2f62e9ba8b229adfa47867feb396f697e71ec97686c1d6e0214ef2efdba0a02c ceph: quay.io/ceph/ceph:v16.2.11@sha256:1b9803c8984bef8b82f05e233e8fe8ed8f0bba8e5cc2c57f6efaccbeea682add cert_manager_cainjector: quay.io/jetstack/cert-manager-cainjector:v1.7.1@sha256:985743eeed2b62f68ee06e583f1d5a371e1c35af4b1980a1b2571d29174cce47 cert_manager_cli: quay.io/jetstack/cert-manager-ctl:v1.7.1@sha256:af84513925d86d2de456b5d67dbccd2a34d93aa6fd4e1c8fe9f84182fef1b1b1 @@ -25,67 +25,67 @@ _atmosphere_images: cert_manager_webhook: quay.io/jetstack/cert-manager-webhook:v1.7.1@sha256:a926d60b6f23553ca5d11ac9cd66bcc692136e838613c8bc0d60c6c35a3cbcfc cilium_node: quay.io/cilium/cilium:v1.13.3@sha256:77176464a1e11ea7e89e984ac7db365e7af39851507e94f137dcf56c87746314 cilium_operator: quay.io/cilium/operator-generic:v1.13.3@sha256:fa7003cbfdf8358cb71786afebc711b26e5e44a2ed99bd4944930bba915b8910 - cinder_api: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:d07e77592f478a373b4043865947dc436babe8fbc37d7fe4a0381c3fea27fc55 - cinder_backup_storage_init: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:d07e77592f478a373b4043865947dc436babe8fbc37d7fe4a0381c3fea27fc55 - cinder_backup: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:d07e77592f478a373b4043865947dc436babe8fbc37d7fe4a0381c3fea27fc55 - cinder_db_sync: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:d07e77592f478a373b4043865947dc436babe8fbc37d7fe4a0381c3fea27fc55 - cinder_scheduler: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:d07e77592f478a373b4043865947dc436babe8fbc37d7fe4a0381c3fea27fc55 - cinder_storage_init: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:d07e77592f478a373b4043865947dc436babe8fbc37d7fe4a0381c3fea27fc55 - cinder_volume_usage_audit: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:d07e77592f478a373b4043865947dc436babe8fbc37d7fe4a0381c3fea27fc55 - cinder_volume: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:d07e77592f478a373b4043865947dc436babe8fbc37d7fe4a0381c3fea27fc55 + cinder_api: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 + cinder_backup_storage_init: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 + cinder_backup: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 + cinder_db_sync: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 + cinder_scheduler: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 + cinder_storage_init: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 + cinder_volume_usage_audit: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 + cinder_volume: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 cluster_api_controller: registry.k8s.io/cluster-api/cluster-api-controller:v1.5.1@sha256:5210087161fdc09c98e47f847c07ed3ff93470e774cb1d5a792e2f76eaa5cf12 cluster_api_kubeadm_bootstrap_controller: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.5.1@sha256:6d73f991862d0df9724fab31a4a694681d9181e772c265d2c5b9b0b26b572479 cluster_api_kubeadm_control_plane_controller: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.5.1@sha256:8d926bcd3e0ca6be6cb9212f692f0ea6790f83862f4dc02fae0c7e0b35e76907 - cluster_api_openstack_controller: ghcr.io/vexxhost/atmosphere/capi-openstack-controller:v0.8.0-1@sha256:1d0edaf4a1c3b3663ddf6efd4629cf5ee3075066ba406e0cfa1a068ea9268c56 + cluster_api_openstack_controller: ghcr.io/vexxhost/atmosphere/capi-openstack-controller:v0.8.0-1@sha256:20fbcafcc78b416c13c75c023e49a50083c05343c647e94661caa25d42f425e4 csi_node_driver_registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.4.0@sha256:0174bf20d7ad8e9f131a045802ef1c43b4592a2ebc18ba07972b1ce8858d9cb7 csi_rbd_attacher: registry.k8s.io/sig-storage/csi-attacher:v3.4.0@sha256:adc2922c98c539f680c02af99042d968114746f973a49b529785d6b402134bbf csi_rbd_plugin: quay.io/cephcsi/cephcsi:v3.5.1@sha256:28a674af1df2325fea415e32a7f93f083fce1f9c474912c45f025427fdc0aa10 csi_rbd_provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.1.0@sha256:92107bb668a9de58a09247596c337bc5b46a1d145685eb55ef489ae16952f5bd csi_rbd_resizer: registry.k8s.io/sig-storage/csi-resizer:v1.3.0@sha256:35ec0c736ec8266bd4a46f9e942315f148f3139beed99879d0ad8b8e5074d641 csi_rbd_snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v4.2.0@sha256:bd7dafbd0d4fe81f23f01c9a7432de067bdf085f70d61492f5ffddd9c5264358 - db_drop: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - db_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 + db_drop: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + db_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 dep_check: ghcr.io/vexxhost/atmosphere/kubernetes-entrypoint:latest@sha256:a1993b58da2afb16b44d4e510bd217ab872a4c10f598909edc39e72cda92f0b5 - designate_api: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:3d40cdcba4c806d68fd58ea15c263b783b5a7e64aa87228ed3c5ddf14f4ab240 - designate_central: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:3d40cdcba4c806d68fd58ea15c263b783b5a7e64aa87228ed3c5ddf14f4ab240 - designate_db_sync: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:3d40cdcba4c806d68fd58ea15c263b783b5a7e64aa87228ed3c5ddf14f4ab240 - designate_mdns: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:3d40cdcba4c806d68fd58ea15c263b783b5a7e64aa87228ed3c5ddf14f4ab240 - designate_producer: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:3d40cdcba4c806d68fd58ea15c263b783b5a7e64aa87228ed3c5ddf14f4ab240 - designate_sink: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:3d40cdcba4c806d68fd58ea15c263b783b5a7e64aa87228ed3c5ddf14f4ab240 - designate_worker: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:3d40cdcba4c806d68fd58ea15c263b783b5a7e64aa87228ed3c5ddf14f4ab240 - glance_api: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:90a212dc90be925b33809a8488ab50cd7c1b09bf619b045c4cd24c409784bfcc - glance_db_sync: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:90a212dc90be925b33809a8488ab50cd7c1b09bf619b045c4cd24c409784bfcc - glance_metadefs_load: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:90a212dc90be925b33809a8488ab50cd7c1b09bf619b045c4cd24c409784bfcc - glance_registry: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:90a212dc90be925b33809a8488ab50cd7c1b09bf619b045c4cd24c409784bfcc - glance_storage_init: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:90a212dc90be925b33809a8488ab50cd7c1b09bf619b045c4cd24c409784bfcc + designate_api: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f + designate_central: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f + designate_db_sync: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f + designate_mdns: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f + designate_producer: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f + designate_sink: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f + designate_worker: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f + glance_api: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85 + glance_db_sync: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85 + glance_metadefs_load: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85 + glance_registry: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85 + glance_storage_init: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85 grafana_sidecar: quay.io/kiwigrid/k8s-sidecar:1.24.6@sha256:3b70b9f1a81e67c97e4cd32c9a918fa44fd2c9f66bdd0d28d8b82d7b502cb5e4 - grafana: docker.io/grafana/grafana:10.1.0@sha256:047c1c5aa6fef257b6c2516f95c8fcd9f28707c201c6413dd78328b6cbedff6f - haproxy: docker.io/library/haproxy:2.5@sha256:ea38b570dd7836aa6b85ef1fb19d1e03f5322cccd62e688f0c2b79e38ac4f391 - heat_api: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - heat_cfn: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - heat_cloudwatch: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - heat_db_sync: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - heat_engine_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - heat_engine: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - heat_purge_deleted: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - horizon_db_sync: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:ef3876e0425182a2b741ebb696ebb4c9e79044d0fabf7afbf8d0025898db58a4 - horizon: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:ef3876e0425182a2b741ebb696ebb4c9e79044d0fabf7afbf8d0025898db58a4 + grafana: docker.io/grafana/grafana:10.1.0@sha256:d04d48ecbe41e513dc934e57ccb4947034cd5005fa17fdf1331a8997e314beda + haproxy: docker.io/library/haproxy:2.5@sha256:489dcc4385fd45813f3e9252b2f1f440db5749e4845d560250ce5083cc45eeb0 + heat_api: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + heat_cfn: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + heat_cloudwatch: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + heat_db_sync: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + heat_engine_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + heat_engine: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + heat_purge_deleted: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + horizon_db_sync: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:4db3ed10fed0204a89f682c8cc0ea28bcd259e2d7537c7e51bcf9db69b1c7a9d + horizon: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:4db3ed10fed0204a89f682c8cc0ea28bcd259e2d7537c7e51bcf9db69b1c7a9d ingress_nginx_controller: registry.k8s.io/ingress-nginx/controller:v1.1.1@sha256:e16123f3932f44a2bba8bc3cf1c109cea4495ee271d6d16ab99228b58766d3ab ingress_nginx_default_backend: registry.k8s.io/defaultbackend-amd64:1.5@sha256:4dc5e07c8ca4e23bddb3153737d7b8c556e5fb2f29c4558b7cd6e6df99c512c7 ingress_nginx_kube_webhook_certgen: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.1.1@sha256:23a03c9c381fba54043d0f6148efeaf4c1ca2ed176e43455178b5c5ebf15ad70 # noqa: yaml[line-length] keepalived: us-docker.pkg.dev/vexxhost-infra/openstack/keepalived:2.0.19@sha256:4fe20cd5c200e301e1a790c9aca8c3fc651c8461afea9d37c56a462d3bfa48bb keycloak: quay.io/keycloak/keycloak:22.0.1-0@sha256:5b872e841ea9e394d89bdf250146434532d9c2001404540d46621d60f87494e7 - keystone_api: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:1e46e5a6e67c10095d3ca597fb166fc5fbb07fb38034a5020244cb0ee200091d - keystone_credential_cleanup: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - keystone_credential_rotate: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:1e46e5a6e67c10095d3ca597fb166fc5fbb07fb38034a5020244cb0ee200091d - keystone_credential_setup: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:1e46e5a6e67c10095d3ca597fb166fc5fbb07fb38034a5020244cb0ee200091d - keystone_db_sync: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:1e46e5a6e67c10095d3ca597fb166fc5fbb07fb38034a5020244cb0ee200091d - keystone_domain_manage: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - keystone_fernet_rotate: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:1e46e5a6e67c10095d3ca597fb166fc5fbb07fb38034a5020244cb0ee200091d - keystone_fernet_setup: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:1e46e5a6e67c10095d3ca597fb166fc5fbb07fb38034a5020244cb0ee200091d - ks_endpoints: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - ks_service: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - ks_user: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 + keystone_api: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985 + keystone_credential_cleanup: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + keystone_credential_rotate: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985 + keystone_credential_setup: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985 + keystone_db_sync: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985 + keystone_domain_manage: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + keystone_fernet_rotate: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985 + keystone_fernet_setup: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985 + ks_endpoints: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + ks_service: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + ks_user: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 kube_apiserver: registry.k8s.io/kube-apiserver:v1.22.17@sha256:d88d1c8f972e10ff4b4176f3185434e2832d3805c457fa9e8816f1da2fdf3b93 kube_controller_manager: registry.k8s.io/kube-controller-manager:v1.22.17@sha256:c3e041c8c8c9ffd33d421c8c1de1f42da52b616bfcf61880498e9efc9ec88005 kube_coredns: registry.k8s.io/coredns/coredns:v1.8.4@sha256:10683d82b024a58cc248c468c2632f9d1b260500f7cd9bb8e73f751048d7d6d4 @@ -94,78 +94,78 @@ _atmosphere_images: kube_scheduler: registry.k8s.io/kube-scheduler:v1.22.17@sha256:f85dda445b7c8da197b8e39b0ca2b125b1e97a4a365d45c04d2759aefe935974 kube_state_metrics: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.9.2@sha256:c30cae7072ffb03f3e7934516db89b3be6c9e5521c0d04d5bbc6e115c9bfa3a7 kubectl: docker.io/bitnami/kubectl:1.27.3@sha256:876cebc2d9272d9eb42c2128c9a08c7e7715dbfe4f2eb2f0b3612df977fdd6b7 - libvirt: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:68274a76b635cf78a513e0b9324e49efdc653714bf974161e5940ddfda206114 + libvirt: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:2f62e9ba8b229adfa47867feb396f697e71ec97686c1d6e0214ef2efdba0a02c libvirt_tls_sidecar: ghcr.io/vexxhost/atmosphere/libvirt-tls-sidecar:latest@sha256:8b3567c9b7f4c942abf12971bc69c0f4b382955b27139c98247891228f825ae7 libvirt_exporter: docker.io/vexxhost/libvirtd-exporter:latest@sha256:1a0fdf89f80060bfdbb8cf45213295c5d9fb1f7ea7dbfe2b331f0649cc98df8e - local_path_provisioner_helper: docker.io/library/busybox:1.36.0@sha256:9e2bbca079387d7965c3a9cee6d0c53f4f4e63ff7637877a83c4c05f2a666112 - local_path_provisioner: docker.io/rancher/local-path-provisioner:v0.0.24@sha256:5bb33992a4ec3034c28b5e0b3c4c2ac35d3613b25b79455eb4b1a95adc82cdc0 + local_path_provisioner_helper: docker.io/library/busybox:1.36.0@sha256:086417a48026173aaadca4ce43a1e4b385e8e62cc738ba79fc6637049674cac0 + local_path_provisioner: docker.io/rancher/local-path-provisioner:v0.0.24@sha256:b7dea5221f06f6feed7788db0ad6b024a433c8f55533bd6cc792dc2079ff9ad2 loki_gateway: docker.io/nginxinc/nginx-unprivileged:1.19-alpine@sha256:bbd46452aae30a7cc7bc438f267af812c7a2b0f3b5bcd4cc55eb99669cea3f28 loki: docker.io/grafana/loki:2.7.3@sha256:8e3abbd89173066721fa07bddfee1c1a7a8fe59bed5b00a2fa09d2b3cef8758c - magnum_api: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:0712bdda7f3bf80a42acdae3fe29d526fa20292ed8dfc265655e91280c8d8244 - magnum_cluster_api_proxy: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:0712bdda7f3bf80a42acdae3fe29d526fa20292ed8dfc265655e91280c8d8244 - magnum_conductor: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:0712bdda7f3bf80a42acdae3fe29d526fa20292ed8dfc265655e91280c8d8244 - magnum_db_sync: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:0712bdda7f3bf80a42acdae3fe29d526fa20292ed8dfc265655e91280c8d8244 + magnum_api: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:846cfa5d62775a335ccd01304808cd2895c7b23d256f3d7fd29e2f8f0ad28110 + magnum_cluster_api_proxy: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:846cfa5d62775a335ccd01304808cd2895c7b23d256f3d7fd29e2f8f0ad28110 + magnum_conductor: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:846cfa5d62775a335ccd01304808cd2895c7b23d256f3d7fd29e2f8f0ad28110 + magnum_db_sync: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:846cfa5d62775a335ccd01304808cd2895c7b23d256f3d7fd29e2f8f0ad28110 magnum_registry: quay.io/vexxhost/magnum-cluster-api-registry:latest@sha256:b954f23ccdbfb2b5b43f6a4e6f7ef5f2ba7bfc81f31de54cf141a56b26628c41 - manila_api: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:cf30be0f2ed730274147e9e6d1d68d419fc3bb62f3e6bf201d7d37636d8eda7c - manila_data: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:cf30be0f2ed730274147e9e6d1d68d419fc3bb62f3e6bf201d7d37636d8eda7c - manila_db_sync: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:cf30be0f2ed730274147e9e6d1d68d419fc3bb62f3e6bf201d7d37636d8eda7c - manila_scheduler: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:cf30be0f2ed730274147e9e6d1d68d419fc3bb62f3e6bf201d7d37636d8eda7c - manila_share: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:cf30be0f2ed730274147e9e6d1d68d419fc3bb62f3e6bf201d7d37636d8eda7c - memcached: docker.io/library/memcached:1.6.17@sha256:d20c577c08863b09b21ecd21d0384d0a800f39d82f37045b3608f677a0a9400f + manila_api: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7 + manila_data: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7 + manila_db_sync: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7 + manila_scheduler: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7 + manila_share: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7 + memcached: docker.io/library/memcached:1.6.17@sha256:db45886d2d48f143be64f2d46407e224b0b61df3b0056b9d5b03e8bc6a7cd74e netoffload: ghcr.io/vexxhost/netoffload:v1.0.1@sha256:60f092e5d5f156c2f933c199ea72274f80eb758d3e0dc2f2b1be62174c3f7183 - neutron_bagpipe_bgp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_bgp_dragent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 + neutron_bagpipe_bgp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_bgp_dragent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf neutron_coredns: docker.io/coredns/coredns:1.9.3@sha256:bdb36ee882c13135669cfc2bb91c808a33926ad1a411fee07bd2dc344bb8f782 - neutron_db_sync: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_dhcp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_ironic_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_l2gw: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_l3: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_linuxbridge_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_netns_cleanup_cron: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_openvswitch_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_ovn_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_server: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_sriov_agent_init: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 - neutron_sriov_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:14a8bf03360ddf6f83926bf144fdb2ae9db80a08eb0b6a54cf6a44fe48bd5887 + neutron_db_sync: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_dhcp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_ironic_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_l2gw: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_l3: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_linuxbridge_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_netns_cleanup_cron: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_openvswitch_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_ovn_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_server: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_sriov_agent_init: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_sriov_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf node_feature_discovery: registry.k8s.io/nfd/node-feature-discovery:v0.11.2@sha256:24b2abfb5956b6a2a9a0f4248232838d02235d65044078c43d8bdcf29344f141 - nova_api: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_archive_deleted_rows: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_cell_setup_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - nova_cell_setup: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_compute_ironic: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_compute_ssh: ghcr.io/vexxhost/atmosphere/nova-ssh:latest@sha256:902ef58f699de769b6809e8b8bb43c47daec14478c9b8952bec1dc7671f4d2cc - nova_compute: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_conductor: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_consoleauth: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_db_sync: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_novncproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_novncproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_placement: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_scheduler: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_service_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - nova_spiceproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - nova_spiceproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:584c9e0a1c503110c95ff511610993e9b41d99091579291c7726db155b6fa0ca - octavia_api: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:36ed47c546eebd36fa0b067d55443b4eb77568bdad432e93c0f4f56c8b533117 - octavia_db_sync: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:36ed47c546eebd36fa0b067d55443b4eb77568bdad432e93c0f4f56c8b533117 - octavia_health_manager_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:c5118e27245b53db06e5098e980816d5f2a8f2615dde49d5e0c5b3172ee69bf6 - octavia_health_manager: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:36ed47c546eebd36fa0b067d55443b4eb77568bdad432e93c0f4f56c8b533117 - octavia_housekeeping: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:36ed47c546eebd36fa0b067d55443b4eb77568bdad432e93c0f4f56c8b533117 - octavia_worker: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:36ed47c546eebd36fa0b067d55443b4eb77568bdad432e93c0f4f56c8b533117 - openvswitch_db_server: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:c68347b6b1479fda5ccf3165492b989ebe49985fa30661ed4f1ea208fa2a110e - openvswitch_vswitchd: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:c68347b6b1479fda5ccf3165492b989ebe49985fa30661ed4f1ea208fa2a110e - ovn_controller: ghcr.io/vexxhost/atmosphere/ovn-host:23.03.0-69@sha256:03b4174e347d14e370aff7399a34f5fcbab1176dcf72c22ffbb0e8c1f66628a6 - ovn_northd: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:d78576bccbc6d812282db94165630aa1e396b89e136215f959f648b65984674c - ovn_ovsdb_nb: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:d78576bccbc6d812282db94165630aa1e396b89e136215f959f648b65984674c - ovn_ovsdb_sb: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:d78576bccbc6d812282db94165630aa1e396b89e136215f959f648b65984674c + nova_api: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_archive_deleted_rows: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_cell_setup_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + nova_cell_setup: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_compute_ironic: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_compute_ssh: ghcr.io/vexxhost/atmosphere/nova-ssh:latest@sha256:6fcab188161814c449d84ab7a55b01291768a75145726469dc56bb2c80433519 + nova_compute: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_conductor: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_consoleauth: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_db_sync: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_novncproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_novncproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_placement: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_scheduler: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_service_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + nova_spiceproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + nova_spiceproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 + octavia_api: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289 + octavia_db_sync: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289 + octavia_health_manager_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + octavia_health_manager: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289 + octavia_housekeeping: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289 + octavia_worker: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289 + openvswitch_db_server: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:524e3efe7dc3c3164af86ee02aa72ccdb72af6b2e347e940786e7dd7924d52b3 + openvswitch_vswitchd: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:524e3efe7dc3c3164af86ee02aa72ccdb72af6b2e347e940786e7dd7924d52b3 + ovn_controller: ghcr.io/vexxhost/atmosphere/ovn-host:23.03.0-69@sha256:5e770bd79aa78b55a561fdc4016516e6dfe90d92906d883ec1d3e76e691231dd + ovn_northd: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:1d805a111edcb229dd387e3699acdca6021b0ba852c4f7e8a8620704cfc35162 + ovn_ovsdb_nb: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:1d805a111edcb229dd387e3699acdca6021b0ba852c4f7e8a8620704cfc35162 + ovn_ovsdb_sb: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:1d805a111edcb229dd387e3699acdca6021b0ba852c4f7e8a8620704cfc35162 pause: registry.k8s.io/pause:3.8@sha256:f5944f2d1daf66463768a1503d0c8c5e8dde7c1674d3f85abc70cef9c7e32e95 percona_xtradb_cluster_haproxy: docker.io/percona/percona-xtradb-cluster-operator:1.13.0-haproxy@sha256:f04e4fea548bfc7cb0bfc73c75c7f2c64d299cf04125a07a8101a55f0f734fed percona_xtradb_cluster_operator: docker.io/percona/percona-xtradb-cluster-operator:1.13.0@sha256:c674d63242f1af521edfbaffae2ae02fb8d010c0557a67a9c42d2b4a50db5243 percona_xtradb_cluster: docker.io/percona/percona-xtradb-cluster:8.0.32-24.2@sha256:1f978ab8912e1b5fc66570529cb7e7a4ec6a38adbfce1ece78159b0fcfa7d47a percona_version_service: docker.io/perconalab/version-service:main-3325140@sha256:b7928130fca1e35ce7feaeec326fef836229a8b4de2f6f6ea5b6d2c7a48cd071 - placement_db_sync: ghcr.io/vexxhost/atmosphere/placement:2023.2@sha256:439732fb29bdda398de9889e06a0e6052f13e2f9f5a9ccd115fc19c77cebe03c - placement: ghcr.io/vexxhost/atmosphere/placement:2023.2@sha256:439732fb29bdda398de9889e06a0e6052f13e2f9f5a9ccd115fc19c77cebe03c + placement_db_sync: ghcr.io/vexxhost/atmosphere/placement:2023.2@sha256:937bfed56b946bc857790876e966423f347c33bef3d49eb668098727b6975a52 + placement: ghcr.io/vexxhost/atmosphere/placement:2023.2@sha256:937bfed56b946bc857790876e966423f347c33bef3d49eb668098727b6975a52 prometheus_config_reloader: quay.io/prometheus-operator/prometheus-config-reloader:v0.67.1@sha256:0fe3cf36985e0e524801a0393f88fa4b5dd5ffdf0f091ff78ee02f2d281631b5 prometheus_ipmi_exporter: us-docker.pkg.dev/vexxhost-infra/openstack/ipmi-exporter:1.4.0@sha256:4898da9cc11961a56363e8b3f3437d0f45b46585b20c79e33e97fbe7232e05d2 prometheus_memcached_exporter: quay.io/prometheus/memcached-exporter:v0.10.0@sha256:fa5a2de1a4744da66fb369bee81232f5ea52208bc643e409a60f66d699ac27b2 @@ -181,18 +181,18 @@ _atmosphere_images: rabbitmq_credential_updater: docker.io/rabbitmqoperator/default-user-credential-updater:1.0.2@sha256:563908dd8d6b6ce768e463a2d9d7a9b9b4adbcd258fed02c0a8746395cfa3f0d rabbitmq_server: docker.io/library/rabbitmq:3.10.2-management@sha256:350ab6d773e3af45183466488fe3259df36cd6ade437b4366a59e8052458cc3a rabbitmq_topology_operator: docker.io/rabbitmqoperator/messaging-topology-operator:1.6.0@sha256:5052e8bdb26996c62315f0707c6fb291fd84492e360cca7351e2c3fdf659be43 - rook_ceph: docker.io/rook/ceph:v1.10.10@sha256:9ae0eca578ef6e38492e5f90073050491382d8772914ddb8ffe4fca8d365b850 + rook_ceph: docker.io/rook/ceph:v1.10.10@sha256:2a65f6678c3f4e368046ee10695dce2c265cc81cd6bfd6258fc670dd18fbad5b secretgen_controller: ghcr.io/carvel-dev/secretgen-controller@sha256:59ec05ce5847bfd70c8e04f08b5195e918c8f6fbb947ffc91b456494a2958fd5 - senlin_api: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:f718174547f3f66e5af758a10c87f7a75e9cbe1fe277cef27130fd512f727401 - senlin_conductor: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:f718174547f3f66e5af758a10c87f7a75e9cbe1fe277cef27130fd512f727401 - senlin_db_sync: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:f718174547f3f66e5af758a10c87f7a75e9cbe1fe277cef27130fd512f727401 - senlin_engine_cleaner: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:f718174547f3f66e5af758a10c87f7a75e9cbe1fe277cef27130fd512f727401 - senlin_engine: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:f718174547f3f66e5af758a10c87f7a75e9cbe1fe277cef27130fd512f727401 - senlin_health_manager: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:f718174547f3f66e5af758a10c87f7a75e9cbe1fe277cef27130fd512f727401 + senlin_api: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a + senlin_conductor: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a + senlin_db_sync: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a + senlin_engine_cleaner: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a + senlin_engine: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a + senlin_health_manager: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a staffeln_db_sync: ghcr.io/vexxhost/staffeln:v2.2.3@sha256:ee3d8ab2c17d21b4a64a48abfb089df98700b6bc7cee5db36b5ef9c357317736 staffeln_conductor: ghcr.io/vexxhost/staffeln:v2.2.3@sha256:ee3d8ab2c17d21b4a64a48abfb089df98700b6bc7cee5db36b5ef9c357317736 staffeln_api: ghcr.io/vexxhost/staffeln:v2.2.3@sha256:ee3d8ab2c17d21b4a64a48abfb089df98700b6bc7cee5db36b5ef9c357317736 - tempest_run_tests: ghcr.io/vexxhost/atmosphere/tempest:master@sha256:f853245478162168d8e818070499e412a91958680122780c80ef8bf73ab01e35 + tempest_run_tests: ghcr.io/vexxhost/atmosphere/tempest:master@sha256:2b97036a841ed07f21dc685b3e2b50946a177c4c86a7336a956f864c1a107b03 vector: docker.io/timberio/vector:0.27.0-debian@sha256:29f23dab76fa306b67b10eac3e9decdb01c906f8aa3b00a2f5b2e8ae088b84e0 atmosphere_images: '{{ _atmosphere_images | combine(atmosphere_image_overrides, recursive=True) From a3868678dd1ddcc2e2b513a06dec6bcc00510993 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sat, 20 Jan 2024 13:54:40 -0500 Subject: [PATCH 09/32] fix: add missing image deps --- Earthfile | 3 ++- images/openstack-service/Earthfile | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Earthfile b/Earthfile index 4ae563e85..ce390e4a0 100644 --- a/Earthfile +++ b/Earthfile @@ -91,12 +91,13 @@ images: BUILD ./images/horizon+image BUILD ./images/ironic+image BUILD ./images/keystone+image + BUILD ./images/kubernetes-entrypoint+image BUILD ./images/libvirtd+image BUILD ./images/magnum+image BUILD ./images/manila+image BUILD ./images/neutron+image - BUILD ./images/nova-ssh+image BUILD ./images/nova+image + BUILD ./images/nova-ssh+image BUILD ./images/octavia+image BUILD ./images/openvswitch+image BUILD ./images/ovn+images diff --git a/images/openstack-service/Earthfile b/images/openstack-service/Earthfile index 5f69b4e82..dce33cb00 100644 --- a/images/openstack-service/Earthfile +++ b/images/openstack-service/Earthfile @@ -69,7 +69,7 @@ builder: COPY \ (+requirements/upper-constraints.txt --RELEASE=${RELEASE}) \ /upper-constraints.txt - DO +PIP_INSTALL --PACKAGES "pymysql python-memcached cryptography uwsgi" + DO +PIP_INSTALL --PACKAGES "cryptography pymysql python-binary-memcached python-memcached uwsgi" image: ARG --required RELEASE From 1eac65691f60938eb901947d3218aead71cf142e Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sat, 20 Jan 2024 13:55:00 -0500 Subject: [PATCH 10/32] chore: add envrc and shell.nix --- .envrc | 1 + .gitignore | 1 + shell.nix | 7 +++++++ 3 files changed, 9 insertions(+) create mode 100644 .envrc create mode 100644 shell.nix diff --git a/.envrc b/.envrc new file mode 100644 index 000000000..65326bb6d --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use nix \ No newline at end of file diff --git a/.gitignore b/.gitignore index 43686af90..95e16cea7 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ __pycache__ tests/output *.orig *.rej +.direnv \ No newline at end of file diff --git a/shell.nix b/shell.nix new file mode 100644 index 000000000..28966f96a --- /dev/null +++ b/shell.nix @@ -0,0 +1,7 @@ +{ pkgs ? import { } }: + +pkgs.mkShell { + packages = with pkgs; [ + pkgs.poetry + ]; +} From 4bf5e6e2151ff3d6a331a3b99771192a0d054e07 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Sat, 20 Jan 2024 13:55:30 -0500 Subject: [PATCH 11/32] chore: update to latest molecule --- molecule/default/molecule.yml | 2 +- poetry.lock | 183 ++++++++++------------------------ pyproject.toml | 3 +- 3 files changed, 55 insertions(+), 133 deletions(-) diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index 6696579f5..2d581b436 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -15,7 +15,7 @@ dependency: name: galaxy driver: - name: delegated + name: default ssh_connection_options: - -o ControlMaster=auto - -o ControlPersist=270s diff --git a/poetry.lock b/poetry.lock index 67ca09aa8..9311a8730 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,14 +1,14 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. [[package]] name = "ansible-compat" -version = "3.0.1" +version = "4.1.11" description = "Ansible compatibility goodies" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "ansible-compat-3.0.1.tar.gz", hash = "sha256:d7dc5e4b7fade9b7375c568a24475b7be81024cac2a20caef3260ef0b51287b4"}, - {file = "ansible_compat-3.0.1-py3-none-any.whl", hash = "sha256:a2a53975e6ea72221d33f82b75332a6416d00a381cb8a84db92fc29935f74bcb"}, + {file = "ansible-compat-4.1.11.tar.gz", hash = "sha256:b3e9f9d7c3a1ce6222de444e9dc6fece7eba70ac64f2a0befdc4e2d542018b4a"}, + {file = "ansible_compat-4.1.11-py3-none-any.whl", hash = "sha256:74a91807808a39af48ab6595811b9340d1458db26b138362f48bf39292190705"}, ] [package.dependencies] @@ -19,8 +19,8 @@ PyYAML = "*" subprocess-tee = ">=0.4.1" [package.extras] -docs = ["argparse-manpage", "black", "cairosvg", "markdown-include", "mkdocs", "mkdocs-exclude", "mkdocs-material", "mkdocs-material-extensions", "mkdocstrings", "mkdocstrings-python", "pillow", "pymdown-extensions", "slugify"] -test = ["coverage", "pip-tools", "pytest (>=7.2.0)", "pytest-mock", "pytest-plus"] +docs = ["argparse-manpage", "black", "mkdocs-ansible[lock] (>=0.1.2)"] +test = ["coverage", "pip-tools", "pytest (>=7.2.0)", "pytest-mock", "pytest-plus (>=0.6.1)"] [[package]] name = "ansible-core" @@ -51,20 +51,6 @@ files = [ {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, ] -[[package]] -name = "arrow" -version = "1.2.3" -description = "Better dates & times for Python" -optional = false -python-versions = ">=3.6" -files = [ - {file = "arrow-1.2.3-py3-none-any.whl", hash = "sha256:5a49ab92e3b7b71d96cd6bfcc4df14efefc9dfa96ea19045815914a6ab6b1fe2"}, - {file = "arrow-1.2.3.tar.gz", hash = "sha256:3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1"}, -] - -[package.dependencies] -python-dateutil = ">=2.7.0" - [[package]] name = "attrs" version = "22.2.0" @@ -84,19 +70,16 @@ tests = ["attrs[tests-no-zope]", "zope.interface"] tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"] [[package]] -name = "binaryornot" -version = "0.4.4" -description = "Ultra-lightweight pure Python package to check if a file is binary or text." +name = "bracex" +version = "2.4" +description = "Bash style brace expander." optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "binaryornot-0.4.4-py2.py3-none-any.whl", hash = "sha256:b8b71173c917bddcd2c16070412e369c3ed7f0528926f70cac18a6c97fd563e4"}, - {file = "binaryornot-0.4.4.tar.gz", hash = "sha256:359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061"}, + {file = "bracex-2.4-py3-none-any.whl", hash = "sha256:efdc71eff95eaff5e0f8cfebe7d01adf2c8637c8c92edaf63ef348c241a82418"}, + {file = "bracex-2.4.tar.gz", hash = "sha256:a27eaf1df42cf561fed58b7a8f3fdf129d1ea16a81e1fadd1d17989bc6384beb"}, ] -[package.dependencies] -chardet = ">=3.0.2" - [[package]] name = "certifi" version = "2023.7.22" @@ -184,17 +167,6 @@ files = [ [package.dependencies] pycparser = "*" -[[package]] -name = "chardet" -version = "5.1.0" -description = "Universal encoding detector for Python 3" -optional = false -python-versions = ">=3.7" -files = [ - {file = "chardet-5.1.0-py3-none-any.whl", hash = "sha256:362777fb014af596ad31334fde1e8c327dfdb076e1960d1694662d46a6917ab9"}, - {file = "chardet-5.1.0.tar.gz", hash = "sha256:0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5"}, -] - [[package]] name = "charset-normalizer" version = "3.0.1" @@ -334,26 +306,6 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] -[[package]] -name = "cookiecutter" -version = "2.1.1" -description = "A command-line utility that creates projects from project templates, e.g. creating a Python package project from a Python package project template." -optional = false -python-versions = ">=3.7" -files = [ - {file = "cookiecutter-2.1.1-py2.py3-none-any.whl", hash = "sha256:9f3ab027cec4f70916e28f03470bdb41e637a3ad354b4d65c765d93aad160022"}, - {file = "cookiecutter-2.1.1.tar.gz", hash = "sha256:f3982be8d9c53dac1261864013fdec7f83afd2e42ede6f6dd069c5e149c540d5"}, -] - -[package.dependencies] -binaryornot = ">=0.4.4" -click = ">=7.0,<9.0.0" -Jinja2 = ">=2.7,<4.0.0" -jinja2-time = ">=0.2.0" -python-slugify = ">=4.0.0" -pyyaml = ">=5.3.1" -requests = ">=2.23.0" - [[package]] name = "coverage" version = "7.1.0" @@ -714,21 +666,6 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] -[[package]] -name = "jinja2-time" -version = "0.2.0" -description = "Jinja2 Extension for Dates and Times" -optional = false -python-versions = "*" -files = [ - {file = "jinja2-time-0.2.0.tar.gz", hash = "sha256:d14eaa4d315e7688daa4969f616f226614350c48730bfa1692d2caebd8c90d40"}, - {file = "jinja2_time-0.2.0-py2.py3-none-any.whl", hash = "sha256:d3eab6605e3ec8b7a0863df09cc1d23714908fa61aa6986a845c20ba488b4efa"}, -] - -[package.dependencies] -arrow = "*" -jinja2 = "*" - [[package]] name = "jmespath" version = "1.0.1" @@ -1000,58 +937,56 @@ files = [ [[package]] name = "molecule" -version = "4.0.4" +version = "6.0.3" description = "Molecule aids in the development and testing of Ansible roles" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "molecule-4.0.4-py3-none-any.whl", hash = "sha256:437a0829c3273f542e0db09516ae743607e6a2eda4d8cbdfb407edda3e0facb2"}, - {file = "molecule-4.0.4.tar.gz", hash = "sha256:aab00c1ba62a42d77edd1a51528dfbb46abca70df7c7147fda0925ee4fe7deda"}, + {file = "molecule-6.0.3-py3-none-any.whl", hash = "sha256:8e5d7a7841f9ed5dd26878d24951ec030b86f780aca17ffc509db8076f42de3d"}, + {file = "molecule-6.0.3.tar.gz", hash = "sha256:d2a881062fcc5ef1e08c1e5127c04354d2c95171955e270bd82b3fbfef72d3b0"}, ] [package.dependencies] -ansible-compat = ">=2.2.0" +ansible-compat = ">=4.1.8" +ansible-core = ">=2.12.10" click = ">=8.0,<9" click-help-colors = ">=0.9" -cookiecutter = ">=1.7.3" enrich = ">=1.2.7" Jinja2 = ">=2.11.3" jsonschema = ">=4.9.1" -molecule-docker = {version = ">=1.0.0", optional = true, markers = "extra == \"docker\""} packaging = "*" pluggy = ">=0.7.1,<2.0" PyYAML = ">=5.1" rich = ">=9.5.1" +wcmatch = ">=8.1.2" [package.extras] -docker = ["molecule-docker (>=1.0.0)"] -docs = ["Sphinx (>=5.0.0,<6.0.0)", "ansible-core (>=2.12.0)", "jinja2 (<3.2.0)", "simplejson (>=3.17.2)", "sphinx-ansible-theme (>=0.8.0,<0.10.0)", "sphinx-notfound-page (>=0.7.1)"] -lint = ["check-jsonschema (>=0.18.3)", "flake8 (>=3.8.4)", "jsonschema (>=4.16.0)", "pre-commit (>=2.10.1)", "yamllint"] -podman = ["molecule-podman (>=1.0.1)"] -test = ["ansi2html (>=1.6.0)", "coverage (>=6.2)", "filelock", "pexpect (>=4.8.0,<5)", "pytest (>=6.1.2)", "pytest-cov (>=2.10.1)", "pytest-html (>=3.0.0)", "pytest-mock (>=3.3.1)", "pytest-plus (>=0.2)", "pytest-testinfra (>=6.1.0)", "pytest-xdist (>=2.1.0)"] -windows = ["pywinrm"] +docs = ["linkchecker (==10.2.1)", "mkdocs-ansible[lock] (>=0.2.0)", "pipdeptree (>=2.4.0)"] +test = ["ansi2html (>=1.8.0)", "ansible-lint (>=6.12.1)", "check-jsonschema", "coverage (>=7.0.3)", "filelock (>=3.9.0)", "pexpect (>=4.8.0,<5)", "pytest (>=7.2.0)", "pytest-mock (>=3.10.0)", "pytest-plus (>=0.4.0)", "pytest-xdist (>=3.1.0)"] +testinfra = ["pytest-testinfra (>=8.1.0)"] [[package]] -name = "molecule-docker" -version = "2.1.0" -description = "Molecule aids in the development and testing of Ansible roles" +name = "molecule-plugins" +version = "23.5.0" +description = "Molecule Plugins" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "molecule-docker-2.1.0.tar.gz", hash = "sha256:195b97673cbc2335cfa6810816de5cbf807507bf350a9d16ca98b224b1647145"}, - {file = "molecule_docker-2.1.0-py3-none-any.whl", hash = "sha256:d439b075789be700b6594ed73f3254e2a25ed61dcf312d80ab6e718d13bf150e"}, + {file = "molecule-plugins-23.5.0.tar.gz", hash = "sha256:f13ea047b8650c892604b81b76382bc80bb4ae25ea50b23f30e81fd9d5802aff"}, + {file = "molecule_plugins-23.5.0-py3-none-any.whl", hash = "sha256:893dba8d077adb30fcd50a5d082300404ced3bb745451bc0927d4a1ada131d31"}, ] [package.dependencies] -docker = ">=4.3.1" -molecule = ">=4.0.0" -requests = "*" -selinux = {version = "*", markers = "sys_platform == \"linux\" or sys_platform == \"linux2\""} +docker = {version = ">=4.3.1", optional = true, markers = "extra == \"docker\""} +molecule = ">=5.0" +requests = {version = "*", optional = true, markers = "extra == \"docker\""} +selinux = {version = "*", optional = true, markers = "(sys_platform == \"linux\" or sys_platform == \"linux2\") and extra == \"docker\""} [package.extras] -docs = ["Sphinx", "simplejson", "sphinx-ansible-theme (>=0.2.2)"] -lint = ["pre-commit (>=1.21.0)"] -test = ["molecule[test]"] +docker = ["docker (>=4.3.1)", "requests", "selinux", "selinux"] +selinux = ["selinux", "selinux"] +test = ["molecule[test]", "pytest-helpers-namespace (>=2019.1.8)"] +vagrant = ["python-vagrant"] [[package]] name = "msgpack" @@ -1628,23 +1563,6 @@ files = [ [package.dependencies] six = ">=1.5" -[[package]] -name = "python-slugify" -version = "8.0.0" -description = "A Python slugify application that also handles Unicode" -optional = false -python-versions = ">=3.7" -files = [ - {file = "python-slugify-8.0.0.tar.gz", hash = "sha256:f1da83f3c7ab839b3f84543470cd95bdb5a81f1a0b80fed502f78b7dca256062"}, - {file = "python_slugify-8.0.0-py2.py3-none-any.whl", hash = "sha256:51f217508df20a6c166c7821683384b998560adcf8f19a6c2ca8b460528ccd9c"}, -] - -[package.dependencies] -text-unidecode = ">=1.3" - -[package.extras] -unidecode = ["Unidecode (>=1.1.1)"] - [[package]] name = "pytz" version = "2023.3" @@ -2031,17 +1949,6 @@ files = [ [package.extras] test = ["enrich (>=1.2.6)", "molecule (>=3.4.0)", "pytest (>=6.2.5)", "pytest-cov (>=2.12.1)", "pytest-plus (>=0.2)", "pytest-xdist (>=2.3.0)"] -[[package]] -name = "text-unidecode" -version = "1.3" -description = "The most basic Text::Unidecode port" -optional = false -python-versions = "*" -files = [ - {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, - {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, -] - [[package]] name = "tomli" version = "2.0.1" @@ -2109,6 +2016,20 @@ files = [ [package.extras] watchmedo = ["PyYAML (>=3.10)"] +[[package]] +name = "wcmatch" +version = "8.5" +description = "Wildcard/glob file name matcher." +optional = false +python-versions = ">=3.8" +files = [ + {file = "wcmatch-8.5-py3-none-any.whl", hash = "sha256:14554e409b142edeefab901dc68ad570b30a72a8ab9a79106c5d5e9a6d241bd5"}, + {file = "wcmatch-8.5.tar.gz", hash = "sha256:86c17572d0f75cbf3bcb1a18f3bf2f9e72b39a9c08c9b4a74e991e1882a8efb3"}, +] + +[package.dependencies] +bracex = ">=2.1.1" + [[package]] name = "websocket-client" version = "1.5.1" @@ -2212,4 +2133,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "421dde1591397e5ebe0aa21cbedb673f8d87e389c95e7d0e80727382e9eab76a" +content-hash = "47713d3daf671ca77ea86dba13bc4c50cc27fb9822340f05bbe0dbd326e33428" diff --git a/pyproject.toml b/pyproject.toml index 77317702b..0f44db07a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,8 @@ netaddr = "^0.8.0" [tool.poetry.group.dev.dependencies] flake8 = "^5.0.4" flake8-isort = "^4.2.0" -molecule = {version = "^4.0.4", extras = ["docker"]} +molecule = "^6.0.3" +molecule-plugins = {extras = ["docker"], version = "^23.5.0"} oslo-log = "^5.2.0" pytest = "^7.1.3" pytest-cov = "^3.0.0" From 142c13e9367042884ca11fad282f6a403f3cb16d Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Mon, 22 Jan 2024 12:54:01 -0500 Subject: [PATCH 12/32] fix(magnum): add missing helm image --- images/helm/Earthfile | 12 ++++++++++++ images/magnum/Earthfile | 1 + roles/defaults/vars/main.yml | 8 ++++---- shell.nix | 1 + 4 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 images/helm/Earthfile diff --git a/images/helm/Earthfile b/images/helm/Earthfile new file mode 100644 index 000000000..6809e3791 --- /dev/null +++ b/images/helm/Earthfile @@ -0,0 +1,12 @@ +VERSION 0.7 + +binary: + FROM curlimages/curl:7.78.0 + ARG TARGETOS + ARG TARGETARCH + ARG VERSION=3.14.0 + WORKDIR /tmp + RUN curl -LO https://get.helm.sh/helm-v3.14.0-${TARGETOS}-${TARGETARCH}.tar.gz + RUN tar -zxvf /tmp/helm-v3.14.0-${TARGETOS}-${TARGETARCH}.tar.gz + RUN ${TARGETOS}-${TARGETARCH}/helm version + SAVE ARTIFACT ${TARGETOS}-${TARGETARCH}/helm diff --git a/images/magnum/Earthfile b/images/magnum/Earthfile index 645d99cd7..c309459e5 100644 --- a/images/magnum/Earthfile +++ b/images/magnum/Earthfile @@ -16,6 +16,7 @@ image: COPY +build/venv /var/lib/openstack DO ../+APT_INSTALL \ --PACKAGES "haproxy" + COPY ../helm+binary/helm /usr/local/bin/helm SAVE IMAGE --push \ ghcr.io/vexxhost/atmosphere/${PROJECT}:${RELEASE} \ ghcr.io/vexxhost/atmosphere/${PROJECT}:${PROJECT_REF} diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml index 0c3ffa947..63368dd5e 100644 --- a/roles/defaults/vars/main.yml +++ b/roles/defaults/vars/main.yml @@ -101,10 +101,10 @@ _atmosphere_images: local_path_provisioner: docker.io/rancher/local-path-provisioner:v0.0.24@sha256:b7dea5221f06f6feed7788db0ad6b024a433c8f55533bd6cc792dc2079ff9ad2 loki_gateway: docker.io/nginxinc/nginx-unprivileged:1.19-alpine@sha256:bbd46452aae30a7cc7bc438f267af812c7a2b0f3b5bcd4cc55eb99669cea3f28 loki: docker.io/grafana/loki:2.7.3@sha256:8e3abbd89173066721fa07bddfee1c1a7a8fe59bed5b00a2fa09d2b3cef8758c - magnum_api: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:846cfa5d62775a335ccd01304808cd2895c7b23d256f3d7fd29e2f8f0ad28110 - magnum_cluster_api_proxy: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:846cfa5d62775a335ccd01304808cd2895c7b23d256f3d7fd29e2f8f0ad28110 - magnum_conductor: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:846cfa5d62775a335ccd01304808cd2895c7b23d256f3d7fd29e2f8f0ad28110 - magnum_db_sync: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:846cfa5d62775a335ccd01304808cd2895c7b23d256f3d7fd29e2f8f0ad28110 + magnum_api: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:c13b20bd597a7f922232e19f66c050e875e6e49b6ae427b605f778c8ad04b71e + magnum_cluster_api_proxy: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:c13b20bd597a7f922232e19f66c050e875e6e49b6ae427b605f778c8ad04b71e + magnum_conductor: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:c13b20bd597a7f922232e19f66c050e875e6e49b6ae427b605f778c8ad04b71e + magnum_db_sync: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:c13b20bd597a7f922232e19f66c050e875e6e49b6ae427b605f778c8ad04b71e magnum_registry: quay.io/vexxhost/magnum-cluster-api-registry:latest@sha256:b954f23ccdbfb2b5b43f6a4e6f7ef5f2ba7bfc81f31de54cf141a56b26628c41 manila_api: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7 manila_data: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7 diff --git a/shell.nix b/shell.nix index 28966f96a..9b81adbab 100644 --- a/shell.nix +++ b/shell.nix @@ -2,6 +2,7 @@ pkgs.mkShell { packages = with pkgs; [ + pkgs.earthly pkgs.poetry ]; } From 36688529ff52c7744f50ce5a0b408aa859918050 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Mon, 22 Jan 2024 13:19:19 -0500 Subject: [PATCH 13/32] fix(libvirt-tls-sidecar): add missing cert file --- internal/tls/libvirt.go | 2 +- roles/defaults/vars/main.yml | 2 +- shell.nix | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/tls/libvirt.go b/internal/tls/libvirt.go index cbcac1ea9..227dd6ff5 100644 --- a/internal/tls/libvirt.go +++ b/internal/tls/libvirt.go @@ -253,7 +253,7 @@ func (m *LibvirtManager) write(secret *v1.Secret) { m.writeFile("/etc/pki/libvirt/servercert.pem", secret.Data["tls.crt"]) m.writeFile("/etc/pki/libvirt/private/serverkey.pem", secret.Data["tls.key"]) m.writeFile("/etc/pki/libvirt/clientcert.pem", secret.Data["tls.crt"]) - m.writeFile("/etc/pki/libvirt/private/clientkey.pem", secret.Data["ca.key"]) + m.writeFile("/etc/pki/libvirt/private/clientkey.pem", secret.Data["tls.key"]) m.createDirectory("/etc/pki/qemu") m.writeFile("/etc/pki/qemu/ca-cert.pem", secret.Data["ca.crt"]) m.writeFile("/etc/pki/qemu/server-cert.pem", secret.Data["tls.crt"]) diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml index 63368dd5e..5f72712ab 100644 --- a/roles/defaults/vars/main.yml +++ b/roles/defaults/vars/main.yml @@ -95,7 +95,7 @@ _atmosphere_images: kube_state_metrics: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.9.2@sha256:c30cae7072ffb03f3e7934516db89b3be6c9e5521c0d04d5bbc6e115c9bfa3a7 kubectl: docker.io/bitnami/kubectl:1.27.3@sha256:876cebc2d9272d9eb42c2128c9a08c7e7715dbfe4f2eb2f0b3612df977fdd6b7 libvirt: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:2f62e9ba8b229adfa47867feb396f697e71ec97686c1d6e0214ef2efdba0a02c - libvirt_tls_sidecar: ghcr.io/vexxhost/atmosphere/libvirt-tls-sidecar:latest@sha256:8b3567c9b7f4c942abf12971bc69c0f4b382955b27139c98247891228f825ae7 + libvirt_tls_sidecar: ghcr.io/vexxhost/atmosphere/libvirt-tls-sidecar:latest@sha256:bb0954a9fd47f1e2c783a22dbe81c24bbe88f3658b2848b62ad0601f7323d7d1 libvirt_exporter: docker.io/vexxhost/libvirtd-exporter:latest@sha256:1a0fdf89f80060bfdbb8cf45213295c5d9fb1f7ea7dbfe2b331f0649cc98df8e local_path_provisioner_helper: docker.io/library/busybox:1.36.0@sha256:086417a48026173aaadca4ce43a1e4b385e8e62cc738ba79fc6637049674cac0 local_path_provisioner: docker.io/rancher/local-path-provisioner:v0.0.24@sha256:b7dea5221f06f6feed7788db0ad6b024a433c8f55533bd6cc792dc2079ff9ad2 diff --git a/shell.nix b/shell.nix index 9b81adbab..b3fe12c9a 100644 --- a/shell.nix +++ b/shell.nix @@ -2,6 +2,7 @@ pkgs.mkShell { packages = with pkgs; [ + pkgs.go pkgs.earthly pkgs.poetry ]; From 1c0014602e89a9e7eb46734a154003618907196f Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Mon, 22 Jan 2024 15:33:45 -0500 Subject: [PATCH 14/32] chore: fix pkgs order --- shell.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shell.nix b/shell.nix index b3fe12c9a..f11ac392a 100644 --- a/shell.nix +++ b/shell.nix @@ -2,8 +2,8 @@ pkgs.mkShell { packages = with pkgs; [ - pkgs.go pkgs.earthly + pkgs.go pkgs.poetry ]; } From a44cadc980dc5aa412a48a215911b3899c8b92e3 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Mon, 22 Jan 2024 15:34:12 -0500 Subject: [PATCH 15/32] chore: use common curl image --- images/curl/Earthfile | 5 +++++ images/helm/Earthfile | 3 +-- images/kubernetes/Earthfile | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 images/curl/Earthfile diff --git a/images/curl/Earthfile b/images/curl/Earthfile new file mode 100644 index 000000000..06d3d8e1a --- /dev/null +++ b/images/curl/Earthfile @@ -0,0 +1,5 @@ +VERSION 0.7 + +image: + FROM curlimages/curl:7.78.0 + WORKDIR /tmp diff --git a/images/helm/Earthfile b/images/helm/Earthfile index 6809e3791..d0b51550e 100644 --- a/images/helm/Earthfile +++ b/images/helm/Earthfile @@ -1,11 +1,10 @@ VERSION 0.7 binary: - FROM curlimages/curl:7.78.0 + FROM ../curl+image ARG TARGETOS ARG TARGETARCH ARG VERSION=3.14.0 - WORKDIR /tmp RUN curl -LO https://get.helm.sh/helm-v3.14.0-${TARGETOS}-${TARGETARCH}.tar.gz RUN tar -zxvf /tmp/helm-v3.14.0-${TARGETOS}-${TARGETARCH}.tar.gz RUN ${TARGETOS}-${TARGETARCH}/helm version diff --git a/images/kubernetes/Earthfile b/images/kubernetes/Earthfile index 4a1193797..d31c1e029 100644 --- a/images/kubernetes/Earthfile +++ b/images/kubernetes/Earthfile @@ -1,7 +1,7 @@ VERSION 0.7 image: - FROM curlimages/curl:7.78.0 + FROM ../curl+image ARG TARGETOS ARG TARGETARCH RUN curl -L "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/${TARGETOS}/${TARGETARCH}/kubectl" -o /tmp/kubectl From 21422051743c65c155f8377dd5666b1373a94600 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Mon, 22 Jan 2024 15:34:59 -0500 Subject: [PATCH 16/32] fix(horizon): fix cves in image --- images/base/Earthfile | 6 +++++- images/openstack-service/Earthfile | 7 ++++++- roles/defaults/vars/main.yml | 4 ++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/images/base/Earthfile b/images/base/Earthfile index 89449e018..8d3c3b434 100644 --- a/images/base/Earthfile +++ b/images/base/Earthfile @@ -1,5 +1,9 @@ VERSION 0.7 image: - FROM ubuntu:jammy + FROM ubuntu:jammy-20240111 LABEL org.opencontainers.image.source=https://github.com/vexxhost/atmosphere + # TODO(mnaser): Remove this when a new image that includes 1.4.0-11ubuntu2.4 is released. + # https://avd.aquasec.com/nvd/cve-2024-22365 + DO ../+APT_INSTALL \ + --PACKAGES "libpam0g libpam-modules libpam-modules-bin libpam-runtime" diff --git a/images/openstack-service/Earthfile b/images/openstack-service/Earthfile index dce33cb00..11fb292a8 100644 --- a/images/openstack-service/Earthfile +++ b/images/openstack-service/Earthfile @@ -43,6 +43,11 @@ requirements: END GIT CLONE --branch ${BRANCH} https://github.com/openstack/requirements /src RUN \ + sed -i 's/cryptography===40.0.2/cryptography===41.0.7/' /src/upper-constraints.txt && \ + sed -i 's/Django===3.2.18/Django===3.2.23/' /src/upper-constraints.txt && \ + sed -i 's/pyOpenSSL===23.1.1/pyOpenSSL===23.3.0/' /src/upper-constraints.txt && \ + sed -i 's/requests===2.28.2/requests===2.31.0/' /src/upper-constraints.txt && \ + sed -i 's/urllib3===1.26.15/urllib3===1.26.18/' /src/upper-constraints.txt && \ sed -i '/glance-store/d' /src/upper-constraints.txt && \ sed -i '/horizon/d' /src/upper-constraints.txt SAVE ARTIFACT /src/upper-constraints.txt @@ -65,7 +70,7 @@ builder: python3-pip \ python3-venv" RUN --mount type=cache,target=/root/.cache \ - python3 -m venv --upgrade --system-site-packages /var/lib/openstack + python3 -m venv --upgrade-deps --system-site-packages /var/lib/openstack COPY \ (+requirements/upper-constraints.txt --RELEASE=${RELEASE}) \ /upper-constraints.txt diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml index 5f72712ab..93ec813e3 100644 --- a/roles/defaults/vars/main.yml +++ b/roles/defaults/vars/main.yml @@ -68,8 +68,8 @@ _atmosphere_images: heat_engine_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 heat_engine: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 heat_purge_deleted: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - horizon_db_sync: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:4db3ed10fed0204a89f682c8cc0ea28bcd259e2d7537c7e51bcf9db69b1c7a9d - horizon: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:4db3ed10fed0204a89f682c8cc0ea28bcd259e2d7537c7e51bcf9db69b1c7a9d + horizon_db_sync: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:c1b0d1b55a1f0286445e6676123cf02e315bf362578d1169615630908b4d7851 + horizon: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:c1b0d1b55a1f0286445e6676123cf02e315bf362578d1169615630908b4d7851 ingress_nginx_controller: registry.k8s.io/ingress-nginx/controller:v1.1.1@sha256:e16123f3932f44a2bba8bc3cf1c109cea4495ee271d6d16ab99228b58766d3ab ingress_nginx_default_backend: registry.k8s.io/defaultbackend-amd64:1.5@sha256:4dc5e07c8ca4e23bddb3153737d7b8c556e5fb2f29c4558b7cd6e6df99c512c7 ingress_nginx_kube_webhook_certgen: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.1.1@sha256:23a03c9c381fba54043d0f6148efeaf4c1ca2ed176e43455178b5c5ebf15ad70 # noqa: yaml[line-length] From 161e0dffa7ccd26878a9ebd486b607e780948fe5 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Mon, 22 Jan 2024 16:35:45 -0500 Subject: [PATCH 17/32] fix(capi): fix cve from image --- .../cluster-api-provider-openstack/Earthfile | 2 +- .../0001-chore-bump-k8s-api-for-cve.patch | 158 ++++++++++++++++++ 2 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 images/cluster-api-provider-openstack/patches/0001-chore-bump-k8s-api-for-cve.patch diff --git a/images/cluster-api-provider-openstack/Earthfile b/images/cluster-api-provider-openstack/Earthfile index 92c0b2e7e..bae0ce189 100644 --- a/images/cluster-api-provider-openstack/Earthfile +++ b/images/cluster-api-provider-openstack/Earthfile @@ -1,7 +1,7 @@ VERSION 0.7 ARG --global CAPO_VERSION=v0.8.0 -ARG --global EPOCH=1 +ARG --global EPOCH=2 clone: FROM ../builder+image diff --git a/images/cluster-api-provider-openstack/patches/0001-chore-bump-k8s-api-for-cve.patch b/images/cluster-api-provider-openstack/patches/0001-chore-bump-k8s-api-for-cve.patch new file mode 100644 index 000000000..2812ac502 --- /dev/null +++ b/images/cluster-api-provider-openstack/patches/0001-chore-bump-k8s-api-for-cve.patch @@ -0,0 +1,158 @@ +From 139a57e7b0d4c57033e281b061e459039a5e21d3 Mon Sep 17 00:00:00 2001 +From: Mohammed Naser +Date: Mon, 22 Jan 2024 16:22:52 -0500 +Subject: [PATCH 2/2] chore: bump k8s api for cve + +--- + go.mod | 17 +++++++++-------- + go.sum | 36 +++++++++++++++++++----------------- + 2 files changed, 28 insertions(+), 25 deletions(-) + +diff --git a/go.mod b/go.mod +index db4a954a..49d2f7cf 100644 +--- a/go.mod ++++ b/go.mod +@@ -15,8 +15,8 @@ require ( + github.com/onsi/gomega v1.27.8 + github.com/prometheus/client_golang v1.16.0 + github.com/spf13/pflag v1.0.5 +- golang.org/x/crypto v0.11.0 +- golang.org/x/text v0.11.0 ++ golang.org/x/crypto v0.14.0 ++ golang.org/x/text v0.13.0 + gopkg.in/ini.v1 v1.67.0 + k8s.io/api v0.27.2 + k8s.io/apiextensions-apiserver v0.27.2 +@@ -24,7 +24,7 @@ require ( + k8s.io/client-go v0.27.2 + k8s.io/component-base v0.27.2 + k8s.io/klog/v2 v2.90.1 +- k8s.io/kubernetes v1.27.2 ++ k8s.io/kubernetes v1.27.8 + k8s.io/utils v0.0.0-20230313181309-38a27ef9d749 + sigs.k8s.io/cluster-api v1.5.1 + sigs.k8s.io/cluster-api/test v1.5.1 +@@ -113,15 +113,16 @@ require ( + go.uber.org/multierr v1.11.0 // indirect + go.uber.org/zap v1.24.0 // indirect + golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect +- golang.org/x/net v0.13.0 // indirect ++ golang.org/x/net v0.17.0 // indirect + golang.org/x/oauth2 v0.10.0 // indirect +- golang.org/x/sys v0.10.0 // indirect +- golang.org/x/term v0.10.0 // indirect ++ golang.org/x/sys v0.13.0 // indirect ++ golang.org/x/term v0.13.0 // indirect + golang.org/x/time v0.3.0 // indirect +- golang.org/x/tools v0.9.3 // indirect ++ golang.org/x/tools v0.12.0 // indirect + gomodules.xyz/jsonpatch/v2 v2.3.0 // indirect + google.golang.org/appengine v1.6.7 // indirect +- google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect ++ google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a // indirect ++ google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect + google.golang.org/protobuf v1.31.0 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect +diff --git a/go.sum b/go.sum +index 66bd8109..f18ece49 100644 +--- a/go.sum ++++ b/go.sum +@@ -516,8 +516,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y + golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= + golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= + golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +-golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= +-golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= ++golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= ++golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= + golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= + golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= + golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +@@ -555,7 +555,7 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= + golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= + golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= + golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +-golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= ++golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= + golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= + golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= + golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +@@ -596,8 +596,8 @@ golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qx + golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= + golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= + golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +-golang.org/x/net v0.13.0 h1:Nvo8UFsZ8X3BhAC9699Z1j7XQ3rsZnUUm7jfBEk1ueY= +-golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= ++golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= ++golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= + golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= + golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= + golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +@@ -673,13 +673,13 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc + golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= + golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= + golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +-golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= +-golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= ++golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= ++golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= + golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= + golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= + golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +-golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= +-golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= ++golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= ++golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= + golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= + golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= + golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +@@ -690,8 +690,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= + golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= + golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= + golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +-golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= +-golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= ++golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= ++golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= + golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= + golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= + golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +@@ -752,8 +752,8 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= + golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= + golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= + golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +-golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM= +-golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= ++golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss= ++golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= + golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= + golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= + golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +@@ -825,8 +825,10 @@ google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6D + google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= + google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= + google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +-google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +-google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= ++google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a h1:HiYVD+FGJkTo+9zj1gqz0anapsa1JxjiSrN+BJKyUmE= ++google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= ++google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 h1:0nDDozoAU19Qb2HwhXadU8OcsiO/09cnTqhUtq2MEOM= ++google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= + google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= + google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= + google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +@@ -914,8 +916,8 @@ k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= + k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= + k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f h1:2kWPakN3i/k81b0gvD5C5FJ2kxm1WrQFanWchyKuqGg= + k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f/go.mod h1:byini6yhqGC14c3ebc/QwanvYwhuMWF6yz2F8uwW8eg= +-k8s.io/kubernetes v1.27.2 h1:g4v9oY6u7vBUDEuq4FvC50Bbw2K7GZuvM00IIESWVf4= +-k8s.io/kubernetes v1.27.2/go.mod h1:U8ZXeKBAPxeb4J4/HOaxjw1A9K6WfSH+fY2SS7CR6IM= ++k8s.io/kubernetes v1.27.8 h1:K848lTo/D0jvrxUlTvw4nNADixbhXLHgKNDP/KlFGy8= ++k8s.io/kubernetes v1.27.8/go.mod h1:PUXXrx0IhAi+kI9BMDqNJHUnLndVv9W0DkriqyjuJOs= + k8s.io/utils v0.0.0-20230313181309-38a27ef9d749 h1:xMMXJlJbsU8w3V5N2FLDQ8YgU8s1EoULdbQBcAeNJkY= + k8s.io/utils v0.0.0-20230313181309-38a27ef9d749/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= + rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +-- +2.43.0 + From b3cefe1ed5449050d73bff1882ea38f6a51b8415 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Mon, 22 Jan 2024 16:36:05 -0500 Subject: [PATCH 18/32] fix(barbican): remove cves from image --- images/barbican/Earthfile | 5 ++++- images/openstack-service/Earthfile | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/images/barbican/Earthfile b/images/barbican/Earthfile index 0c843ffe2..df1d92704 100644 --- a/images/barbican/Earthfile +++ b/images/barbican/Earthfile @@ -6,10 +6,13 @@ ARG --global PROJECT_REF=a00fcade4138ffc52cd9c84b5999297966f019b5 build: FROM ../openstack-service+builder --RELEASE=${RELEASE} + # NOTE(mnaser): pykmip includes some demo certificates which trigger + # security scanners. We remove them here. DO ../openstack-service+BUILD_VENV \ --PROJECT=${PROJECT} \ --PROJECT_REF=${PROJECT_REF} \ - --PIP_PACKAGES="pykmip" + --PIP_PACKAGES="pykmip" \ + --PURGE_PATHS="kmip/demos" image: FROM ../openstack-service+image --RELEASE ${RELEASE} --PROJECT ${PROJECT} diff --git a/images/openstack-service/Earthfile b/images/openstack-service/Earthfile index 11fb292a8..6cafda386 100644 --- a/images/openstack-service/Earthfile +++ b/images/openstack-service/Earthfile @@ -31,6 +31,10 @@ BUILD_VENV: ARG EXTRAS="" ARG PIP_PACKAGES="" DO +PIP_INSTALL --PACKAGES "/src${EXTRAS} ${PIP_PACKAGES}" + ARG PURGE_PATHS + FOR PURGE_PATH IN ${PURGE_PATHS} + RUN rm -rfv /var/lib/openstack/lib/python3.10/site-packages/${PURGE_PATH} + END SAVE ARTIFACT /var/lib/openstack venv requirements: @@ -44,9 +48,13 @@ requirements: GIT CLONE --branch ${BRANCH} https://github.com/openstack/requirements /src RUN \ sed -i 's/cryptography===40.0.2/cryptography===41.0.7/' /src/upper-constraints.txt && \ + sed -i 's/Flask===2.2.3/Flask===2.2.5/' /src/upper-constraints.txt && \ sed -i 's/Django===3.2.18/Django===3.2.23/' /src/upper-constraints.txt && \ + sed -i 's/Jinja2===3.1.2/Jinja2===3.1.3/' /src/upper-constraints.txt && \ + sed -i 's/paramiko===3.1.0/paramiko===3.4.0/' /src/upper-constraints.txt && \ sed -i 's/pyOpenSSL===23.1.1/pyOpenSSL===23.3.0/' /src/upper-constraints.txt && \ sed -i 's/requests===2.28.2/requests===2.31.0/' /src/upper-constraints.txt && \ + sed -i 's/Werkzeug===2.2.3/Werkzeug===2.3.8/' /src/upper-constraints.txt && \ sed -i 's/urllib3===1.26.15/urllib3===1.26.18/' /src/upper-constraints.txt && \ sed -i '/glance-store/d' /src/upper-constraints.txt && \ sed -i '/horizon/d' /src/upper-constraints.txt From 5beb5ef6acd8d018135943b8def8fdffceae91e9 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Mon, 22 Jan 2024 16:46:24 -0500 Subject: [PATCH 19/32] chore: stop secret scanning for now --- images/barbican/Earthfile | 5 +---- images/openstack-service/Earthfile | 4 ---- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/images/barbican/Earthfile b/images/barbican/Earthfile index df1d92704..0c843ffe2 100644 --- a/images/barbican/Earthfile +++ b/images/barbican/Earthfile @@ -6,13 +6,10 @@ ARG --global PROJECT_REF=a00fcade4138ffc52cd9c84b5999297966f019b5 build: FROM ../openstack-service+builder --RELEASE=${RELEASE} - # NOTE(mnaser): pykmip includes some demo certificates which trigger - # security scanners. We remove them here. DO ../openstack-service+BUILD_VENV \ --PROJECT=${PROJECT} \ --PROJECT_REF=${PROJECT_REF} \ - --PIP_PACKAGES="pykmip" \ - --PURGE_PATHS="kmip/demos" + --PIP_PACKAGES="pykmip" image: FROM ../openstack-service+image --RELEASE ${RELEASE} --PROJECT ${PROJECT} diff --git a/images/openstack-service/Earthfile b/images/openstack-service/Earthfile index 6cafda386..732091048 100644 --- a/images/openstack-service/Earthfile +++ b/images/openstack-service/Earthfile @@ -31,10 +31,6 @@ BUILD_VENV: ARG EXTRAS="" ARG PIP_PACKAGES="" DO +PIP_INSTALL --PACKAGES "/src${EXTRAS} ${PIP_PACKAGES}" - ARG PURGE_PATHS - FOR PURGE_PATH IN ${PURGE_PATHS} - RUN rm -rfv /var/lib/openstack/lib/python3.10/site-packages/${PURGE_PATH} - END SAVE ARTIFACT /var/lib/openstack venv requirements: From 7a848bc8c97f247ada908cfa629518d3e449ddd6 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Mon, 22 Jan 2024 21:58:11 -0500 Subject: [PATCH 20/32] fix(images): address all CVEs in images --- .github/workflows/images.yml | 34 ++++ Earthfile | 32 +++- images/Earthfile | 3 +- images/base/Earthfile | 5 + images/kubernetes-entrypoint/Earthfile | 3 +- images/netoffload/Earthfile | 27 +++ images/nova-ssh/Earthfile | 18 +- images/openstack-service/Earthfile | 15 +- images/staffeln/Earthfile | 19 ++ images/trivy/.trivyignore | 17 ++ images/trivy/Earthfile | 8 + roles/defaults/vars/main.yml | 232 ++++++++++++------------- 12 files changed, 283 insertions(+), 130 deletions(-) create mode 100644 images/netoffload/Earthfile create mode 100644 images/staffeln/Earthfile create mode 100644 images/trivy/.trivyignore create mode 100644 images/trivy/Earthfile diff --git a/.github/workflows/images.yml b/.github/workflows/images.yml index 1119e64b3..08478081d 100644 --- a/.github/workflows/images.yml +++ b/.github/workflows/images.yml @@ -51,3 +51,37 @@ jobs: env: EARTHLY_CI: true EARTHLY_PUSH: "${{ github.event_name == 'push' }}" + + scan: + runs-on: ubuntu-latest + needs: build + steps: + - name: Checkout project + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - name: Install Earthly + uses: earthly/actions-setup@v1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Configure Earthly + run: | + mkdir -p ~/.earthly/certs + cat << EOF > ~/.earthly/certs/ca_cert.pem + ${{ secrets.EARTHLY_CA_CERT }} + EOF + cat << EOF > ~/.earthly/certs/earthly_cert.pem + ${{ secrets.EARTHLY_CERT }} + EOF + cat << EOF > ~/.earthly/certs/earthly_key.pem + ${{ secrets.EARTHLY_CERT_KEY }} + EOF + cat << EOF > ~/.earthly/config.yml + global: + buildkit_host: tcp://162.253.55.125:8372 + EOF + + - name: Scan images + run: earthly +scan-images + env: + EARTHLY_CI: true diff --git a/Earthfile b/Earthfile index ce390e4a0..2b6d89a5d 100644 --- a/Earthfile +++ b/Earthfile @@ -82,6 +82,7 @@ image: SAVE IMAGE --push ghcr.io/vexxhost/atmosphere:${tag} images: + BUILD +libvirt-tls-sidecar.image BUILD ./images/barbican+image BUILD ./images/cinder+image BUILD ./images/cluster-api-provider-openstack+image @@ -95,16 +96,45 @@ images: BUILD ./images/libvirtd+image BUILD ./images/magnum+image BUILD ./images/manila+image + BUILD ./images/netoffload+image BUILD ./images/neutron+image - BUILD ./images/nova+image BUILD ./images/nova-ssh+image + BUILD ./images/nova+image BUILD ./images/octavia+image BUILD ./images/openvswitch+image BUILD ./images/ovn+images BUILD ./images/placement+image BUILD ./images/senlin+image + BUILD ./images/staffln+image BUILD ./images/tempest+image +SCAN_IMAGE: + COMMAND + ARG --required IMAGE + # TODO(mnaser): Include secret scanning when it's more reliable. + RUN \ + trivy image \ + --skip-db-update \ + --skip-java-db-update \ + --scanners vuln \ + --exit-code 1 \ + --ignore-unfixed \ + ${IMAGE} + +scan-image: + FROM ./images/trivy+image + ARG --required IMAGE + DO +SCAN_IMAGE --IMAGE ${IMAGE} + +scan-images: + FROM ./images/trivy+image + COPY roles/defaults/vars/main.yml /defaults.yml + # TODO(mnaser): Scan all images eventually + FOR IMAGE IN $(cat /defaults.yml | grep 'ghcr.io/vexxhost' | cut -d' ' -f4 | sort | uniq) + BUILD +scan-image --IMAGE ${IMAGE} + # DO +SCAN_IMAGE --IMAGE ${IMAGE} + END + pin-images: FROM +build.venv.dev COPY roles/defaults/vars/main.yml /defaults.yml diff --git a/images/Earthfile b/images/Earthfile index 21cd0d819..1141ecd34 100644 --- a/images/Earthfile +++ b/images/Earthfile @@ -23,9 +23,10 @@ DNF_INSTALL: CREATE_PROJECT_USER: COMMAND ARG PROJECT + ARG SHELL=/usr/sbin/nologin RUN \ groupadd -g 42424 ${PROJECT} && \ - useradd -u 42424 -g 42424 -M -d /var/lib/${PROJECT} -s /usr/sbin/nologin -c "${PROJECT} User" ${PROJECT} && \ + useradd -u 42424 -g 42424 -M -d /var/lib/${PROJECT} -s ${SHELL} -c "${PROJECT} User" ${PROJECT} && \ mkdir -p /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} && \ chown -Rv ${PROJECT}:${PROJECT} /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} diff --git a/images/base/Earthfile b/images/base/Earthfile index 8d3c3b434..f34cf371d 100644 --- a/images/base/Earthfile +++ b/images/base/Earthfile @@ -7,3 +7,8 @@ image: # https://avd.aquasec.com/nvd/cve-2024-22365 DO ../+APT_INSTALL \ --PACKAGES "libpam0g libpam-modules libpam-modules-bin libpam-runtime" + # TODO(mnaser): Remove this when a new image that includes 3.7.3-4ubuntu1.4 is released. + # https://avd.aquasec.com/nvd/cve-2024-0553 + # https://avd.aquasec.com/nvd/cve-2024-0567 + DO ../+APT_INSTALL \ + --PACKAGES "libgnutls30" diff --git a/images/kubernetes-entrypoint/Earthfile b/images/kubernetes-entrypoint/Earthfile index 2191e7726..6844da2ca 100644 --- a/images/kubernetes-entrypoint/Earthfile +++ b/images/kubernetes-entrypoint/Earthfile @@ -12,7 +12,8 @@ build: patch -p1 ARG GOARCH RUN \ - --mount=type=cache,mode=0755,target=/go/pkg/mod \ + --mount=type=cache,target=/root/.cache/go-build \ + --mount=type=cache,target=/go/pkg/mod \ CGO_ENABLED=0 GOOS=linux go build -o /main SAVE ARTIFACT /main diff --git a/images/netoffload/Earthfile b/images/netoffload/Earthfile new file mode 100644 index 000000000..557a3942c --- /dev/null +++ b/images/netoffload/Earthfile @@ -0,0 +1,27 @@ +VERSION 0.7 + +ARG --global PROJECT=netoffload +ARG --global RELEASE=main +ARG --global PROJECT_REF=94b8c0fdb0b83bd1b7e14b9a58077a047c78a800 + +build: + FROM golang:1.20 + WORKDIR /src + GIT CLONE --branch ${PROJECT_REF} https://github.com/vexxhost/netoffload /src + RUN \ + --mount=type=cache,target=/root/.cache/go-build \ + --mount=type=cache,target=/go/pkg/mod \ + go build -v -o offloadctl cmd/offloadctl/main.go + SAVE ARTIFACT offloadctl + +platform-image: + FROM ../base+image + DO ../+APT_INSTALL --PACKAGES="jq mstflint" + COPY +build/offloadctl /usr/local/bin/offloadctl + ENTRYPOINT ["/usr/local/bin/offloadctl"] + SAVE IMAGE --push \ + ghcr.io/vexxhost/atmosphere/${PROJECT}:${RELEASE} \ + ghcr.io/vexxhost/atmosphere/${PROJECT}:${PROJECT_REF} + +image: + BUILD --platform linux/amd64 --platform linux/arm64 +platform-image diff --git a/images/nova-ssh/Earthfile b/images/nova-ssh/Earthfile index 998890289..757266529 100644 --- a/images/nova-ssh/Earthfile +++ b/images/nova-ssh/Earthfile @@ -1,14 +1,16 @@ VERSION 0.7 -clone: - FROM ../builder+image - GIT CLONE --branch a2e563b08ae633d75084c1bb40c97dbf1a539950 https://opendev.org/openstack/openstack-helm-images /src - WORKDIR /src - SAVE ARTIFACT /src - platform-image: - FROM DOCKERFILE -f +clone/src/nova-ssh/Dockerfile.ubuntu_focal +clone/src/nova-ssh - LABEL org.opencontainers.image.source=https://github.com/vexxhost/atmosphere + FROM ../base+image + DO ../+CREATE_PROJECT_USER \ + --PROJECT=nova \ + --SHELL=/bin/bash + DO ../+APT_INSTALL \ + --PACKAGES "openssh-server openssh-client" + RUN \ + chown -R nova: /etc/ssh && \ + mkdir /var/run/sshd && \ + chmod 0755 /var/run/sshd SAVE IMAGE --push ghcr.io/vexxhost/atmosphere/nova-ssh:latest image: diff --git a/images/openstack-service/Earthfile b/images/openstack-service/Earthfile index 732091048..323d05079 100644 --- a/images/openstack-service/Earthfile +++ b/images/openstack-service/Earthfile @@ -26,8 +26,12 @@ GIT_CHECKOUT: BUILD_VENV: COMMAND ARG PROJECT + ARG PROJECT_REPO=https://github.com/openstack/${PROJECT} ARG PROJECT_REF - DO +GIT_CHECKOUT --PROJECT=${PROJECT} --PROJECT_REF=${PROJECT_REF} + DO +GIT_CHECKOUT \ + --PROJECT=${PROJECT} \ + --PROJECT_REPO=${PROJECT_REPO} \ + --PROJECT_REF=${PROJECT_REF} ARG EXTRAS="" ARG PIP_PACKAGES="" DO +PIP_INSTALL --PACKAGES "/src${EXTRAS} ${PIP_PACKAGES}" @@ -43,15 +47,20 @@ requirements: END GIT CLONE --branch ${BRANCH} https://github.com/openstack/requirements /src RUN \ + sed -i 's/cryptography===36.0.2/cryptography===41.0.7/' /src/upper-constraints.txt && \ sed -i 's/cryptography===40.0.2/cryptography===41.0.7/' /src/upper-constraints.txt && \ - sed -i 's/Flask===2.2.3/Flask===2.2.5/' /src/upper-constraints.txt && \ sed -i 's/Django===3.2.18/Django===3.2.23/' /src/upper-constraints.txt && \ + sed -i 's/Flask===2.2.3/Flask===2.2.5/' /src/upper-constraints.txt && \ sed -i 's/Jinja2===3.1.2/Jinja2===3.1.3/' /src/upper-constraints.txt && \ + sed -i 's/paramiko===2.11.0/paramiko===3.4.0/' /src/upper-constraints.txt && \ sed -i 's/paramiko===3.1.0/paramiko===3.4.0/' /src/upper-constraints.txt && \ sed -i 's/pyOpenSSL===23.1.1/pyOpenSSL===23.3.0/' /src/upper-constraints.txt && \ + sed -i 's/requests===2.28.1/requests===2.31.0/' /src/upper-constraints.txt && \ sed -i 's/requests===2.28.2/requests===2.31.0/' /src/upper-constraints.txt && \ - sed -i 's/Werkzeug===2.2.3/Werkzeug===2.3.8/' /src/upper-constraints.txt && \ + sed -i 's/sqlparse===0.4.2/sqlparse===0.4.4/' /src/upper-constraints.txt && \ + sed -i 's/urllib3===1.26.12/urllib3===1.26.18/' /src/upper-constraints.txt && \ sed -i 's/urllib3===1.26.15/urllib3===1.26.18/' /src/upper-constraints.txt && \ + sed -i 's/Werkzeug===2.2.3/Werkzeug===2.3.8/' /src/upper-constraints.txt && \ sed -i '/glance-store/d' /src/upper-constraints.txt && \ sed -i '/horizon/d' /src/upper-constraints.txt SAVE ARTIFACT /src/upper-constraints.txt diff --git a/images/staffeln/Earthfile b/images/staffeln/Earthfile new file mode 100644 index 000000000..9be3407f5 --- /dev/null +++ b/images/staffeln/Earthfile @@ -0,0 +1,19 @@ +VERSION 0.7 + +ARG --global PROJECT=staffeln +ARG --global RELEASE=master +ARG --global PROJECT_REF=v2.2.3 + +build: + FROM ../openstack-service+builder --RELEASE=${RELEASE} + DO ../openstack-service+BUILD_VENV \ + --PROJECT=${PROJECT} \ + --PROJECT_REPO=https://github.com/vexxhost/${PROJECT} \ + --PROJECT_REF=${PROJECT_REF} + +image: + FROM ../openstack-service+image --RELEASE ${RELEASE} --PROJECT ${PROJECT} + COPY +build/venv /var/lib/openstack + SAVE IMAGE --push \ + ghcr.io/vexxhost/atmosphere/${PROJECT}:${RELEASE} \ + ghcr.io/vexxhost/atmosphere/${PROJECT}:${PROJECT_REF} diff --git a/images/trivy/.trivyignore b/images/trivy/.trivyignore new file mode 100644 index 000000000..5057f1679 --- /dev/null +++ b/images/trivy/.trivyignore @@ -0,0 +1,17 @@ +# NOTE(mnaser): OpenStack used to be versioned based on years and Trivy gets +# confused since something like 2014.1.3 > 23.0.1.dev6 therefore +# we ignore those old CVEs. +CVE-2012-3542 +CVE-2012-4413 +CVE-2013-2256 +CVE-2013-4179 +CVE-2014-3517 +CVE-2014-3608 +CVE-2014-3641 +CVE-2014-3708 +CVE-2015-0259 +CVE-2015-3221 +CVE-2015-3280 +CVE-2015-5251 +CVE-2015-5286 +CVE-2015-7713 diff --git a/images/trivy/Earthfile b/images/trivy/Earthfile new file mode 100644 index 000000000..8f6862546 --- /dev/null +++ b/images/trivy/Earthfile @@ -0,0 +1,8 @@ +VERSION 0.7 + +image: + FROM aquasec/trivy:0.48.3 + COPY .trivyignore /.trivyignore + # TODO(mnaser): Add automatic updates + RUN trivy image --download-db-only + RUN trivy image --download-java-db-only diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml index 93ec813e3..9fb56c53c 100644 --- a/roles/defaults/vars/main.yml +++ b/roles/defaults/vars/main.yml @@ -14,10 +14,10 @@ _atmosphere_images: alertmanager: quay.io/prometheus/alertmanager:v0.26.0@sha256:361db356b33041437517f1cd298462055580585f26555c317df1a3caf2868552 - barbican_api: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:b5b6762e9f801aebd5e7be177ba7074bd2967c342ad248cfabf78cb6ea272a4c - barbican_db_sync: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:b5b6762e9f801aebd5e7be177ba7074bd2967c342ad248cfabf78cb6ea272a4c - bootstrap: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - ceph_config_helper: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:2f62e9ba8b229adfa47867feb396f697e71ec97686c1d6e0214ef2efdba0a02c + barbican_api: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:39ced55e5d08730c51d7b8cac2de0713f78baa459a0bc9877abd5f1aeb986505 + barbican_db_sync: ghcr.io/vexxhost/atmosphere/barbican:2023.2@sha256:39ced55e5d08730c51d7b8cac2de0713f78baa459a0bc9877abd5f1aeb986505 + bootstrap: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + ceph_config_helper: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:1c0500c67c79677e4f0e6e84aa5a75d8dbe3bb5298699793862abbf163a40b5d ceph: quay.io/ceph/ceph:v16.2.11@sha256:1b9803c8984bef8b82f05e233e8fe8ed8f0bba8e5cc2c57f6efaccbeea682add cert_manager_cainjector: quay.io/jetstack/cert-manager-cainjector:v1.7.1@sha256:985743eeed2b62f68ee06e583f1d5a371e1c35af4b1980a1b2571d29174cce47 cert_manager_cli: quay.io/jetstack/cert-manager-ctl:v1.7.1@sha256:af84513925d86d2de456b5d67dbccd2a34d93aa6fd4e1c8fe9f84182fef1b1b1 @@ -25,67 +25,67 @@ _atmosphere_images: cert_manager_webhook: quay.io/jetstack/cert-manager-webhook:v1.7.1@sha256:a926d60b6f23553ca5d11ac9cd66bcc692136e838613c8bc0d60c6c35a3cbcfc cilium_node: quay.io/cilium/cilium:v1.13.3@sha256:77176464a1e11ea7e89e984ac7db365e7af39851507e94f137dcf56c87746314 cilium_operator: quay.io/cilium/operator-generic:v1.13.3@sha256:fa7003cbfdf8358cb71786afebc711b26e5e44a2ed99bd4944930bba915b8910 - cinder_api: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 - cinder_backup_storage_init: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 - cinder_backup: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 - cinder_db_sync: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 - cinder_scheduler: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 - cinder_storage_init: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 - cinder_volume_usage_audit: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 - cinder_volume: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:554310920a0c6541e4bc513d29c5154fb60cf9af612cba0247327b3b28d20651 + cinder_api: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed + cinder_backup_storage_init: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed + cinder_backup: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed + cinder_db_sync: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed + cinder_scheduler: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed + cinder_storage_init: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed + cinder_volume_usage_audit: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed + cinder_volume: ghcr.io/vexxhost/atmosphere/cinder:2023.2@sha256:e95945ce436378f89f6dec7b5449d8efff6e6a5e785b3fd395359e6cca7736ed cluster_api_controller: registry.k8s.io/cluster-api/cluster-api-controller:v1.5.1@sha256:5210087161fdc09c98e47f847c07ed3ff93470e774cb1d5a792e2f76eaa5cf12 cluster_api_kubeadm_bootstrap_controller: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.5.1@sha256:6d73f991862d0df9724fab31a4a694681d9181e772c265d2c5b9b0b26b572479 cluster_api_kubeadm_control_plane_controller: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.5.1@sha256:8d926bcd3e0ca6be6cb9212f692f0ea6790f83862f4dc02fae0c7e0b35e76907 - cluster_api_openstack_controller: ghcr.io/vexxhost/atmosphere/capi-openstack-controller:v0.8.0-1@sha256:20fbcafcc78b416c13c75c023e49a50083c05343c647e94661caa25d42f425e4 + cluster_api_openstack_controller: ghcr.io/vexxhost/atmosphere/capi-openstack-controller:v0.8.0-2@sha256:7d5251a44691f403d5ebd8d32f3eba45d4dd71580caed7ac0a8f9309f78cd18b csi_node_driver_registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.4.0@sha256:0174bf20d7ad8e9f131a045802ef1c43b4592a2ebc18ba07972b1ce8858d9cb7 csi_rbd_attacher: registry.k8s.io/sig-storage/csi-attacher:v3.4.0@sha256:adc2922c98c539f680c02af99042d968114746f973a49b529785d6b402134bbf csi_rbd_plugin: quay.io/cephcsi/cephcsi:v3.5.1@sha256:28a674af1df2325fea415e32a7f93f083fce1f9c474912c45f025427fdc0aa10 csi_rbd_provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.1.0@sha256:92107bb668a9de58a09247596c337bc5b46a1d145685eb55ef489ae16952f5bd csi_rbd_resizer: registry.k8s.io/sig-storage/csi-resizer:v1.3.0@sha256:35ec0c736ec8266bd4a46f9e942315f148f3139beed99879d0ad8b8e5074d641 csi_rbd_snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v4.2.0@sha256:bd7dafbd0d4fe81f23f01c9a7432de067bdf085f70d61492f5ffddd9c5264358 - db_drop: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - db_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - dep_check: ghcr.io/vexxhost/atmosphere/kubernetes-entrypoint:latest@sha256:a1993b58da2afb16b44d4e510bd217ab872a4c10f598909edc39e72cda92f0b5 - designate_api: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f - designate_central: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f - designate_db_sync: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f - designate_mdns: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f - designate_producer: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f - designate_sink: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f - designate_worker: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:e9837ae92c1adce18bfbc553430fbd4b84106673b8059b511df68ade8fb7d99f - glance_api: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85 - glance_db_sync: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85 - glance_metadefs_load: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85 - glance_registry: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85 - glance_storage_init: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:d0b0d98941e6aa718ac37ccc76fe4648d93296c5df7481c081c9da821fc95b85 + db_drop: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + db_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + dep_check: ghcr.io/vexxhost/atmosphere/kubernetes-entrypoint:latest@sha256:01a4e983891f7fb4c32bf72085067b7a46a5f1d400b604032b8061edb2535d47 + designate_api: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4 + designate_central: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4 + designate_db_sync: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4 + designate_mdns: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4 + designate_producer: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4 + designate_sink: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4 + designate_worker: ghcr.io/vexxhost/atmosphere/designate:2023.2@sha256:0eeea9c53511e58c07c7e417ebe63cc08fa093d128d536758910668eddcfa7d4 + glance_api: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:2272c61941fc71decf1c8977781281c044503889b7491d72a32ed9d35e2d326c + glance_db_sync: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:2272c61941fc71decf1c8977781281c044503889b7491d72a32ed9d35e2d326c + glance_metadefs_load: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:2272c61941fc71decf1c8977781281c044503889b7491d72a32ed9d35e2d326c + glance_registry: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:2272c61941fc71decf1c8977781281c044503889b7491d72a32ed9d35e2d326c + glance_storage_init: ghcr.io/vexxhost/atmosphere/glance:2023.2@sha256:2272c61941fc71decf1c8977781281c044503889b7491d72a32ed9d35e2d326c grafana_sidecar: quay.io/kiwigrid/k8s-sidecar:1.24.6@sha256:3b70b9f1a81e67c97e4cd32c9a918fa44fd2c9f66bdd0d28d8b82d7b502cb5e4 grafana: docker.io/grafana/grafana:10.1.0@sha256:d04d48ecbe41e513dc934e57ccb4947034cd5005fa17fdf1331a8997e314beda haproxy: docker.io/library/haproxy:2.5@sha256:489dcc4385fd45813f3e9252b2f1f440db5749e4845d560250ce5083cc45eeb0 - heat_api: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - heat_cfn: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - heat_cloudwatch: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - heat_db_sync: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - heat_engine_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - heat_engine: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - heat_purge_deleted: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - horizon_db_sync: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:c1b0d1b55a1f0286445e6676123cf02e315bf362578d1169615630908b4d7851 - horizon: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:c1b0d1b55a1f0286445e6676123cf02e315bf362578d1169615630908b4d7851 + heat_api: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + heat_cfn: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + heat_cloudwatch: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + heat_db_sync: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + heat_engine_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + heat_engine: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + heat_purge_deleted: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + horizon_db_sync: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:ff893ddc7c5fe988663e66a8b6b51e03b8dc193e18dc2406774f95a05c2b8bef + horizon: ghcr.io/vexxhost/atmosphere/horizon:2023.2@sha256:ff893ddc7c5fe988663e66a8b6b51e03b8dc193e18dc2406774f95a05c2b8bef ingress_nginx_controller: registry.k8s.io/ingress-nginx/controller:v1.1.1@sha256:e16123f3932f44a2bba8bc3cf1c109cea4495ee271d6d16ab99228b58766d3ab ingress_nginx_default_backend: registry.k8s.io/defaultbackend-amd64:1.5@sha256:4dc5e07c8ca4e23bddb3153737d7b8c556e5fb2f29c4558b7cd6e6df99c512c7 ingress_nginx_kube_webhook_certgen: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.1.1@sha256:23a03c9c381fba54043d0f6148efeaf4c1ca2ed176e43455178b5c5ebf15ad70 # noqa: yaml[line-length] keepalived: us-docker.pkg.dev/vexxhost-infra/openstack/keepalived:2.0.19@sha256:4fe20cd5c200e301e1a790c9aca8c3fc651c8461afea9d37c56a462d3bfa48bb keycloak: quay.io/keycloak/keycloak:22.0.1-0@sha256:5b872e841ea9e394d89bdf250146434532d9c2001404540d46621d60f87494e7 - keystone_api: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985 - keystone_credential_cleanup: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - keystone_credential_rotate: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985 - keystone_credential_setup: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985 - keystone_db_sync: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985 - keystone_domain_manage: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - keystone_fernet_rotate: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985 - keystone_fernet_setup: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:7b91fe4ff07ec7d9cecb3751f72d85f8fd5b9dd597763888cf11211d3e186985 - ks_endpoints: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - ks_service: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - ks_user: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 + keystone_api: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:cf04c3bc924c67f15628683a51f31f5ed1a468e039b93ab9e569cb6738a1d9b1 + keystone_credential_cleanup: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + keystone_credential_rotate: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:cf04c3bc924c67f15628683a51f31f5ed1a468e039b93ab9e569cb6738a1d9b1 + keystone_credential_setup: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:cf04c3bc924c67f15628683a51f31f5ed1a468e039b93ab9e569cb6738a1d9b1 + keystone_db_sync: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:cf04c3bc924c67f15628683a51f31f5ed1a468e039b93ab9e569cb6738a1d9b1 + keystone_domain_manage: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + keystone_fernet_rotate: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:cf04c3bc924c67f15628683a51f31f5ed1a468e039b93ab9e569cb6738a1d9b1 + keystone_fernet_setup: ghcr.io/vexxhost/atmosphere/keystone:2023.2@sha256:cf04c3bc924c67f15628683a51f31f5ed1a468e039b93ab9e569cb6738a1d9b1 + ks_endpoints: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + ks_service: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + ks_user: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb kube_apiserver: registry.k8s.io/kube-apiserver:v1.22.17@sha256:d88d1c8f972e10ff4b4176f3185434e2832d3805c457fa9e8816f1da2fdf3b93 kube_controller_manager: registry.k8s.io/kube-controller-manager:v1.22.17@sha256:c3e041c8c8c9ffd33d421c8c1de1f42da52b616bfcf61880498e9efc9ec88005 kube_coredns: registry.k8s.io/coredns/coredns:v1.8.4@sha256:10683d82b024a58cc248c468c2632f9d1b260500f7cd9bb8e73f751048d7d6d4 @@ -94,78 +94,78 @@ _atmosphere_images: kube_scheduler: registry.k8s.io/kube-scheduler:v1.22.17@sha256:f85dda445b7c8da197b8e39b0ca2b125b1e97a4a365d45c04d2759aefe935974 kube_state_metrics: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.9.2@sha256:c30cae7072ffb03f3e7934516db89b3be6c9e5521c0d04d5bbc6e115c9bfa3a7 kubectl: docker.io/bitnami/kubectl:1.27.3@sha256:876cebc2d9272d9eb42c2128c9a08c7e7715dbfe4f2eb2f0b3612df977fdd6b7 - libvirt: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:2f62e9ba8b229adfa47867feb396f697e71ec97686c1d6e0214ef2efdba0a02c - libvirt_tls_sidecar: ghcr.io/vexxhost/atmosphere/libvirt-tls-sidecar:latest@sha256:bb0954a9fd47f1e2c783a22dbe81c24bbe88f3658b2848b62ad0601f7323d7d1 + libvirt: ghcr.io/vexxhost/atmosphere/libvirtd:zed@sha256:1c0500c67c79677e4f0e6e84aa5a75d8dbe3bb5298699793862abbf163a40b5d + libvirt_tls_sidecar: ghcr.io/vexxhost/atmosphere/libvirt-tls-sidecar:latest@sha256:ba35044fed0808fdd8640a6a0e5a159e06d0fc2ab550ef828b6b3e26e0cd4260 libvirt_exporter: docker.io/vexxhost/libvirtd-exporter:latest@sha256:1a0fdf89f80060bfdbb8cf45213295c5d9fb1f7ea7dbfe2b331f0649cc98df8e local_path_provisioner_helper: docker.io/library/busybox:1.36.0@sha256:086417a48026173aaadca4ce43a1e4b385e8e62cc738ba79fc6637049674cac0 local_path_provisioner: docker.io/rancher/local-path-provisioner:v0.0.24@sha256:b7dea5221f06f6feed7788db0ad6b024a433c8f55533bd6cc792dc2079ff9ad2 loki_gateway: docker.io/nginxinc/nginx-unprivileged:1.19-alpine@sha256:bbd46452aae30a7cc7bc438f267af812c7a2b0f3b5bcd4cc55eb99669cea3f28 loki: docker.io/grafana/loki:2.7.3@sha256:8e3abbd89173066721fa07bddfee1c1a7a8fe59bed5b00a2fa09d2b3cef8758c - magnum_api: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:c13b20bd597a7f922232e19f66c050e875e6e49b6ae427b605f778c8ad04b71e - magnum_cluster_api_proxy: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:c13b20bd597a7f922232e19f66c050e875e6e49b6ae427b605f778c8ad04b71e - magnum_conductor: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:c13b20bd597a7f922232e19f66c050e875e6e49b6ae427b605f778c8ad04b71e - magnum_db_sync: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:c13b20bd597a7f922232e19f66c050e875e6e49b6ae427b605f778c8ad04b71e + magnum_api: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:e62f2abc600abf701617130c1d8a23e5f5834e7c1d935bd0b31778da3143732b + magnum_cluster_api_proxy: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:e62f2abc600abf701617130c1d8a23e5f5834e7c1d935bd0b31778da3143732b + magnum_conductor: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:e62f2abc600abf701617130c1d8a23e5f5834e7c1d935bd0b31778da3143732b + magnum_db_sync: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:e62f2abc600abf701617130c1d8a23e5f5834e7c1d935bd0b31778da3143732b magnum_registry: quay.io/vexxhost/magnum-cluster-api-registry:latest@sha256:b954f23ccdbfb2b5b43f6a4e6f7ef5f2ba7bfc81f31de54cf141a56b26628c41 - manila_api: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7 - manila_data: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7 - manila_db_sync: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7 - manila_scheduler: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7 - manila_share: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:684e4fbdbfbd032d298ce513399f0bd3ef64e7aa12016d7099d1cb0db2f9b4f7 + manila_api: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08 + manila_data: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08 + manila_db_sync: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08 + manila_scheduler: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08 + manila_share: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08 memcached: docker.io/library/memcached:1.6.17@sha256:db45886d2d48f143be64f2d46407e224b0b61df3b0056b9d5b03e8bc6a7cd74e - netoffload: ghcr.io/vexxhost/netoffload:v1.0.1@sha256:60f092e5d5f156c2f933c199ea72274f80eb758d3e0dc2f2b1be62174c3f7183 - neutron_bagpipe_bgp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_bgp_dragent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + netoffload: ghcr.io/vexxhost/atmosphere/netoffload:main@sha256:7af0c24ed23da084e03467d45fe761e9f48e4bfb35fdfecac2666d090290f758 + neutron_bagpipe_bgp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_bgp_dragent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 neutron_coredns: docker.io/coredns/coredns:1.9.3@sha256:bdb36ee882c13135669cfc2bb91c808a33926ad1a411fee07bd2dc344bb8f782 - neutron_db_sync: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_dhcp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_ironic_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_l2gw: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_l3: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_linuxbridge_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_netns_cleanup_cron: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_openvswitch_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_ovn_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_server: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_sriov_agent_init: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf - neutron_sriov_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:9760d9776c2d3e37415c333193641d7b90f832f68f1cf3f03277907ac299d5cf + neutron_db_sync: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_dhcp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_ironic_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_l2gw: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_l3: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_linuxbridge_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_netns_cleanup_cron: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_openvswitch_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_ovn_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_server: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_sriov_agent_init: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_sriov_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 node_feature_discovery: registry.k8s.io/nfd/node-feature-discovery:v0.11.2@sha256:24b2abfb5956b6a2a9a0f4248232838d02235d65044078c43d8bdcf29344f141 - nova_api: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_archive_deleted_rows: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_cell_setup_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - nova_cell_setup: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_compute_ironic: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_compute_ssh: ghcr.io/vexxhost/atmosphere/nova-ssh:latest@sha256:6fcab188161814c449d84ab7a55b01291768a75145726469dc56bb2c80433519 - nova_compute: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_conductor: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_consoleauth: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_db_sync: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_novncproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_novncproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_placement: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_scheduler: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_service_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - nova_spiceproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - nova_spiceproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1433e5b36c13ebb3d7f2205c2f3f11d7d76a9fd3633e89f4d0dbf2f45eaf13e3 - octavia_api: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289 - octavia_db_sync: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289 - octavia_health_manager_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:1b4c0f4338fbc22828d032b27a0caf4c167a3a3c5c964d9c99efb4a68572e6e3 - octavia_health_manager: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289 - octavia_housekeeping: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289 - octavia_worker: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:53f163f67bb5d12e6b5f85639f24521fd44b3eafb2d12097b96930663b67b289 - openvswitch_db_server: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:524e3efe7dc3c3164af86ee02aa72ccdb72af6b2e347e940786e7dd7924d52b3 - openvswitch_vswitchd: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:524e3efe7dc3c3164af86ee02aa72ccdb72af6b2e347e940786e7dd7924d52b3 - ovn_controller: ghcr.io/vexxhost/atmosphere/ovn-host:23.03.0-69@sha256:5e770bd79aa78b55a561fdc4016516e6dfe90d92906d883ec1d3e76e691231dd - ovn_northd: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:1d805a111edcb229dd387e3699acdca6021b0ba852c4f7e8a8620704cfc35162 - ovn_ovsdb_nb: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:1d805a111edcb229dd387e3699acdca6021b0ba852c4f7e8a8620704cfc35162 - ovn_ovsdb_sb: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:1d805a111edcb229dd387e3699acdca6021b0ba852c4f7e8a8620704cfc35162 + nova_api: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_archive_deleted_rows: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_cell_setup_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + nova_cell_setup: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_compute_ironic: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_compute_ssh: ghcr.io/vexxhost/atmosphere/nova-ssh:latest@sha256:e648c174aeb67bbea9f346a064d0643c227c56617fe60c8911c225d23d74bb6b + nova_compute: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_conductor: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_consoleauth: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_db_sync: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_novncproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_novncproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_placement: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_scheduler: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_service_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + nova_spiceproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_spiceproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + octavia_api: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:5ed3e48a5befb900a291098bee5546255567f572412d200deb796c689677ceaf + octavia_db_sync: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:5ed3e48a5befb900a291098bee5546255567f572412d200deb796c689677ceaf + octavia_health_manager_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb + octavia_health_manager: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:5ed3e48a5befb900a291098bee5546255567f572412d200deb796c689677ceaf + octavia_housekeeping: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:5ed3e48a5befb900a291098bee5546255567f572412d200deb796c689677ceaf + octavia_worker: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:5ed3e48a5befb900a291098bee5546255567f572412d200deb796c689677ceaf + openvswitch_db_server: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:f14d832cd637bbe2227a54c80b7ecd18bb3482c3888a60dd2e3ad829c514aaf0 + openvswitch_vswitchd: ghcr.io/vexxhost/atmosphere/openvswitch:3.1.0-65@sha256:f14d832cd637bbe2227a54c80b7ecd18bb3482c3888a60dd2e3ad829c514aaf0 + ovn_controller: ghcr.io/vexxhost/atmosphere/ovn-host:23.03.0-69@sha256:e893be792b6b315df5b9de25d43d8edbece248596fc9b9926ef5c28197fad474 + ovn_northd: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:fab22bc666bc5ccdd83427c11f0d2b0defc45bc9a4201a8d9c1472de614325b2 + ovn_ovsdb_nb: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:fab22bc666bc5ccdd83427c11f0d2b0defc45bc9a4201a8d9c1472de614325b2 + ovn_ovsdb_sb: ghcr.io/vexxhost/atmosphere/ovn-central:23.03.0-69@sha256:fab22bc666bc5ccdd83427c11f0d2b0defc45bc9a4201a8d9c1472de614325b2 pause: registry.k8s.io/pause:3.8@sha256:f5944f2d1daf66463768a1503d0c8c5e8dde7c1674d3f85abc70cef9c7e32e95 percona_xtradb_cluster_haproxy: docker.io/percona/percona-xtradb-cluster-operator:1.13.0-haproxy@sha256:f04e4fea548bfc7cb0bfc73c75c7f2c64d299cf04125a07a8101a55f0f734fed percona_xtradb_cluster_operator: docker.io/percona/percona-xtradb-cluster-operator:1.13.0@sha256:c674d63242f1af521edfbaffae2ae02fb8d010c0557a67a9c42d2b4a50db5243 percona_xtradb_cluster: docker.io/percona/percona-xtradb-cluster:8.0.32-24.2@sha256:1f978ab8912e1b5fc66570529cb7e7a4ec6a38adbfce1ece78159b0fcfa7d47a percona_version_service: docker.io/perconalab/version-service:main-3325140@sha256:b7928130fca1e35ce7feaeec326fef836229a8b4de2f6f6ea5b6d2c7a48cd071 - placement_db_sync: ghcr.io/vexxhost/atmosphere/placement:2023.2@sha256:937bfed56b946bc857790876e966423f347c33bef3d49eb668098727b6975a52 - placement: ghcr.io/vexxhost/atmosphere/placement:2023.2@sha256:937bfed56b946bc857790876e966423f347c33bef3d49eb668098727b6975a52 + placement_db_sync: ghcr.io/vexxhost/atmosphere/placement:2023.2@sha256:93eacad98f1212688985f8171e55f5ffa243a08338f8ea78cae0d2f5c3c46f99 + placement: ghcr.io/vexxhost/atmosphere/placement:2023.2@sha256:93eacad98f1212688985f8171e55f5ffa243a08338f8ea78cae0d2f5c3c46f99 prometheus_config_reloader: quay.io/prometheus-operator/prometheus-config-reloader:v0.67.1@sha256:0fe3cf36985e0e524801a0393f88fa4b5dd5ffdf0f091ff78ee02f2d281631b5 prometheus_ipmi_exporter: us-docker.pkg.dev/vexxhost-infra/openstack/ipmi-exporter:1.4.0@sha256:4898da9cc11961a56363e8b3f3437d0f45b46585b20c79e33e97fbe7232e05d2 prometheus_memcached_exporter: quay.io/prometheus/memcached-exporter:v0.10.0@sha256:fa5a2de1a4744da66fb369bee81232f5ea52208bc643e409a60f66d699ac27b2 @@ -183,16 +183,16 @@ _atmosphere_images: rabbitmq_topology_operator: docker.io/rabbitmqoperator/messaging-topology-operator:1.6.0@sha256:5052e8bdb26996c62315f0707c6fb291fd84492e360cca7351e2c3fdf659be43 rook_ceph: docker.io/rook/ceph:v1.10.10@sha256:2a65f6678c3f4e368046ee10695dce2c265cc81cd6bfd6258fc670dd18fbad5b secretgen_controller: ghcr.io/carvel-dev/secretgen-controller@sha256:59ec05ce5847bfd70c8e04f08b5195e918c8f6fbb947ffc91b456494a2958fd5 - senlin_api: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a - senlin_conductor: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a - senlin_db_sync: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a - senlin_engine_cleaner: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a - senlin_engine: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a - senlin_health_manager: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:629e3114e1c3a0e5b9ce127af822a13033c0df21a5a179691cc4b10220207b2a - staffeln_db_sync: ghcr.io/vexxhost/staffeln:v2.2.3@sha256:ee3d8ab2c17d21b4a64a48abfb089df98700b6bc7cee5db36b5ef9c357317736 - staffeln_conductor: ghcr.io/vexxhost/staffeln:v2.2.3@sha256:ee3d8ab2c17d21b4a64a48abfb089df98700b6bc7cee5db36b5ef9c357317736 - staffeln_api: ghcr.io/vexxhost/staffeln:v2.2.3@sha256:ee3d8ab2c17d21b4a64a48abfb089df98700b6bc7cee5db36b5ef9c357317736 - tempest_run_tests: ghcr.io/vexxhost/atmosphere/tempest:master@sha256:2b97036a841ed07f21dc685b3e2b50946a177c4c86a7336a956f864c1a107b03 + senlin_api: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:1b653bb8517ad702e1de673edc68195496b3966380554659039187f2130a0f34 + senlin_conductor: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:1b653bb8517ad702e1de673edc68195496b3966380554659039187f2130a0f34 + senlin_db_sync: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:1b653bb8517ad702e1de673edc68195496b3966380554659039187f2130a0f34 + senlin_engine_cleaner: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:1b653bb8517ad702e1de673edc68195496b3966380554659039187f2130a0f34 + senlin_engine: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:1b653bb8517ad702e1de673edc68195496b3966380554659039187f2130a0f34 + senlin_health_manager: ghcr.io/vexxhost/atmosphere/senlin:2023.2@sha256:1b653bb8517ad702e1de673edc68195496b3966380554659039187f2130a0f34 + staffeln_db_sync: ghcr.io/vexxhost/atmosphere/staffeln:v2.2.3@sha256:c09b73991d4ffa3b582e8d6c92888b6964f7023d69a84762de1a62678cad1777 + staffeln_conductor: ghcr.io/vexxhost/atmosphere/staffeln:v2.2.3@sha256:c09b73991d4ffa3b582e8d6c92888b6964f7023d69a84762de1a62678cad1777 + staffeln_api: ghcr.io/vexxhost/atmosphere/staffeln:v2.2.3@sha256:c09b73991d4ffa3b582e8d6c92888b6964f7023d69a84762de1a62678cad1777 + tempest_run_tests: ghcr.io/vexxhost/atmosphere/tempest:master@sha256:61103599c422a8a7dbdd09c981eb73ada9fc3320633af669ce90866aad9edf23 vector: docker.io/timberio/vector:0.27.0-debian@sha256:29f23dab76fa306b67b10eac3e9decdb01c906f8aa3b00a2f5b2e8ae088b84e0 atmosphere_images: '{{ _atmosphere_images | combine(atmosphere_image_overrides, recursive=True) From 891a290ecbe85cb0a156602735e9eacfd5ee0a06 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Tue, 23 Jan 2024 09:47:47 -0500 Subject: [PATCH 21/32] chore: fix linters --- .envrc | 2 +- .gitignore | 2 +- .pre-commit-config.yaml | 3 ++- build/pin-images.py | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.envrc b/.envrc index 65326bb6d..1d953f4bd 100644 --- a/.envrc +++ b/.envrc @@ -1 +1 @@ -use nix \ No newline at end of file +use nix diff --git a/.gitignore b/.gitignore index 95e16cea7..04b46cc9a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,4 @@ __pycache__ tests/output *.orig *.rej -.direnv \ No newline at end of file +.direnv diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 17c6b27f7..761474eec 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,8 +5,9 @@ repos: rev: v4.3.0 hooks: - id: end-of-file-fixer + exclude: ^images/.*/patches/.*\.patch$ - id: trailing-whitespace - exclude: ^images/.*/patches/.*/.*\.patch$ + exclude: ^images/.*/patches/.*\.patch$ - repo: https://github.com/compilerla/conventional-pre-commit rev: v2.0.0 diff --git a/build/pin-images.py b/build/pin-images.py index 7650d6879..53363a37e 100755 --- a/build/pin-images.py +++ b/build/pin-images.py @@ -14,6 +14,7 @@ SKIP_IMAGE_LIST = ["secretgen_controller"] + def get_digest(image_ref, token=None): headers = {} if token: From 2412c32877bb5514f98ed1ba3cd5ee46aef31bc5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Jan 2024 09:58:09 -0500 Subject: [PATCH 22/32] chore(deps): update kubernetes packages to v0.29.1 (#899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- go.mod | 10 +++++----- go.sum | 10 ++++++++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index df0e915b4..45c1474dd 100644 --- a/go.mod +++ b/go.mod @@ -20,10 +20,10 @@ require ( gorm.io/driver/mysql v1.5.2 gorm.io/gorm v1.25.5 helm.sh/helm/v3 v3.13.3 - k8s.io/api v0.29.0 - k8s.io/apimachinery v0.29.0 - k8s.io/cli-runtime v0.29.0 - k8s.io/client-go v0.29.0 + k8s.io/api v0.29.1 + k8s.io/apimachinery v0.29.1 + k8s.io/cli-runtime v0.29.1 + k8s.io/client-go v0.29.1 ) require ( @@ -90,7 +90,7 @@ require ( go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect golang.org/x/net v0.19.0 // indirect golang.org/x/oauth2 v0.15.0 // indirect - golang.org/x/sync v0.3.0 // indirect + golang.org/x/sync v0.5.0 // indirect golang.org/x/sys v0.15.0 // indirect golang.org/x/term v0.15.0 // indirect golang.org/x/text v0.14.0 // indirect diff --git a/go.sum b/go.sum index d26ab6118..17d6c1e71 100644 --- a/go.sum +++ b/go.sum @@ -286,6 +286,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -371,14 +373,22 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= k8s.io/api v0.29.0 h1:NiCdQMY1QOp1H8lfRyeEf8eOwV6+0xA6XEE44ohDX2A= k8s.io/api v0.29.0/go.mod h1:sdVmXoz2Bo/cb77Pxi71IPTSErEW32xa4aXwKH7gfBA= +k8s.io/api v0.29.1 h1:DAjwWX/9YT7NQD4INu49ROJuZAAAP/Ijki48GUPzxqw= +k8s.io/api v0.29.1/go.mod h1:7Kl10vBRUXhnQQI8YR/R327zXC8eJ7887/+Ybta+RoQ= k8s.io/apiextensions-apiserver v0.28.4 h1:AZpKY/7wQ8n+ZYDtNHbAJBb+N4AXXJvyZx6ww6yAJvU= k8s.io/apiextensions-apiserver v0.28.4/go.mod h1:pgQIZ1U8eJSMQcENew/0ShUTlePcSGFq6dxSxf2mwPM= k8s.io/apimachinery v0.29.0 h1:+ACVktwyicPz0oc6MTMLwa2Pw3ouLAfAon1wPLtG48o= k8s.io/apimachinery v0.29.0/go.mod h1:eVBxQ/cwiJxH58eK/jd/vAk4mrxmVlnpBH5J2GbMeis= +k8s.io/apimachinery v0.29.1 h1:KY4/E6km/wLBguvCZv8cKTeOwwOBqFNjwJIdMkMbbRc= +k8s.io/apimachinery v0.29.1/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU= k8s.io/cli-runtime v0.29.0 h1:q2kC3cex4rOBLfPOnMSzV2BIrrQlx97gxHJs21KxKS4= k8s.io/cli-runtime v0.29.0/go.mod h1:VKudXp3X7wR45L+nER85YUzOQIru28HQpXr0mTdeCrk= +k8s.io/cli-runtime v0.29.1 h1:By3WVOlEWYfyxhGko0f/IuAOLQcbBSMzwSaDren2JUs= +k8s.io/cli-runtime v0.29.1/go.mod h1:vjEY9slFp8j8UoMhV5AlO8uulX9xk6ogfIesHobyBDU= k8s.io/client-go v0.29.0 h1:KmlDtFcrdUzOYrBhXHgKw5ycWzc3ryPX5mQe0SkG3y8= k8s.io/client-go v0.29.0/go.mod h1:yLkXH4HKMAywcrD82KMSmfYg2DlE8mepPR4JGSo5n38= +k8s.io/client-go v0.29.1 h1:19B/+2NGEwnFLzt0uB5kNJnfTsbV8w6TgQRz9l7ti7A= +k8s.io/client-go v0.29.1/go.mod h1:TDG/psL9hdet0TI9mGyHJSgRkW3H9JZk2dNEUS7bRks= k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0= k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo= k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780= From 832ee4584fd02d70ac65b93cb0cc8fb06f6463be Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Jan 2024 10:00:02 -0500 Subject: [PATCH 23/32] chore(deps): update cinder digest to 8d453fa (#905) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- images/cinder/Earthfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/cinder/Earthfile b/images/cinder/Earthfile index 402127fcd..ae432c4e8 100644 --- a/images/cinder/Earthfile +++ b/images/cinder/Earthfile @@ -2,7 +2,7 @@ VERSION 0.7 ARG --global PROJECT=cinder ARG --global RELEASE=2023.2 -ARG --global PROJECT_REF=7d158234b72f04e780e307b0375cedf30dd8fb90 +ARG --global PROJECT_REF=8d453fa7b6daf1c1b6105a71f7c660b9036541f3 build: FROM ../openstack-service+builder --RELEASE=${RELEASE} From 7f3eb56b84844491739d503f10a99ee4ad204f51 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Tue, 23 Jan 2024 16:49:57 -0500 Subject: [PATCH 24/32] docs: refactor and update --- .github/workflows/docs.yml | 34 +++++++++ Earthfile | 19 +++++ docs/SUMMARY.md | 13 ++++ docs/admin/monitoring.md | 34 --------- docs/{admin => }/deploy.md | 0 docs/{admin => }/ingress.md | 4 +- docs/monitoring.md | 71 ++++++++++++++++++ docs/{storage.md => openstack/cinder.md} | 2 +- .../networking.md => openstack/neutron.md} | 2 +- docs/{admin/compute.md => openstack/nova.md} | 2 +- docs/{operator.md => openstack/octavia.md} | 6 +- .../static/monitoring-alertmanger-list.png | Bin .../static/monitoring-silences-menu.png | Bin docs/user/sso.md | 7 -- mkdocs.yml | 10 +++ 15 files changed, 154 insertions(+), 50 deletions(-) create mode 100644 .github/workflows/docs.yml create mode 100644 docs/SUMMARY.md delete mode 100644 docs/admin/monitoring.md rename docs/{admin => }/deploy.md (100%) rename docs/{admin => }/ingress.md (94%) create mode 100644 docs/monitoring.md rename docs/{storage.md => openstack/cinder.md} (99%) rename docs/{user/networking.md => openstack/neutron.md} (99%) rename docs/{admin/compute.md => openstack/nova.md} (98%) rename docs/{operator.md => openstack/octavia.md} (87%) rename docs/{admin => }/static/monitoring-alertmanger-list.png (100%) rename docs/{admin => }/static/monitoring-silences-menu.png (100%) delete mode 100644 docs/user/sso.md diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 000000000..f76234cc1 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,34 @@ +name: docs + +on: + pull_request: + paths: + - 'docs/**' + push: + branches: + - main + paths: + - 'docs/**' + +permissions: + contents: write + pull-requests: write + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout project + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - name: Install Earthly + uses: earthly/actions-setup@v1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Build image + run: earthly --secret GITHUB_TOKEN +mkdocs-build + env: + EARTHLY_CI: true + EARTHLY_PUSH: "${{ github.event_name == 'push' }}" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Earthfile b/Earthfile index 2b6d89a5d..0ef8ed3ec 100644 --- a/Earthfile +++ b/Earthfile @@ -157,3 +157,22 @@ image-sync: WORKDIR /src COPY . /src RUN --secret GITHUB_TOKEN go run ./cmd/atmosphere-ci image repo sync ${project} + +mkdocs-image: + FROM ghcr.io/squidfunk/mkdocs-material:9.5.4 + RUN pip install \ + mkdocs-literate-nav + SAVE IMAGE mkdocs + +mkdocs-serve: + LOCALLY + WITH DOCKER --load=+mkdocs-image + RUN docker run --rm -p 8000:8000 -v ${PWD}:/docs mkdocs + END + +mkdocs-build: + FROM +mkdocs-image + COPY . /docs + RUN mkdocs build + RUN --push --secret GITHUB_TOKEN git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/vexxhost/magnum-cluster-api.git + RUN --push mkdocs gh-deploy --force diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md new file mode 100644 index 000000000..7377fb427 --- /dev/null +++ b/docs/SUMMARY.md @@ -0,0 +1,13 @@ +- [Deployment Guide](deploy.md) +- [Ingress](ingress.md) +- [Monitoring](monitoring.md) +- OpenStack + - [Cinder](openstack/cinder.md) + - [Neutron](openstack/neutron.md) + - [Nova](openstack/nova.md) + - [Octavia](openstack/octavia.md) +- Developer Guide + - [Getting Started](developer/getting-started.md) + - [Services](developer/services.md) + - [Images](developer/images.md) + - [Testing](developer/testing.md) diff --git a/docs/admin/monitoring.md b/docs/admin/monitoring.md deleted file mode 100644 index 02e18b2e7..000000000 --- a/docs/admin/monitoring.md +++ /dev/null @@ -1,34 +0,0 @@ -# Monitoring - -## Creating silences - -In order to create a silence, you'll need to login to your Grafana instance that -is deployed as part of Atmosphere as an admin user. - -1. Click on the hamburger menu in the top left corner and select "Alerting" - and then "Silences" from the menu. - - ![Silences menu](static/monitoring-silences-menu.png) - -2. Ensure that you select "AlertManager" on the top right corner of the page, - this will make sure that you create a silence inside of the AlertManager - that is managed by the Prometheus operator instead of the built-in Grafana - AlertManager which is not used. - - ![AlertManager list](static/monitoring-alertmanger-list.png) - - !!! warning - - It's important that you select the AlertManager that is managed by the - Prometheus operator, otherwise your silence will not be applied to the - Prometheus instance that is deployed as part of Atmosphere. - -3. Click the "Add Silence" button and use the AlertManager format to create - your silence, which you can test by seeing if it matches any alerts in the - list labeled "Affected alert instances". - -!!! note - - It is strongly recommended that you create a silence with the least amount - of needed labels which will make sure that small minor changes to the - alerts will not break your silence. diff --git a/docs/admin/deploy.md b/docs/deploy.md similarity index 100% rename from docs/admin/deploy.md rename to docs/deploy.md diff --git a/docs/admin/ingress.md b/docs/ingress.md similarity index 94% rename from docs/admin/ingress.md rename to docs/ingress.md index e7470da52..4378cdae7 100644 --- a/docs/admin/ingress.md +++ b/docs/ingress.md @@ -6,8 +6,8 @@ out of the box and should require no changes !!! warning - If you make any changes to the ingress configuration, you may see a small - outage as the ingress controller is restarted. + If you make any changes to the ingress configuration, you may see a small + outage as the ingress controller is restarted. ## Customization diff --git a/docs/monitoring.md b/docs/monitoring.md new file mode 100644 index 000000000..203d0c69a --- /dev/null +++ b/docs/monitoring.md @@ -0,0 +1,71 @@ +# Monitoring + +## Creating silences + +In order to create a silence, you'll need to login to your Grafana instance that +is deployed as part of Atmosphere as an admin user. + +1. Click on the hamburger menu in the top left corner and select "Alerting" + and then "Silences" from the menu. + + ![Silences menu](static/monitoring-silences-menu.png) + +2. Ensure that you select "AlertManager" on the top right corner of the page, + this will make sure that you create a silence inside of the AlertManager + that is managed by the Prometheus operator instead of the built-in Grafana + AlertManager which is not used. + + ![AlertManager list](static/monitoring-alertmanger-list.png) + + !!! warning + + It's important that you select the AlertManager that is managed by the + Prometheus operator, otherwise your silence will not be applied to the + Prometheus instance that is deployed as part of Atmosphere. + +3. Click the "Add Silence" button and use the AlertManager format to create + your silence, which you can test by seeing if it matches any alerts in the + list labeled "Affected alert instances". + +!!! note + + It is strongly recommended that you create a silence with the least amount + of needed labels which will make sure that small minor changes to the + alerts will not break your silence. + +## Persistence + +For Grafana, rather than enabling persistence through the application's user +interface or manual Helm chart modifications, dashboards should be managed +directly via the Helm chart values. + +!!! warning + + It is important to avoid manual persistence configurations, especially for + services like Grafana, where dashboards and data sources can be saved. Such + practices are not captured in version control and pose a risk of data loss, + configuration drift, and upgrade complications. + +To manage Grafana dashboards through Helm, you can include the dashboard +definitions within your configuration file. By doing so, you facilitate +version-controlled dashboard configurations that can be replicated across +different deployments without manual intervention. + +For example, a dashboard can be defined in the Helm values like this: + +```yaml +kube_prometheus_stack_helm_values: + grafana: + dashboards: + default: + my-dashboard: + gnetId: 10000 + revision: 1 + datasource: Prometheus +``` + +This instructs Helm to fetch and configure the specified dashboard from +[Grafana.com](https://grafana.com/grafana/dashboards/), using Prometheus as the data source. + +You can find more examples of how to do this in the Grafana Helm chart +[Documentation](https://github.com/grafana/helm-charts/tree/main/charts/grafana#import-dashboards). diff --git a/docs/storage.md b/docs/openstack/cinder.md similarity index 99% rename from docs/storage.md rename to docs/openstack/cinder.md index d06b25208..50abdf735 100644 --- a/docs/storage.md +++ b/docs/openstack/cinder.md @@ -1,4 +1,4 @@ -# Storage +# Cinder ## Built-in Ceph cluster diff --git a/docs/user/networking.md b/docs/openstack/neutron.md similarity index 99% rename from docs/user/networking.md rename to docs/openstack/neutron.md index ddbfa91b2..f8539700d 100644 --- a/docs/user/networking.md +++ b/docs/openstack/neutron.md @@ -1,4 +1,4 @@ -# Networking +# Neutron ## Hardware Acceleration diff --git a/docs/admin/compute.md b/docs/openstack/nova.md similarity index 98% rename from docs/admin/compute.md rename to docs/openstack/nova.md index 3b3d4b0b8..a94b71f47 100644 --- a/docs/admin/compute.md +++ b/docs/openstack/nova.md @@ -1,4 +1,4 @@ -# Compute Service +# Nova ## Troubleshooting diff --git a/docs/operator.md b/docs/openstack/octavia.md similarity index 87% rename from docs/operator.md rename to docs/openstack/octavia.md index a9a8c90dd..0b3b8fe91 100644 --- a/docs/operator.md +++ b/docs/openstack/octavia.md @@ -1,8 +1,6 @@ -# Operator Documentation +# Octavia -## Octavia - -### Accessing Amphorae +## Accessing Amphorae Atmosphere configures an SSH keypair which allows you to login to the Amphorae for debugging purposes. The `octavia-worker` containers are fully configured diff --git a/docs/admin/static/monitoring-alertmanger-list.png b/docs/static/monitoring-alertmanger-list.png similarity index 100% rename from docs/admin/static/monitoring-alertmanger-list.png rename to docs/static/monitoring-alertmanger-list.png diff --git a/docs/admin/static/monitoring-silences-menu.png b/docs/static/monitoring-silences-menu.png similarity index 100% rename from docs/admin/static/monitoring-silences-menu.png rename to docs/static/monitoring-silences-menu.png diff --git a/docs/user/sso.md b/docs/user/sso.md deleted file mode 100644 index f2e9a4566..000000000 --- a/docs/user/sso.md +++ /dev/null @@ -1,7 +0,0 @@ -# SSO using Keycloak - -You can enable Keycloak to be the primary source of truth for authentication for the cloud and all the different components, such as OpenStack dashboard, Grafana, etc. - -```yaml -keycloak_host: -``` diff --git a/mkdocs.yml b/mkdocs.yml index 3bf826eb2..472c06a7d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,7 +1,17 @@ site_name: Atmosphere theme: name: material + features: + - content.tabs.link + - navigation.tracking markdown_extensions: - admonition + - def_list - pymdownx.details - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true +plugins: + - literate-nav: + nav_file: SUMMARY.md +copyright: Atmosphere is a community effort led by VEXXHOST, Inc. From 3995352bb3953c14e5261735cdd945f1efe327fe Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Tue, 23 Jan 2024 16:53:31 -0500 Subject: [PATCH 25/32] ci: fix docs job --- Earthfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Earthfile b/Earthfile index 0ef8ed3ec..9b82313c0 100644 --- a/Earthfile +++ b/Earthfile @@ -174,5 +174,5 @@ mkdocs-build: FROM +mkdocs-image COPY . /docs RUN mkdocs build - RUN --push --secret GITHUB_TOKEN git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/vexxhost/magnum-cluster-api.git + RUN --push --secret GITHUB_TOKEN git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/vexxhost/atmosphere.git RUN --push mkdocs gh-deploy --force From 87af6e0c974350937cee5d1adbcb5f16a04a9077 Mon Sep 17 00:00:00 2001 From: Rico Lin Date: Fri, 26 Jan 2024 00:19:19 +0800 Subject: [PATCH 26/32] fix: update upperconstraint for zed (#914) Co-authored-by: Mohammed Naser --- images/openstack-service/Earthfile | 1 + 1 file changed, 1 insertion(+) diff --git a/images/openstack-service/Earthfile b/images/openstack-service/Earthfile index 323d05079..df267aa4a 100644 --- a/images/openstack-service/Earthfile +++ b/images/openstack-service/Earthfile @@ -54,6 +54,7 @@ requirements: sed -i 's/Jinja2===3.1.2/Jinja2===3.1.3/' /src/upper-constraints.txt && \ sed -i 's/paramiko===2.11.0/paramiko===3.4.0/' /src/upper-constraints.txt && \ sed -i 's/paramiko===3.1.0/paramiko===3.4.0/' /src/upper-constraints.txt && \ + sed -i 's/pyOpenSSL===22.0.0/pyOpenSSL===23.3.0/' /src/upper-constraints.txt && \ sed -i 's/pyOpenSSL===23.1.1/pyOpenSSL===23.3.0/' /src/upper-constraints.txt && \ sed -i 's/requests===2.28.1/requests===2.31.0/' /src/upper-constraints.txt && \ sed -i 's/requests===2.28.2/requests===2.31.0/' /src/upper-constraints.txt && \ From 58daa83748306e292e75ae58d3c256c2126e4657 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Jan 2024 11:20:11 -0500 Subject: [PATCH 27/32] chore(deps): update module helm.sh/helm/v3 to v3.14.0 (#897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- go.mod | 6 +++--- go.sum | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 45c1474dd..46f76f837 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( gopkg.in/ini.v1 v1.67.0 gorm.io/driver/mysql v1.5.2 gorm.io/gorm v1.25.5 - helm.sh/helm/v3 v3.13.3 + helm.sh/helm/v3 v3.14.0 k8s.io/api v0.29.1 k8s.io/apimachinery v0.29.1 k8s.io/cli-runtime v0.29.1 @@ -37,7 +37,7 @@ require ( github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect - github.com/evanphx/json-patch v5.6.0+incompatible // indirect + github.com/evanphx/json-patch v5.7.0+incompatible // indirect github.com/fatih/color v1.15.0 // indirect github.com/flosch/pongo2/v6 v6.0.0 // indirect github.com/go-errors/errors v1.4.2 // indirect @@ -101,7 +101,7 @@ require ( gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.28.4 // indirect + k8s.io/apiextensions-apiserver v0.29.0 // indirect k8s.io/klog/v2 v2.110.1 // indirect k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect diff --git a/go.sum b/go.sum index 17d6c1e71..52f2d0e74 100644 --- a/go.sum +++ b/go.sum @@ -45,6 +45,8 @@ github.com/erikgeiser/promptkit v0.9.0 h1:3qL1mS/ntCrXdb8sTP/ka82CJ9kEQaGuYXNrYJ github.com/erikgeiser/promptkit v0.9.0/go.mod h1:pU9dtogSe3Jlc2AY77EP7R4WFP/vgD4v+iImC83KsCo= github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ2tG6yudJd8LBksgI= +github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= @@ -369,6 +371,8 @@ gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= helm.sh/helm/v3 v3.13.3 h1:0zPEdGqHcubehJHP9emCtzRmu8oYsJFRrlVF3TFj8xY= helm.sh/helm/v3 v3.13.3/go.mod h1:3OKO33yI3p4YEXtTITN2+4oScsHeQe71KuzhlZ+aPfg= +helm.sh/helm/v3 v3.14.0 h1:TaZIH6uOchn7L27ptwnnuHJiFrT/BsD4dFdp/HLT2nM= +helm.sh/helm/v3 v3.14.0/go.mod h1:2itvvDv2WSZXTllknfQo6j7u3VVgMAvm8POCDgYH424= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= k8s.io/api v0.29.0 h1:NiCdQMY1QOp1H8lfRyeEf8eOwV6+0xA6XEE44ohDX2A= @@ -377,6 +381,8 @@ k8s.io/api v0.29.1 h1:DAjwWX/9YT7NQD4INu49ROJuZAAAP/Ijki48GUPzxqw= k8s.io/api v0.29.1/go.mod h1:7Kl10vBRUXhnQQI8YR/R327zXC8eJ7887/+Ybta+RoQ= k8s.io/apiextensions-apiserver v0.28.4 h1:AZpKY/7wQ8n+ZYDtNHbAJBb+N4AXXJvyZx6ww6yAJvU= k8s.io/apiextensions-apiserver v0.28.4/go.mod h1:pgQIZ1U8eJSMQcENew/0ShUTlePcSGFq6dxSxf2mwPM= +k8s.io/apiextensions-apiserver v0.29.0 h1:0VuspFG7Hj+SxyF/Z/2T0uFbI5gb5LRgEyUVE3Q4lV0= +k8s.io/apiextensions-apiserver v0.29.0/go.mod h1:TKmpy3bTS0mr9pylH0nOt/QzQRrW7/h7yLdRForMZwc= k8s.io/apimachinery v0.29.0 h1:+ACVktwyicPz0oc6MTMLwa2Pw3ouLAfAon1wPLtG48o= k8s.io/apimachinery v0.29.0/go.mod h1:eVBxQ/cwiJxH58eK/jd/vAk4mrxmVlnpBH5J2GbMeis= k8s.io/apimachinery v0.29.1 h1:KY4/E6km/wLBguvCZv8cKTeOwwOBqFNjwJIdMkMbbRc= From eaa3319aec97b2787091d88101d2b91e72a77a9a Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Thu, 25 Jan 2024 22:07:22 -0500 Subject: [PATCH 28/32] chore: use newer nova images --- roles/defaults/vars/main.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml index 9fb56c53c..b0bd6a46e 100644 --- a/roles/defaults/vars/main.yml +++ b/roles/defaults/vars/main.yml @@ -130,23 +130,23 @@ _atmosphere_images: neutron_sriov_agent_init: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 neutron_sriov_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 node_feature_discovery: registry.k8s.io/nfd/node-feature-discovery:v0.11.2@sha256:24b2abfb5956b6a2a9a0f4248232838d02235d65044078c43d8bdcf29344f141 - nova_api: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 - nova_archive_deleted_rows: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_api: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 + nova_archive_deleted_rows: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 nova_cell_setup_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb - nova_cell_setup: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 - nova_compute_ironic: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_cell_setup: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 + nova_compute_ironic: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 nova_compute_ssh: ghcr.io/vexxhost/atmosphere/nova-ssh:latest@sha256:e648c174aeb67bbea9f346a064d0643c227c56617fe60c8911c225d23d74bb6b - nova_compute: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 - nova_conductor: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 - nova_consoleauth: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 - nova_db_sync: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 - nova_novncproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 - nova_novncproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 - nova_placement: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 - nova_scheduler: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_compute: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 + nova_conductor: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 + nova_consoleauth: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 + nova_db_sync: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 + nova_novncproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 + nova_novncproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 + nova_placement: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 + nova_scheduler: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 nova_service_cleaner: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb - nova_spiceproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 - nova_spiceproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:d05106ca6b2a945fb24a6947d0b7f42a19eb01a6f702ab25f0b5fae522183215 + nova_spiceproxy_assets: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 + nova_spiceproxy: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 octavia_api: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:5ed3e48a5befb900a291098bee5546255567f572412d200deb796c689677ceaf octavia_db_sync: ghcr.io/vexxhost/atmosphere/octavia:2023.2@sha256:5ed3e48a5befb900a291098bee5546255567f572412d200deb796c689677ceaf octavia_health_manager_init: ghcr.io/vexxhost/atmosphere/heat:2023.2@sha256:6d7e00d021975e054117e678c46fb8fbae2139efa086b89910218ea0e6e479bb From 6ff429af2b109e4a46f5d0ba9efec0b24f8d4f16 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Thu, 25 Jan 2024 22:41:36 -0500 Subject: [PATCH 29/32] chore: use newer neutron images --- roles/defaults/vars/main.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml index b0bd6a46e..e2495b2e5 100644 --- a/roles/defaults/vars/main.yml +++ b/roles/defaults/vars/main.yml @@ -113,22 +113,22 @@ _atmosphere_images: manila_share: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08 memcached: docker.io/library/memcached:1.6.17@sha256:db45886d2d48f143be64f2d46407e224b0b61df3b0056b9d5b03e8bc6a7cd74e netoffload: ghcr.io/vexxhost/atmosphere/netoffload:main@sha256:7af0c24ed23da084e03467d45fe761e9f48e4bfb35fdfecac2666d090290f758 - neutron_bagpipe_bgp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_bgp_dragent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_bagpipe_bgp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_bgp_dragent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 neutron_coredns: docker.io/coredns/coredns:1.9.3@sha256:bdb36ee882c13135669cfc2bb91c808a33926ad1a411fee07bd2dc344bb8f782 - neutron_db_sync: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_dhcp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_ironic_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_l2gw: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_l3: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_linuxbridge_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_netns_cleanup_cron: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_openvswitch_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_ovn_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_server: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_sriov_agent_init: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 - neutron_sriov_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:7fb62d7cc569589965554be1787a0095bb8610a816f0fa22da7f3ec7ab7829f0 + neutron_db_sync: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_dhcp: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_ironic_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_l2gw: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_l3: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_linuxbridge_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_netns_cleanup_cron: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_openvswitch_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_ovn_metadata: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_server: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_sriov_agent_init: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 + neutron_sriov_agent: ghcr.io/vexxhost/atmosphere/neutron:zed@sha256:33c887c4e4053768f8d987eb9f866311a842bdb30af3b970fe24f6fdfe5d1f50 node_feature_discovery: registry.k8s.io/nfd/node-feature-discovery:v0.11.2@sha256:24b2abfb5956b6a2a9a0f4248232838d02235d65044078c43d8bdcf29344f141 nova_api: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 nova_archive_deleted_rows: ghcr.io/vexxhost/atmosphere/nova:zed@sha256:1283899c4baa2b41c1df06e8383a7c3b634792f6a851b13c435cbc80b2480046 From b258fa1d9f97c6e1ef3e5552d773a965f2782994 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Fri, 26 Jan 2024 13:43:23 -0500 Subject: [PATCH 30/32] chore: add octavia to tempest images --- images/tempest/Earthfile | 2 +- roles/defaults/vars/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/images/tempest/Earthfile b/images/tempest/Earthfile index 9f180c780..61dd5dff5 100644 --- a/images/tempest/Earthfile +++ b/images/tempest/Earthfile @@ -9,7 +9,7 @@ build: DO ../openstack-service+BUILD_VENV \ --PROJECT=${PROJECT} \ --PROJECT_REF=${PROJECT_REF} \ - --PIP_PACKAGES="git+https://github.com/openstack/barbican-tempest-plugin.git git+https://github.com/openstack/cinder-tempest-plugin.git git+https://github.com/openstack/heat-tempest-plugin.git git+https://github.com/openstack/keystone-tempest-plugin.git git+https://github.com/openstack/neutron-tempest-plugin.git" + --PIP_PACKAGES="git+https://github.com/openstack/barbican-tempest-plugin.git git+https://github.com/openstack/cinder-tempest-plugin.git git+https://github.com/openstack/heat-tempest-plugin.git git+https://github.com/openstack/keystone-tempest-plugin.git git+https://github.com/openstack/neutron-tempest-plugin.git git+https://github.com/openstack/octavia-tempest-plugin.git" image: FROM ../openstack-service+image --RELEASE ${RELEASE} --PROJECT ${PROJECT} diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml index e2495b2e5..0d262b942 100644 --- a/roles/defaults/vars/main.yml +++ b/roles/defaults/vars/main.yml @@ -192,7 +192,7 @@ _atmosphere_images: staffeln_db_sync: ghcr.io/vexxhost/atmosphere/staffeln:v2.2.3@sha256:c09b73991d4ffa3b582e8d6c92888b6964f7023d69a84762de1a62678cad1777 staffeln_conductor: ghcr.io/vexxhost/atmosphere/staffeln:v2.2.3@sha256:c09b73991d4ffa3b582e8d6c92888b6964f7023d69a84762de1a62678cad1777 staffeln_api: ghcr.io/vexxhost/atmosphere/staffeln:v2.2.3@sha256:c09b73991d4ffa3b582e8d6c92888b6964f7023d69a84762de1a62678cad1777 - tempest_run_tests: ghcr.io/vexxhost/atmosphere/tempest:master@sha256:61103599c422a8a7dbdd09c981eb73ada9fc3320633af669ce90866aad9edf23 + tempest_run_tests: ghcr.io/vexxhost/atmosphere/tempest:master@sha256:82300000bc99670cc3f4be3ba0e8577a0e8e59ef9d58ca71d069a9a1928804f5 vector: docker.io/timberio/vector:0.27.0-debian@sha256:29f23dab76fa306b67b10eac3e9decdb01c906f8aa3b00a2f5b2e8ae088b84e0 atmosphere_images: '{{ _atmosphere_images | combine(atmosphere_image_overrides, recursive=True) From 1825cefecbed92573c352bab0cc319f9a942bdf8 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Wed, 31 Jan 2024 17:20:26 -0500 Subject: [PATCH 31/32] fix(magnum): improve ovn stability --- images/magnum/Earthfile | 2 +- roles/defaults/vars/main.yml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/images/magnum/Earthfile b/images/magnum/Earthfile index c309459e5..b3d386cd3 100644 --- a/images/magnum/Earthfile +++ b/images/magnum/Earthfile @@ -9,7 +9,7 @@ build: DO ../openstack-service+BUILD_VENV \ --PROJECT=${PROJECT} \ --PROJECT_REF=${PROJECT_REF} \ - --PIP_PACKAGES="magnum-cluster-api==0.13.3" + --PIP_PACKAGES="magnum-cluster-api==0.13.4" image: FROM ../openstack-service+image --RELEASE ${RELEASE} --PROJECT ${PROJECT} diff --git a/roles/defaults/vars/main.yml b/roles/defaults/vars/main.yml index 0d262b942..b8bfad74a 100644 --- a/roles/defaults/vars/main.yml +++ b/roles/defaults/vars/main.yml @@ -101,11 +101,11 @@ _atmosphere_images: local_path_provisioner: docker.io/rancher/local-path-provisioner:v0.0.24@sha256:b7dea5221f06f6feed7788db0ad6b024a433c8f55533bd6cc792dc2079ff9ad2 loki_gateway: docker.io/nginxinc/nginx-unprivileged:1.19-alpine@sha256:bbd46452aae30a7cc7bc438f267af812c7a2b0f3b5bcd4cc55eb99669cea3f28 loki: docker.io/grafana/loki:2.7.3@sha256:8e3abbd89173066721fa07bddfee1c1a7a8fe59bed5b00a2fa09d2b3cef8758c - magnum_api: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:e62f2abc600abf701617130c1d8a23e5f5834e7c1d935bd0b31778da3143732b - magnum_cluster_api_proxy: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:e62f2abc600abf701617130c1d8a23e5f5834e7c1d935bd0b31778da3143732b - magnum_conductor: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:e62f2abc600abf701617130c1d8a23e5f5834e7c1d935bd0b31778da3143732b - magnum_db_sync: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:e62f2abc600abf701617130c1d8a23e5f5834e7c1d935bd0b31778da3143732b - magnum_registry: quay.io/vexxhost/magnum-cluster-api-registry:latest@sha256:b954f23ccdbfb2b5b43f6a4e6f7ef5f2ba7bfc81f31de54cf141a56b26628c41 + magnum_api: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:edc18423d723ef5da122392e830b8ae1ff6f57b4cc088d1818462e43bde6c36e + magnum_cluster_api_proxy: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:edc18423d723ef5da122392e830b8ae1ff6f57b4cc088d1818462e43bde6c36e + magnum_conductor: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:edc18423d723ef5da122392e830b8ae1ff6f57b4cc088d1818462e43bde6c36e + magnum_db_sync: ghcr.io/vexxhost/atmosphere/magnum:2023.2@sha256:edc18423d723ef5da122392e830b8ae1ff6f57b4cc088d1818462e43bde6c36e + magnum_registry: quay.io/vexxhost/magnum-cluster-api-registry:latest@sha256:caba380e193264f047651728cbc7905e87d7eee846d8576778b5e7d824ec609d manila_api: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08 manila_data: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08 manila_db_sync: ghcr.io/vexxhost/atmosphere/manila:2023.2@sha256:eb664c55c9dba155c1afe8026caa2c88ba0983e62f069d0825bcc3c563f58d08 From ef722deb89de7cb9e815ae26615a3eaea226667d Mon Sep 17 00:00:00 2001 From: Rico Lin Date: Thu, 1 Feb 2024 13:00:44 +0800 Subject: [PATCH 32/32] fix: fix CI jobs (#923) --- .github/workflows/image-manifest.yml | 3 +++ .markdownlint.yaml | 1 + Earthfile | 2 +- docs/SUMMARY.md | 2 ++ docs/openstack/cinder.md | 2 +- 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/image-manifest.yml b/.github/workflows/image-manifest.yml index b0b75e239..91bd721aa 100644 --- a/.github/workflows/image-manifest.yml +++ b/.github/workflows/image-manifest.yml @@ -36,6 +36,9 @@ jobs: with: cache: poetry + - name: Install dependencies + run: ansible-galaxy install -r molecule/image-manifest/requirements.yml + - name: Install dependencies run: poetry install --no-interaction --with dev diff --git a/.markdownlint.yaml b/.markdownlint.yaml index 2dff985fd..cb666e7d5 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -1,2 +1,3 @@ +MD007: false MD013: false MD046: false diff --git a/Earthfile b/Earthfile index 9b82313c0..824902f83 100644 --- a/Earthfile +++ b/Earthfile @@ -105,7 +105,7 @@ images: BUILD ./images/ovn+images BUILD ./images/placement+image BUILD ./images/senlin+image - BUILD ./images/staffln+image + BUILD ./images/staffeln+image BUILD ./images/tempest+image SCAN_IMAGE: diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 7377fb427..8e262a852 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -1,3 +1,5 @@ +# Summary + - [Deployment Guide](deploy.md) - [Ingress](ingress.md) - [Monitoring](monitoring.md) diff --git a/docs/openstack/cinder.md b/docs/openstack/cinder.md index 50abdf735..e1391cb69 100644 --- a/docs/openstack/cinder.md +++ b/docs/openstack/cinder.md @@ -1,4 +1,4 @@ -# Cinder +# Cinder (Block Storage Service) ## Built-in Ceph cluster