Skip to content

ocm: add TRANSFERRING share state#273

Merged
glpatcern merged 1 commit into
cs3org:mainfrom
glpatcern:ocm-add-share-state
May 28, 2026
Merged

ocm: add TRANSFERRING share state#273
glpatcern merged 1 commit into
cs3org:mainfrom
glpatcern:ocm-add-share-state

Conversation

@glpatcern

Copy link
Copy Markdown
Member

No description provided.

@rawe0 rawe0 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, since it's new functionality it will not break anything.

@glpatcern glpatcern force-pushed the ocm-add-share-state branch from 239e6c8 to 4f032f6 Compare May 28, 2026 12:58
@glpatcern glpatcern merged commit 19b32eb into cs3org:main May 28, 2026
2 checks passed
flash7777 pushed a commit to flash7777/reva that referenced this pull request Jun 11, 2026
Update to the latest go-cs3apis which includes three upstream changes:

1. cs3org/cs3apis#272 — container-specific permissions + immutable RPCs
2. cs3org/cs3apis#273 — OCM share state changes
3. Labels API moved from StorageProvider to cs3/labels/v1beta1

Labels API migration:

  Before (old cs3apis):
  ┌──────────┐   AddLabel/RemoveLabel   ┌─────────────────┐
  │ opencloud├──────────────────────────►│ Gateway          │
  │ (graph)  │   provider.AddLabelReq   │                  │
  └──────────┘                          │  ┌─────────────┐ │
                                        │  │ find(ref)   │ │
                                        │  └──────┬──────┘ │
                                        └─────────┼────────┘
                                                  │ c.AddLabel()
                                        ┌─────────▼────────┐
                                        │ StorageProvider   │
                                        │ (ProviderAPI)     │
                                        │  → Storage.Add... │
                                        └──────────────────┘

  After (new cs3apis):
  ┌──────────┐   AddLabel/RemoveLabel   ┌─────────────────┐
  │ opencloud├──────────────────────────►│ Gateway          │
  │ (graph)  │   labels.AddLabelReq     │                  │
  └──────────┘                          │  returns         │
                                        │  UNIMPLEMENTED   │
                                        │  (TODO: wire to  │
                                        │   LabelsAPI svc) │
                                        └─────────────────┘
                                               ╳ not yet wired
                                        ┌─────────────────┐
                                        │ StorageProvider  │
                                        │ (LabelsAPI svc)  │
                                        │  → Storage.Add.. │
                                        └─────────────────┘

  The StorageProvider now registers as LabelsAPIServer (in addition
  to ProviderAPIServer and SpacesAPIServer), so AddLabel/RemoveLabel
  still work at the storage level. The Gateway needs to be wired to
  call the LabelsAPI service on the StorageProvider — this requires
  extending the gateway client pool to support LabelsAPIClient.

  For now, Gateway returns CODE_UNIMPLEMENTED for Labels calls.
  This temporarily breaks favorites in opencloud until the wiring
  is completed (separate PR).

Changes:
- go.mod: bump go-cs3apis
- StorageProvider: register as LabelsAPIServer, implement AddLabel/
  RemoveLabel/ListLabels/ListResourcesForLabel
- Gateway: Labels stubs (UNIMPLEMENTED, TODO: wire to LabelsAPI)
- Add SetImmutable/UnsetImmutable stubs to all ProviderAPI implementations
- Regenerate mocks
flash7777 pushed a commit to flash7777/reva that referenced this pull request Jun 11, 2026
Update to the latest go-cs3apis which includes three upstream changes:

1. cs3org/cs3apis#272 — container-specific permissions + immutable RPCs
2. cs3org/cs3apis#273 — OCM share state changes
3. Labels API moved from StorageProvider to cs3/labels/v1beta1

Labels API migration:

  Before:  opencloud -> Gateway -> StorageProvider (ProviderAPI.AddLabel)
  After:   opencloud -> Gateway -> StorageProvider (LabelsAPI.AddLabel)

  The StorageProvider now registers as LabelsAPIServer in addition to
  ProviderAPIServer and SpacesAPIServer. The Gateway routes Labels calls
  to the StorageProvider via a new LabelsAPIClient, using the same
  GRPC connection pool.

Changes:
- go.mod: bump go-cs3apis
- StorageProvider: register as LabelsAPIServer, implement
  AddLabel/RemoveLabel via Storage FS interface
- Gateway: route AddLabel/RemoveLabel to StorageProvider's LabelsAPI
- Pool: add LabelsProviderSelector and GetLabelsProviderServiceClient
- Add SetImmutable/UnsetImmutable to all ProviderAPI implementations
- Regenerate mocks
flash7777 pushed a commit to flash7777/reva that referenced this pull request Jun 14, 2026
Update to the latest go-cs3apis which includes three upstream changes:

1. cs3org/cs3apis#272 — container-specific permissions + immutable RPCs
2. cs3org/cs3apis#273 — OCM share state changes
3. Labels API moved from StorageProvider to cs3/labels/v1beta1

Labels API migration:

  Before:  opencloud -> Gateway -> StorageProvider (ProviderAPI.AddLabel)
  After:   opencloud -> Gateway -> StorageProvider (LabelsAPI.AddLabel)

  The StorageProvider now registers as LabelsAPIServer in addition to
  ProviderAPIServer and SpacesAPIServer. The Gateway routes Labels calls
  to the StorageProvider via a new LabelsAPIClient, using the same
  GRPC connection pool.

Changes:
- go.mod: bump go-cs3apis
- StorageProvider: register as LabelsAPIServer, implement
  AddLabel/RemoveLabel via Storage FS interface
- Gateway: route AddLabel/RemoveLabel to StorageProvider's LabelsAPI
- Pool: add LabelsProviderSelector and GetLabelsProviderServiceClient
- Add SetImmutable/UnsetImmutable to all ProviderAPI implementations
- Regenerate mocks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants