Skip to content

feat: Add OS-EP-FILTER provider CRUD to the catalog#1075

Open
mashawes wants to merge 2 commits into
openstack-experimental:mainfrom
mashawes:endpoint-filter-crud
Open

feat: Add OS-EP-FILTER provider CRUD to the catalog#1075
mashawes wants to merge 2 commits into
openstack-experimental:mainfrom
mashawes:endpoint-filter-crud

Conversation

@mashawes

Copy link
Copy Markdown
Collaborator

Summary

Implements the OS-EP-FILTER provider surface in the catalog provider, following the existing region/service/endpoint CRUD pattern against the pre-existing endpoint_group, project_endpoint, and project_endpoint_group tables.

  • Endpoint group CRUD: create, get, list, update, delete. Adds EndpointGroup, EndpointGroupCreate, EndpointGroupUpdate, and EndpointGroupListParameters in core-types, an EndpointGroupNotFound error, and an EndpointGroup event payload wired into the CADF audit mapping. The filters column is modelled as a HashMap<String, Value>.
  • Project/endpoint associations: associate, disassociate, check, and list the endpoints for a project. Add and remove are idempotent.
  • Project/endpoint-group associations: associate, disassociate, check, and list the endpoint groups for a project.

All operations are threaded through the CatalogApi provider (provider_api, service, mock) and implemented in the catalog-sql driver. Endpoint group create, update, and delete emit audit events; the association operations are plain link-table mutations.

Test plan

Driver unit tests for every operation. Integration tests covering endpoint group CRUD (with validation and not-found cases) and full association lifecycles for both project/endpoint and project/endpoint-group. Run with cargo test and all pass.

Closes #914

Note: this contribution was developed with AI assistance.

mashawes added 2 commits July 22, 2026 17:33
Signed-off-by: Mohammed <mashawes@andrew.cmu.edu>
Signed-off-by: Mohammed <mashawes@andrew.cmu.edu>
@mashawes
mashawes requested a review from gtema July 22, 2026 15:08
@mashawes mashawes changed the title Endpoint filter crud feat: Add OS-EP-FILTER provider CRUD to the catalog Jul 22, 2026
project_id: &'a str,
endpoint_id: &'a str,
) -> Result<(), CatalogProviderError> {
self.backend_driver

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

all modification operation must emit audit entry and notification event. Here is it done only for endpoint groups, but not modifying project<->endpoint bindings

project_id: &'a str,
endpoint_id: &'a str,
) -> Result<(), CatalogProviderError> {
self.backend_driver

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

also here audit and notifications are completely missing

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.

Implement Endpoint Filter provider CRUD part of the catalog provider

2 participants