Commit e6bdbd90 authored by Sergio Gimenez's avatar Sergio Gimenez
Browse files

docs(r2): declare only the workload capability in the SRM zone example

The example zone declared query_available_resources bound to the
k8s-local control path. TF-SDK's kubernetes adapter serves only
workload, so that binding came out of discovery with no actions and no
runtime kinds, and placement could never select it: it read as if SRM
could check free resources when it can't (ADR-0002, SRM keeps no
capacity).

r2.example.yml and the scenario README now declare workload alone, and
the README says why, and that the adapter deploys into SRM's own
cluster, in the namespaces under workloads.namespaces.

Checked: yamllint; the rendered topology parses with TF-SDK's
BootstrapTopology into one workload binding (activate, update,
terminate, read_runtime_state; helm, container). The previous version
gave query_available_resources 0 actions.

Co-Authored-By: default avatarClaude Opus 5.5 <noreply@anthropic.com>
parent 7cc17c92
Loading
Loading
Loading
Loading
Loading
+0 −9
Changes for ansible/inventory/r2.example.yml: 0 added lines, 9 removed lines.
Original line number Diff line number Diff line
@@ -97,15 +97,6 @@ all:
                        kind: compute
                        state: active
                        capabilities:
                          - ref: query-available-resources
                            name: Query Available Resources
                            kind: query_available_resources
                            state: active
                            control_path_bindings:
                              - ref: query-available-resources-via-k8s-local
                                control_path_ref: k8s-local
                                is_default: true
                                state: active
                          - ref: deploy-workload
                            name: Deploy Workload
                            kind: workload
+9 −6
Changes for ansible/playbooks/scenarios/r2_existing_cluster/README.md: 9 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -251,12 +251,6 @@ oop_platform_extra_values:
                kind: compute
                state: active
                capabilities:
                  - ref: query-available-resources
                    name: Query Available Resources
                    kind: query_available_resources
                    state: active
                    control_path_bindings:
                      - {ref: query-available-resources-via-k8s-local, control_path_ref: k8s-local, is_default: true, state: active}
                  - ref: deploy-workload
                    name: Deploy Workload
                    kind: workload
@@ -268,6 +262,15 @@ oop_platform_extra_values:
`srm_zone_name` is a host variable (`Barcelona`, `Paris`, ...): the name users see, and the
name agreements refer to.

The zone declares one capability, `workload`, because that's all TF-SDK's `kubernetes`
adapter serves: it installs, updates, removes and reads Helm releases and containers. It
can't report free resources, so a `query_available_resources` capability bound to it gets
no actions, and placement never uses it; SRM keeps no capacity of its own either
([ADR-0002](https://labs.etsi.org/rep/oop/architecture/-/blob/develop/decisions/0002-no-stored-capacity.md)).
The adapter only reads `namespace` from its config and runs `helm` as SRM's own
ServiceAccount, so it deploys into the cluster SRM runs in, in the namespaces listed under
`workloads.namespaces`.

## Step 2: federate the operators

`federate.yml` needs access to every operator's cluster, because each operator's FM must