Skip to content

feat: allow cross projects zone access - #85

Open
abhijith-darshan wants to merge 13 commits into
inovex:mainfrom
abhijith-darshan:feat/cross-project-zones
Open

feat: allow cross projects zone access#85
abhijith-darshan wants to merge 13 commits into
inovex:mainfrom
abhijith-darshan:feat/cross-project-zones

Conversation

@abhijith-darshan

Copy link
Copy Markdown
Contributor

closes #83

@abhijith-darshan
abhijith-darshan force-pushed the feat/cross-project-zones branch from 0c132c0 to 19ab4a9 Compare May 7, 2026 11:49
@abhijith-darshan abhijith-darshan changed the title (chore): allow cross projects zone access feat: allow cross projects zone access May 27, 2026
@abhijith-darshan
abhijith-darshan force-pushed the feat/cross-project-zones branch 2 times, most recently from b6d64cd to 5d42cc8 Compare May 27, 2026 11:41
@frittentheke
frittentheke force-pushed the feat/cross-project-zones branch from 5d42cc8 to 4c22d39 Compare June 7, 2026 10:37
@abhijith-darshan
abhijith-darshan force-pushed the feat/cross-project-zones branch from 4c22d39 to 33e5f25 Compare June 17, 2026 14:42
@abhijith-darshan
abhijith-darshan force-pushed the feat/cross-project-zones branch from 33e5f25 to 1f55541 Compare July 11, 2026 21:24
Includes zones AllProjects support (#3802) and SudoTenantID fix (#3808).
Pin to post-v2.13.0 pseudo-version for recordsets AllProjects support (#3844).
Breaking change in gophercloud/v2 v2.13.0 — NewDNSV2 no longer accepts
a context.Context parameter.
gophercloud v2 branch keeps Delete signature unchanged; DeleteWithOpts
is the new function that accepts header opts including AllProjects.
@abhijith-darshan
abhijith-darshan force-pushed the feat/cross-project-zones branch from 1f55541 to 1b7a3e2 Compare July 11, 2026 21:27

@frittentheke frittentheke left a comment

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.

Thanks @abhijith-darshan for keeping at this and especially for going the extra mile to implement this in Gophercloud, the right place!

This chance looks good so far.

Since this s feature that needs integration testing, would you mind creating a devstack test for it? I know the current integration testing at https://github.com/inovex/external-dns-openstack-webhook/blob/main/.github/workflows/devstack.yml#L72-L109 is quite simple, but we already have devstack running ... it's just about marking use of it to ensure things work as they should with later changes.

Comment thread cmd/webhook/main.go Outdated
@abhijith-darshan
abhijith-darshan force-pushed the feat/cross-project-zones branch 3 times, most recently from 3dce28f to 58cf282 Compare July 14, 2026 19:43
@abhijith-darshan

abhijith-darshan commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

Thanks @abhijith-darshan for keeping at this and especially for going the extra mile to implement this in Gophercloud, the right place!

This chance looks good so far.

Since this s feature that needs integration testing, would you mind creating a devstack test for it? I know the current integration testing at https://github.com/inovex/external-dns-openstack-webhook/blob/main/.github/workflows/devstack.yml#L72-L109 is quite simple, but we already have devstack running ... it's just about marking use of it to ensure things work as they should with later changes.

I can try. Should this be a separate workflow or extend the existing one with a separate job or add additional step?

Signed-off-by: abhijith-darshan <abhijith.ravindra@sap.com>
Signed-off-by: abhijith-darshan <abhijith.ravindra@sap.com>
Signed-off-by: abhijith-darshan <abhijith.ravindra@sap.com>
@abhijith-darshan

Copy link
Copy Markdown
Contributor Author

@frittentheke how does this look?

added webhook server and status server addr flags so that they can be configurable. Otherwise in the test we would have to kill existing running webhook.

Also noticed the designate-worker fix was removed by you in the past - 3b52507

we just needed the abs path after [DEFAULT] and looks like the test time also reduces by 8 - 9 mins approx.

@frittentheke

frittentheke commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Sorry about the delay @abhijith-darshan ! I shall try to look into this soon.
Do you mind rebasing this once more?

@Knalltuete5000 Knalltuete5000 left a comment

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.

Minor details for the devstack but LGT

- name: Wait for zone creation
run: |
while [ "$(openstack zone list -f csv | grep PENDING)" != "" ]; do date; openstack zone list -f value; sleep 1; done
while [ "$(openstack zone list -f value | grep PENDING)" != "" ]; do date; openstack zone list -f value; sleep 1; done

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.

When changing this either way why not only list the zones in the desired status.
The openstack cli does support filtering by status

openstack zone list -f value --status PENDING

- name: Wait for PENDING
run: |
while [ "$(openstack zone list -f csv | grep PENDING)" != "" ]; do date; openstack zone list -f value; sleep 1; done
while [ "$(openstack zone list -f value | grep PENDING)" != "" ]; do date; openstack zone list -f value; sleep 1; done

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.

Same as above filter directly by status

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.

Add --all-projects flag to support cross-project zone management via X-Auth-All-Projects header

3 participants