Skip to content

[feature] cloud in a box clustering with magnum #426

Description

@tgotowik

OSISM release version

8.1.0

What's the problem?

Hi,
if you try to build a cluster on the cloud in a box image within horizon you will receive the following error messages:

2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server [None req-734aab47-64a6-4886-a09e-e623bc4e9d89 1e9a08ce728d4004ad5df09c1f1f36e1 93c41aa162ce42a6870144a571ae0067 - - default -] Exception during message handling: novaclient.exceptions.BadRequest: Invalid input for field/attribute 0. Value: soft-anti-affinity. 'soft-anti-affinity' is not one of ['anti-affinity', 'affinity'] (HTTP 400) (Request-ID: req-6dbdab58-d603-4d79-9529-8ba08668851f)r/lib/kolla/venv/lib/python3.10/site-packages/oslo_messaging/rpc/server.py", line 165, in _process_incoming
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  res = self.dispatcher.dispatch(message)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/oslo_messaging/rpc/dispatcher.py", line 309, in dispatch
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  return self._do_dispatch(endpoint, method, ctxt, args)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/oslo_messaging/rpc/dispatcher.py", line 229, in _do_dispatch
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  result = func(ctxt, **new_args)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/osprofiler/profiler.py", line 159, in wrapper
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  result = f(*args, **kwargs)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/magnum/conductor/handlers/cluster_conductor.py", line 77, in cluster_create25-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  cluster_driver.create_cluster(context, cluster, create_timeout)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/magnum_cluster_api/driver.py", line 65, in create_cluster
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  return self._create_cluster(context, cluster)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/magnum_cluster_api/driver.py", line 39, in wrapper
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  return func(*args, **kwargs)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/magnum_cluster_api/driver.py", line 94, in _create_cluster
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  resources.apply_cluster_from_magnum_cluster(
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/magnum_cluster_api/resources.py", line 2930, in apply_cluster_from_magnum_cluster01 05:35:04.950 784 ERROR oslo_messaging.rpc.server     ClusterServerGroups(context, cluster).apply()
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/magnum_cluster_api/resources.py", line 118, in apply
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  utils.ensure_controlplane_server_group(ctx=self.context, cluster=self.cluster)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/magnum_cluster_api/utils.py", line 596, in ensure_controlplane_server_group25-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server     return _ensure_server_group(
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/magnum_cluster_api/utils.py", line 657, in _ensure_server_group
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  server_group = osc.nova().server_groups.create(name=name, policies=policies)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/novaclient/api_versions.py", line 393, in substitution
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  return methods[-1].func(obj, *args, **kwargs)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/novaclient/v2/server_groups.py", line 101, in create
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  return self._create('/os-server-groups', body, 'server_group')
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/novaclient/base.py", line 363, in _create
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  resp, body = self.api.client.post(url, body=body)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/keystoneauth1/adapter.py", line 399, in post
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  return self.request(url, 'POST', **kwargs)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server   File "/var/lib/kolla/venv/lib/python3.10/site-packages/novaclient/client.py", line 78, in request
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server  raise exceptions.from_response(resp, body, url, method)
2025-09-01 05:35:04.950 784 ERROR oslo_messaging.rpc.server novaclient.exceptions.BadRequest: Invalid input for field/attribute 0. Value: soft-anti-affinity. 'soft-anti-affinity' is not one of ['anti-affinity', 'affinity'] (HTTP 400) (Request-ID: req-6dbdab58-d603-4d79-9529-8ba08668851f)

It seems that the problem is that the magnum cluster API does not work on cloud in a box because you need real affinity, which cannot be mapped on cloud in a box.
Maybe you can create a patch for this in magnum's CAPI plugin to support soft affinity?

References to existing reports

References to the chat with @berendt

Severity

low

Urgency

low

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions