From cbcdca97ee74120b29e4bf5094cbbd713acac105 Mon Sep 17 00:00:00 2001 From: Shushanik Hovhannesyan Date: Wed, 27 May 2026 12:59:02 +0200 Subject: [PATCH] Create empty proxy for rfs and a functional test. --- otcextensions/sdk/__init__.py | 4 ++++ .../sdk/ccn/v1 => sdk/rfs}/__init__.py | 0 otcextensions/sdk/rfs/rfs_service.py | 20 ++++++++++++++++ otcextensions/sdk/rfs/v3/__init__.py | 0 otcextensions/sdk/rfs/v3/_proxy.py | 17 ++++++++++++++ .../tests/functional/sdk/ccn/v3/__init__.py | 0 .../sdk/ccn/{v1 => v3}/test_service.py | 0 .../tests/functional/sdk/rfs/__init__.py | 0 .../tests/functional/sdk/rfs/v3/__init__.py | 0 .../functional/sdk/rfs/v3/test_service.py | 23 +++++++++++++++++++ 10 files changed, 64 insertions(+) rename otcextensions/{tests/functional/sdk/ccn/v1 => sdk/rfs}/__init__.py (100%) create mode 100644 otcextensions/sdk/rfs/rfs_service.py create mode 100644 otcextensions/sdk/rfs/v3/__init__.py create mode 100644 otcextensions/sdk/rfs/v3/_proxy.py create mode 100644 otcextensions/tests/functional/sdk/ccn/v3/__init__.py rename otcextensions/tests/functional/sdk/ccn/{v1 => v3}/test_service.py (100%) create mode 100644 otcextensions/tests/functional/sdk/rfs/__init__.py create mode 100644 otcextensions/tests/functional/sdk/rfs/v3/__init__.py create mode 100644 otcextensions/tests/functional/sdk/rfs/v3/test_service.py diff --git a/otcextensions/sdk/__init__.py b/otcextensions/sdk/__init__.py index ae630e582..270ed3fbd 100644 --- a/otcextensions/sdk/__init__.py +++ b/otcextensions/sdk/__init__.py @@ -255,6 +255,10 @@ "endpoint_service_type": "rdsv3", "append_project_id": True, }, + "rfs": { + "service_type": "rfs", + "endpoint_service_type": "rfs", + }, "sdrs": {"service_type": "sdrs", "append_project_id": True}, "sfsturbo": { "service_type": "sfsturbo", diff --git a/otcextensions/tests/functional/sdk/ccn/v1/__init__.py b/otcextensions/sdk/rfs/__init__.py similarity index 100% rename from otcextensions/tests/functional/sdk/ccn/v1/__init__.py rename to otcextensions/sdk/rfs/__init__.py diff --git a/otcextensions/sdk/rfs/rfs_service.py b/otcextensions/sdk/rfs/rfs_service.py new file mode 100644 index 000000000..42c00842d --- /dev/null +++ b/otcextensions/sdk/rfs/rfs_service.py @@ -0,0 +1,20 @@ +# 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. + +from openstack import service_description +from otcextensions.sdk.ccn.v3 import _proxy + + +class RfsService(service_description.ServiceDescription): + """The Resource Formation service.""" + + supported_versions = {"3": _proxy.Proxy} diff --git a/otcextensions/sdk/rfs/v3/__init__.py b/otcextensions/sdk/rfs/v3/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/otcextensions/sdk/rfs/v3/_proxy.py b/otcextensions/sdk/rfs/v3/_proxy.py new file mode 100644 index 000000000..38cfb42e8 --- /dev/null +++ b/otcextensions/sdk/rfs/v3/_proxy.py @@ -0,0 +1,17 @@ +# 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. +from openstack import proxy + + +class Proxy(proxy.Proxy): + + skip_discovery = True diff --git a/otcextensions/tests/functional/sdk/ccn/v3/__init__.py b/otcextensions/tests/functional/sdk/ccn/v3/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/otcextensions/tests/functional/sdk/ccn/v1/test_service.py b/otcextensions/tests/functional/sdk/ccn/v3/test_service.py similarity index 100% rename from otcextensions/tests/functional/sdk/ccn/v1/test_service.py rename to otcextensions/tests/functional/sdk/ccn/v3/test_service.py diff --git a/otcextensions/tests/functional/sdk/rfs/__init__.py b/otcextensions/tests/functional/sdk/rfs/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/otcextensions/tests/functional/sdk/rfs/v3/__init__.py b/otcextensions/tests/functional/sdk/rfs/v3/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/otcextensions/tests/functional/sdk/rfs/v3/test_service.py b/otcextensions/tests/functional/sdk/rfs/v3/test_service.py new file mode 100644 index 000000000..599470fc0 --- /dev/null +++ b/otcextensions/tests/functional/sdk/rfs/v3/test_service.py @@ -0,0 +1,23 @@ +# 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. +from openstack import _log +from otcextensions.tests.functional import base + +_logger = _log.setup_logging("openstack") + + +class TestService(base.BaseFunctionalTest): + + def test_initialize(self): + client = self.conn.rfs + + self.assertIsNotNone(client)