Skip to content

Add metric-storage (Aetos) v1 service support - #3638

Merged
mandre merged 1 commit into
gophercloud:mainfrom
jlarriba:main
Apr 7, 2026
Merged

mandre merged 1 commit into
gophercloud:mainfrom
jlarriba:main

Conversation

@jlarriba

@jlarriba jlarriba commented Mar 2, 2026

Copy link
Copy Markdown
Contributor

Aetos is a Keystone-authenticated reverse proxy for Prometheus that enforces multi-tenant RBAC on all Prometheus queries. This adds Go bindings for the Prometheus HTTP API exposed under /api/v1/ with OpenStack authentication.

Supported operations: Query, Labels, LabelValues, Series, Targets, RuntimeInfo, CleanTombstones, DeleteSeries, Snapshot.

Fixes #3636

Links to the line numbers/files in the OpenStack source code that support the
code in this PR:

@github-actions github-actions Bot added edit:openstack This PR updates common OpenStack code semver:minor Backwards-compatible change backport-v2 This PR will be backported to v2 labels Mar 2, 2026
@mandre

mandre commented Mar 4, 2026

Copy link
Copy Markdown
Contributor

Hey Juan, do you think it would be possible to add acceptance tests? I imagine this require a new job for which we enable the service in the relevant openstack releases (master only?). You can find the jobs configuration here.

@github-actions github-actions Bot added edit:config This PR updates config code semver:major Breaking change and removed semver:minor Backwards-compatible change backport-v2 This PR will be backported to v2 labels Mar 10, 2026
@github-actions github-actions Bot added semver:minor Backwards-compatible change backport-v2 This PR will be backported to v2 and removed semver:major Breaking change labels Mar 10, 2026
@jlarriba

Copy link
Copy Markdown
Contributor Author

Sure, ill work on it

@github-actions github-actions Bot added edit:actions This PR updates GitHub Actions code edit:testinfra This PR updates testing infrastructure code labels Mar 13, 2026
@jlarriba

Copy link
Copy Markdown
Contributor Author

@mandre Apparently this is waiting on the approval of a maintainer to execute tests. This did not happened in the previous run, I imagine it is related with the new test set I instroduced.

@mandre

mandre commented Mar 19, 2026

Copy link
Copy Markdown
Contributor

@mandre Apparently this is waiting on the approval of a maintainer to execute tests. This did not happened in the previous run, I imagine it is related with the new test set I instroduced.

The project is configured to require a maintainer to approve running tests for first time contributors, that's why :)

@coveralls

coveralls commented Mar 19, 2026 •

Copy link
Copy Markdown

Coverage Status

coverage: 63.927% (-0.03%) from 63.953% — jlarriba:main into gophercloud:main

@jlarriba

Copy link
Copy Markdown
Contributor Author

@mandre Apparently this is waiting on the approval of a maintainer to execute tests. This did not happened in the previous run, I imagine it is related with the new test set I instroduced.

The project is configured to require a maintainer to approve running tests for first time contributors, that's why :)

thanks for the approval! I can debug the issues now.

@jlarriba

Copy link
Copy Markdown
Contributor Author

@mandre need approval again, i am afraid

@jlarriba

Copy link
Copy Markdown
Contributor Author

@mandre I dont really know why the epoxy Octavia tests are failing, it seems to be completely unrelated to my patch. What do you think?

@winiciusallan

winiciusallan commented Mar 20, 2026 •

Copy link
Copy Markdown
Contributor

@mandre I dont really know why the epoxy Octavia tests are failing, it seems to be completely unrelated to my patch. What do you think?

@jlarriba After checking the logs, it appears to be a permission error. This is a known issue; you can check it here.

The issue above was regarding the Flamingo release. I don't know what has changed in the Epoxy release that made the tests get red, but one solution looks like changing the udev permissions for the KVM device, as suggested in the issue.

edit: Detailing more, looks like the patch to use Ubuntu Noble for amphora was backported to the Epoxy release, and Canonical has implemented several security changes in this new release, especially regarding the use of AppArmor, which restricts unprivileged user namespaces.

@jlarriba

Copy link
Copy Markdown
Contributor Author

@winiciusallan Thank you very much for your input!

@mandre Thanks to Winicius' knowledge I created a patch to also force jammy ubuntu version in epoxy tests: #3656

@jlarriba

Copy link
Copy Markdown
Contributor Author

The error should be fixed by #3660, but I dont know how to re-run the test.

@mandre

mandre commented Mar 30, 2026

Copy link
Copy Markdown
Contributor

The error should be fixed by #3660, but I dont know how to re-run the test.

You'll need to rebase your PR on top of main. I see you pushed a commit but it's empty, so presumably you forgot to run git fetch gophercloud first. I would also recommend you rebase your change instead of merge.

Comment thread .github/workflows/functional-metric.yaml Fixed
Comment thread .github/workflows/functional-metric.yaml Fixed
Comment thread .github/workflows/functional-metric.yaml Fixed
Comment thread .github/workflows/functional-metric.yaml Fixed
Comment thread .github/workflows/functional-metric.yaml Fixed
Comment thread .github/workflows/functional-metric.yaml Fixed
Comment thread .github/workflows/functional-metric.yaml Fixed
Comment thread .github/workflows/functional-metric.yaml Fixed
@jlarriba

Copy link
Copy Markdown
Contributor Author

The error should be fixed by #3660, but I dont know how to re-run the test.

You'll need to rebase your PR on top of main. I see you pushed a commit but it's empty, so presumably you forgot to run git fetch gophercloud first. I would also recommend you rebase your change instead of merge.

All done, thank you for your advice.

@mandre mandre left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

From what I can tell, and how little I know about the Aetos service, this looks almost ready to merge.

Comment thread .github/workflows/functional-metric.yaml Fixed
Comment thread .github/workflows/functional-metric.yaml Fixed
Comment thread openstack/metric/v1/metrics/results.go
Comment thread openstack/metric/v1/metrics/urls.go
Comment thread .github/workflows/functional-metric.yaml Fixed
@mandre

mandre commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

One last thing flagged by zizmor needs fixing (similar to what was done in b3e4310) then it's good to go IMO.

You'll want to add to your workflow:

    permissions:
      contents: read

Aetos is a Keystone-authenticated reverse proxy for Prometheus that
enforces multi-tenant RBAC on all Prometheus queries. This adds Go
bindings for the Prometheus HTTP API exposed under /api/v1/ with
OpenStack authentication.

Supported operations: Query, Labels, LabelValues, Series, Targets,
RuntimeInfo, CleanTombstones, DeleteSeries, Snapshot.
@jlarriba

jlarriba commented Apr 7, 2026

Copy link
Copy Markdown
Contributor Author

One last thing flagged by zizmor needs fixing (similar to what was done in b3e4310) then it's good to go IMO.

You'll want to add to your workflow:

    permissions:
      contents: read

Sorry about this, this seems to be introduced very recently and I was not aware. Done.

@mandre mandre left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM, thanks!

@mandre
mandre enabled auto-merge April 7, 2026 11:07
@mandre
mandre added this pull request to the merge queue Apr 7, 2026
Merged via the queue into gophercloud:main with commit 631b3a4 Apr 7, 2026
68 of 69 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-v2 This PR will be backported to v2 edit:actions This PR updates GitHub Actions code edit:config This PR updates config code edit:openstack This PR updates common OpenStack code edit:testinfra This PR updates testing infrastructure code semver:minor Backwards-compatible change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for metric-storage (Aetos) service

5 participants