diff --git a/.zuul.d/magnum-cluster-api.yaml b/.zuul.d/magnum-cluster-api.yaml new file mode 100644 index 000000000..7f860f314 --- /dev/null +++ b/.zuul.d/magnum-cluster-api.yaml @@ -0,0 +1,93 @@ +- job: + name: magnum-cluster-api + parent: devstack + abstract: true + timeout: 7200 + override-checkout: master + required-projects: + - name: github.com/vexxhost/magnum-cluster-api + override-checkout: main + - opendev.org/openstack/barbican + - opendev.org/openstack/magnum + - opendev.org/openstack/manila + - opendev.org/openstack/octavia + - opendev.org/openstack/ovn-octavia-provider + - opendev.org/openstack/python-magnumclient + vars: + devstack_plugins: + barbican: https://github.com/openstack/barbican + magnum: https://review.opendev.org/openstack/magnum + manila: https://github.com/openstack/manila + octavia: https://github.com/openstack/octavia + ovn-octavia-provider: https://github.com/openstack/ovn-octavia-provider + magnum-cluster-api: https://github.com/vexxhost/magnum-cluster-api + devstack_localrc: + DISABLE_AMP_IMAGE_BUILD: true + FIXED_RANGE: 10.1.0.0/20 + GIT_BASE: https://github.com + MAGNUM_GUEST_IMAGE_URL: "{{ image_url }}" + MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS: snapshot_support=True create_share_from_snapshot_support=True + MANILA_ENABLED_BACKENDS: generic + MANILA_USE_SERVICE_INSTANCE_PASSWORD: true + OCTAVIA_NODE: api + devstack_local_conf: + post-config: + /etc/manila/manila.conf: + generic: + driver_handles_share_servers: true + connect_share_server_to_tenant_network: true + /etc/magnum/magnum.conf: + cluster_template: + kubernetes_allowed_network_drivers: calico,cilium + kubernetes_default_network_driver: calico + nova_client: + api_version: 2.15 + devstack_services: + s-account: false + s-container: false + s-object: false + s-proxy: false + octavia: true + o-api: true + o-hk: true + o-da: true + image_url: "https://github.com/vexxhost/capo-image-elements/releases/latest/download/ubuntu-22.04-{{ kube_tag }}.qcow2" + nodeset: + nodes: + - name: controller + label: ubuntu-noble-16GB + groups: + - name: tempest + nodes: + - controller + +- job: + name: magnum-cluster-api-v1.35.4 + parent: magnum-cluster-api + vars: + kube_tag: v1.35.4 + +- job: + name: magnum-cluster-api-v1.35.4-calico + parent: magnum-cluster-api-v1.35.4 + vars: + network_driver: calico + +- job: + name: magnum-cluster-api-v1.35.4-cilium + parent: magnum-cluster-api-v1.35.4 + vars: + network_driver: cilium + +- project-template: + name: magnum-cluster-api + description: | + magnum-cluster-api jobs + check: + jobs: + - magnum-cluster-api-v1.35.4-calico + - magnum-cluster-api-v1.35.4-cilium + gate: + jobs: + - magnum-cluster-api-v1.35.4-calico + - magnum-cluster-api-v1.35.4-cilium diff --git a/.zuul.d/project.yaml b/.zuul.d/project.yaml new file mode 100644 index 000000000..08be09793 --- /dev/null +++ b/.zuul.d/project.yaml @@ -0,0 +1,15 @@ +- project: + queue: magnum + templates: + - check-requirements + - magnum-cluster-api + - openstack-cover-jobs + - openstack-python3-jobs + - publish-openstack-docs-pti + - release-notes-jobs-python3 + check: + jobs: + - magnum-tempest-plugin-tests-api + gate: + jobs: + - magnum-tempest-plugin-tests-api diff --git a/.zuul.yaml b/.zuul.yaml deleted file mode 100644 index efa034497..000000000 --- a/.zuul.yaml +++ /dev/null @@ -1,40 +0,0 @@ -- secret: - name: magnum_docker_login - data: - user: !encrypted/pkcs1-oaep - - jlvqCncV1yJNdDNydFdpAXM06vfvjRcgkgLyJyEY8X5MHOmf6VKL2RiR9nmZX4faDgGHr - 797eFqJMOrWGc2iQGPmb2AwVkWSpMii3o/pV13jdIJBZ0RJ5g7kUXl8+anY27ZikwgmEM - ftad6SESr/PEv1G+35S/YEDveEDqY/6mXWOiO75N2QRrTsmgI9t2ItCS/sylWg+6wam0X - rpZHC7MyzMoLwi+ySDwjPDiQCskcwYxRwfwFcp2EPgc3cRx2V+YA1Y0Kaf42wCfSIswVC - YhljX2Zp9qWD/WULf3sH4pewfvWEwVojbNYOC99Jh/65i2Csynif7yoAAquY1qiPkXLRf - Plstz4UTpBsmx/6HSLAxaKp2gaxedrpeIM4+7lMldCQ+8Yx9ZbxXccINpDFznokHiaK60 - EbjqQwNyjDeoOOO/gYytOZ8DZBFvxFHkQaiAZdS+icxSKzbl+7dZoqyET95LDnk4aIw9L - 5fxIHHfpipvDrt3NGVmOaQiA9tBC5eCtCFlpJkJWFaz2ip7sqP8JlkZfWf2kr5ujK7s4B - VkiUuxIOBIIhc56XbgRoaFT8z23C357k7rNBDyFu6TPItx5OYXEtWU9hqJazl55EKbcfh - N7/a+zHNohrG4bLwjlwQ94AWBGkOxEbeZ2+ndK0SdhXTCtCCnu/0Xtxv3D8uSQ= - password: !encrypted/pkcs1-oaep - - uk0eQa5ozoUAM5Wc8qQeOjCxmGC/c74iq8EaMGTYtgpYm+teMR9CR0QcrSQA0g+1ZQnbD - kIRA/7/N1e6zp59GRrJe9y5Vs9cEvbzKrsRQgkubrYx6XpUVJxxuc5IbrFkiaCfrQkB0E - hIQ3RcTFVW6PBoldNGPHk3czvr0oFZbLmRZ44aOolTURFG5DUzFt5HUO4xXwTwCIxxJbO - Ch/cYVMzGZaRAi41j7F07b/48Ywg3TkZqy0aAvb/wmFdmlLDR0GlDJy1MdKnmmHNzvywF - bE1b4ljhSxhdeHxb5GDelHp+DLLxLAva65DcMQI58JMZiXo7THG49Ho+Msbr+2JCjSUKT - qJhH2ht7c6id/VRoPdFGRJbRPCYPraGe6IQs7FWfK0ELvEY8X3g5SSylYCGhr6TdcDFWm - nyRiMTuWG7n5j7V4fGnEhyqATNKV4zq5IDs08XxB0od24R346mkE75qzhnnKOi1tdfvPd - F443NmZCBRqxwmrUaPLFzzXD+O0xW3qAWxHOzlMGU/VnR4uRdOcyWbCdcO+N392jTiRMX - UbRYBPi1hBrBmd9/UjYVVaXESXkZEe81yDFwCR77eGQVVNSZljBJy+VErUv7+RgwTuN/z - CtGD6IpE16AHl3i31/1f00t5/t857qzVbdMLJBU8ivKbLPwGAjHMwM0f+y4Ogc= - -- project: - queue: magnum - templates: - - openstack-cover-jobs - - openstack-python3-jobs - - check-requirements - - publish-openstack-docs-pti - - release-notes-jobs-python3 - check: - jobs: - - magnum-tempest-plugin-tests-api - gate: - jobs: - - magnum-tempest-plugin-tests-api diff --git a/magnum/db/sqlalchemy/migration.py b/magnum/db/sqlalchemy/migration.py index cfbe6e897..3d3b0071f 100644 --- a/magnum/db/sqlalchemy/migration.py +++ b/magnum/db/sqlalchemy/migration.py @@ -16,27 +16,19 @@ import os -from oslo_db.sqlalchemy.migration_cli import manager +from alembic import command as alembic_command +from alembic import config as alembic_config +from alembic import migration as alembic_migration +from oslo_db.sqlalchemy import enginefacade -import magnum.conf -CONF = magnum.conf.CONF -_MANAGER = None - - -def get_manager(): - global _MANAGER - if not _MANAGER: - alembic_path = os.path.abspath( - os.path.join(os.path.dirname(__file__), 'alembic.ini')) - migrate_path = os.path.abspath( - os.path.join(os.path.dirname(__file__), 'alembic')) - migration_config = {'alembic_ini_path': alembic_path, - 'alembic_repo_path': migrate_path, - 'db_url': CONF.database.connection} - _MANAGER = manager.MigrationManager(migration_config) - - return _MANAGER +def _get_alembic_config(): + ini_path = os.path.join(os.path.dirname(__file__), 'alembic.ini') + cfg = alembic_config.Config(ini_path) + cfg.set_main_option( + 'script_location', + os.path.join(os.path.dirname(__file__), 'alembic')) + return cfg def version(): @@ -45,7 +37,10 @@ def version(): :returns: Database version :rtype: string """ - return get_manager().version() + engine = enginefacade.writer.get_engine() + with engine.connect() as conn: + ctx = alembic_migration.MigrationContext.configure(conn) + return ctx.get_current_revision() def upgrade(version): @@ -55,8 +50,7 @@ def upgrade(version): :type version: string """ version = version or 'head' - - get_manager().upgrade(version) + alembic_command.upgrade(_get_alembic_config(), version) def stamp(revision): @@ -68,7 +62,7 @@ def stamp(revision): database with most recent revision :type revision: string """ - get_manager().stamp(revision) + alembic_command.stamp(_get_alembic_config(), revision) def revision(message=None, autogenerate=False): @@ -80,4 +74,5 @@ def revision(message=None, autogenerate=False): state :type autogenerate: bool """ - return get_manager().revision(message=message, autogenerate=autogenerate) + return alembic_command.revision( + _get_alembic_config(), message=message, autogenerate=autogenerate) diff --git a/setup.cfg b/setup.cfg index c81ef0cff..7c53fea89 100644 --- a/setup.cfg +++ b/setup.cfg @@ -6,7 +6,7 @@ description_file = author = OpenStack author_email = openstack-dev@lists.openstack.org home_page = http://docs.openstack.org/magnum/latest/ -python_requires = >=3.10 +python_requires = >=3.11 classifier = Environment :: OpenStack Intended Audience :: Information Technology @@ -17,7 +17,6 @@ classifier = Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: 3 :: Only Programming Language :: Python :: 3 - Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 Programming Language :: Python :: 3.13