Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
216 commits
Select commit Hold shift + click to select a range
8300b91
Update dependencies to not include deprecated packages
StopMotionCuber Aug 16, 2023
5543d82
Update logging system
Knalltuete5000 Aug 22, 2023
df49092
Replace landing page with prometheus default
Knalltuete5000 Aug 22, 2023
03649e1
Update server handling
Knalltuete5000 Aug 22, 2023
d480ea1
Update README
Knalltuete5000 Aug 22, 2023
ea93db0
Add configuration file for golangci
Knalltuete5000 Aug 23, 2023
b3f1285
Bump actions/checkout from 3 to 4
dependabot[bot] Sep 11, 2023
0538fe8
Incorrect nova_flavors metrics have been replaced in README.md
odnobit Aug 29, 2023
ecd82ed
nova flavor metrics have been updated
odnobit Aug 29, 2023
02aea58
Bump actions/setup-go from 3 to 4
dependabot[bot] Aug 28, 2023
7533071
Fix <nil> values in nova_server_status
odnobit Sep 18, 2023
2f6788c
adding InstanceName label to server_status metric
Sep 9, 2023
cfc04c0
adding InstanceName label to server_status metric
Oct 2, 2023
80301a4
Add instance_libvirt label to server_status metric
Oct 2, 2023
b3882d2
Add new neutron metrics
odnobit Sep 4, 2023
4491792
fix golangci linter err: ineffassign
odnobit Sep 4, 2023
e292299
add openstack lbaas pool status collection
Feb 15, 2024
a2c06b5
add openstack lbaas pool status collection
Feb 15, 2024
e4d9deb
add openstack lbaas pool status collection
Feb 15, 2024
132c31c
add openstack lbaas pool status collection
Feb 15, 2024
1a2e113
Resolve #289 | Add `floating_ips` label to port
odnobit Feb 8, 2024
fb7eccc
Move channel to OFTC
Jonher937 Feb 22, 2024
d704965
Update to go 1.22
frittentheke Feb 23, 2024
e7cad44
fix crash on some metrics disabling
Feb 8, 2024
4c26f24
Use CGO_ENABLED=0 for binary in container image to avoid GLIBC errors
frittentheke Feb 27, 2024
b17720c
added image_created_at metric
Jan 30, 2024
cd46456
Ignore local build of snap.
chanchiwai-ray Mar 14, 2024
f1bdb88
Renovate snap distribution.
chanchiwai-ray Mar 14, 2024
4815608
Tidy snap scripts, add snap docs, re-add command
Mar 15, 2024
2595ec0
Use true/false values for boolean snap options
Mar 15, 2024
7bbf846
Add missing cloud argument from config in snap
Mar 19, 2024
ed01eb6
Move snap readme to snap directory
Mar 19, 2024
78dcd9c
Don't restart the snap service on configure
Mar 20, 2024
5066213
Document service behaviour on changing config
Mar 20, 2024
ff21848
Address shellcheck lint errors
Mar 25, 2024
f1a2af1
Re-add go to build-snaps
Mar 27, 2024
a08f45e
Update README.md
MaxBed4d Apr 17, 2024
eb2b765
Merge branch 'main' into update-readme
MaxBed4d Apr 17, 2024
42e7a31
feat: Basic version of cache mechanism
jneo8 Mar 26, 2024
b2134c9
fix: typo & description fix
jneo8 Apr 2, 2024
1038a08
fix: lint fix
jneo8 Apr 3, 2024
20d5d6e
feat: Add cache configuration to snap
jneo8 Mar 29, 2024
3e6b136
style: Change the order of lines to be more ideally
jneo8 Apr 8, 2024
960b33c
fix: Change the strategy of updating the cache
jneo8 Apr 22, 2024
7116977
refactor: Change the cache backend interface implementation
jneo8 Apr 23, 2024
8d12c4e
style: Re-structure the function arguments to make it more clear
jneo8 Apr 23, 2024
a05490c
docs: Update document of cache methods and README
jneo8 Apr 24, 2024
555f858
test: Update testing details to address review comments
jneo8 Apr 24, 2024
3be9ddb
Create FUNDING.yml
niedbalski Jul 25, 2024
14ae4ac
Merge branch 'main' into update-readme
MaxBed4d Aug 15, 2024
d8dc098
Use goreleaser release --clean
freyes Jul 26, 2024
e870beb
Add domain_info metric.
Jun 27, 2024
3f9cb9c
Add tags (comma separated string) to project_info metric.
Jun 28, 2024
60fc309
Add tags (comma separated string) to project_info metric.
Jun 28, 2024
58be814
Add tags (comma separated string) to project_info metric.
Jul 24, 2024
4bc8f6a
Added basic Manila support
diegonayalazo Aug 11, 2024
461f652
Evaluate if os-client-config is accessible early
Jonher937 Jul 31, 2024
189a18a
Rebase from main + fix cache
Krast76 Aug 14, 2024
ee4fd85
Add TenantID management in cinder also
Krast76 Jul 23, 2024
4eaf89c
Update deps
Jonher937 Jul 31, 2024
add5ae7
Added microversion version delta behavior explicitly in README
Sharpz7 Oct 2, 2024
a993770
Added Retired Field(s) to Node
Sharpz7 Oct 30, 2024
807717d
add limit metrics
evkuzin Mar 4, 2025
62c13d4
Merge branch 'main' into limits_metrics
evkuzin Mar 4, 2025
20f5bdd
fix concurrent map writes crash (#1)
Tatikoma Mar 3, 2025
5834fa5
chore: bump ci components
stijzermans Apr 3, 2025
520d8ba
chore: adjust golangci syntax
stijzermans Apr 3, 2025
1901a1b
Add project ID to shares metrics
err404r Jun 25, 2025
3ed373f
✨ refactor: consolidate CI workflows and remove unused linting file
mnaser Jun 27, 2025
511725c
✨ chore: add fail_level option to linting actions in CI workflow
mnaser Jun 27, 2025
42d2bef
✨ chore: add filter_mode option to linting actions in CI workflow
mnaser Jun 27, 2025
e4bedc0
✨ refactor: fix golangci-lint errors
mnaser Jun 27, 2025
f579646
✨ refactor: remove unused import in manila.go
mnaser Jun 27, 2025
b29bb35
✨ refactor: update deprecated metric handling and UUID generation
mnaser Jun 27, 2025
88ca338
✨ chore: add markdownlint configuration file with default settings
mnaser Jun 27, 2025
a0c2f91
✨ docs: fix all MD040
mnaser Jun 27, 2025
b870ff1
✨ chore: fix MD012
mnaser Jun 27, 2025
75c4074
fix: resolve MD041 markdownlint error in CONTRIBUTORS.md
mnaser Jun 27, 2025
915011b
fix: resolve MD001 heading-increment errors
mnaser Jun 27, 2025
7d943fb
fix: resolve MD042 no-empty-links errors
mnaser Jun 27, 2025
9efd328
fix: resolve MD022 blanks-around-headings errors
mnaser Jun 27, 2025
997ea8b
fix: resolve MD031 blanks-around-fences errors
mnaser Jun 27, 2025
9d5024e
fix: resolve MD004 ul-style errors
mnaser Jun 27, 2025
9d64e43
fix: resolve MD024 no-duplicate-heading errors
mnaser Jun 27, 2025
b564c9b
fix: resolve MD034 no-bare-urls error
mnaser Jun 27, 2025
ace96b6
fix: resolve MD022 and MD032 errors
mnaser Jun 27, 2025
10b77ca
Merge pull request #361 from stackhpc/update-readme
Sharpz7 Jun 27, 2025
f1d5079
Merge branch 'main' into bump-actions
Sharpz7 Jun 27, 2025
d006952
Update README.md
Sharpz7 Jun 27, 2025
a153e86
Update README.md
Sharpz7 Jun 27, 2025
ffdb465
Merge pull request #438 from stijzermans/bump-actions
Sharpz7 Jun 27, 2025
4fac266
Merge branch 'main' into main
Sharpz7 Jun 27, 2025
7200f40
Dependabot changes for go v1.22
Sharpz7 Jun 27, 2025
8355289
Merge pull request #464 from Sharpz7/dependabot-go-1-22
mnaser Jun 27, 2025
ac71020
Fixed Goreleaser
Sharpz7 Jun 27, 2025
17ca9df
Update ci.yaml
Sharpz7 Jun 27, 2025
bd27804
Fixing cannot unmarshal into big.int large network_ip_availabilities_…
May 19, 2025
0bd298e
Merge branch 'main' into limits_metrics
evkuzin Jul 3, 2025
da8de81
Honor "cert" and "key in "os-client-config"
Dmitry-Eremeev Jul 3, 2025
5d3ab12
Merge branch 'main' into issues/439
Sharpz7 Jul 16, 2025
f635bb8
Merge pull request #440 from Dmitry-Eremeev/issues/439
Sharpz7 Jul 16, 2025
61ea159
Merge branch 'main' into fix_large_available_ipv6
Sharpz7 Jul 16, 2025
c30f3c5
Fix version representation
Dmitry-Eremeev Jul 16, 2025
dd2d6ac
Merge branch 'main' into issues/240
Dmitry-Eremeev Jul 16, 2025
474022f
Merge pull request #441 from Dmitry-Eremeev/issues/240
Sharpz7 Jul 16, 2025
b859271
Merge branch 'main' into limits_metrics
Sharpz7 Jul 16, 2025
505b938
Merge branch 'main' into fix_large_available_ipv6
Sharpz7 Jul 16, 2025
330d11d
fix static check
evkuzin Jul 22, 2025
7d09e48
Update prometheus toolkit and its dependencies
Knalltuete5000 Apr 1, 2025
7f2fe92
Update glonagci configuration to version 2
Knalltuete5000 Apr 1, 2025
b0152af
chore(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.0
dependabot[bot] Aug 25, 2025
0b101ad
chore(deps): bump reviewdog/action-actionlint from 1.65.2 to 1.66.1
dependabot[bot] Aug 25, 2025
04b0598
Merge pull request #478 from openstack-exporter/dependabot/github_act…
mnaser Aug 25, 2025
639efa7
Merge pull request #477 from openstack-exporter/dependabot/go_modules…
mnaser Aug 25, 2025
a9f8f5c
Merge branch 'main' into fix_large_available_ipv6
Sharpz7 Sep 2, 2025
5b640b6
Merge branch 'main' into limits_metrics
Sharpz7 Sep 2, 2025
0d34fc7
Merge pull request #390 from evkuzin/limits_metrics
Sharpz7 Sep 3, 2025
5642f87
Merge branch 'main' into fix_large_available_ipv6
Sharpz7 Sep 3, 2025
2dab070
Merge branch 'main' into main
Sharpz7 Sep 3, 2025
009230e
Merge pull request #457 from err404r/main
Sharpz7 Sep 3, 2025
da13df3
Update cache tests
Sharpz7 Sep 3, 2025
ef84b93
Merge https://github.com/openstack-exporter/openstack-exporter into u…
Sharpz7 Sep 3, 2025
a871f9b
Merge branch 'main' into fix_large_available_ipv6
Sharpz7 Sep 3, 2025
917fea3
Merge pull request #437 from Knalltuete5000/update_deps
Sharpz7 Sep 3, 2025
3800483
Use CPU info instead of hypervisor list data
drencrom Sep 3, 2025
8515a92
Merge branch 'main' into vcpus-patch
niedbalski Sep 3, 2025
fd5ffd2
Merge pull request #466 from drencrom/vcpus-patch
Sharpz7 Sep 6, 2025
4e5daa4
add kingpin parser for server metadata mapping
vooon Oct 8, 2025
f561ff8
add flag --nova.metadata-extra-labels
vooon Oct 8, 2025
e1cf01e
add nova metadata mapping to exporter config
vooon Oct 8, 2025
d3d57bd
use nova metadata mapping in exporter
vooon Oct 8, 2025
d0d40e1
Move to go1.23
Sharpz7 Sep 17, 2025
b2d878b
Changing to also build the docker image in ci
Sharpz7 Sep 17, 2025
4e80f47
Merge branch 'main' into add-nova-metadata-mapping
niedbalski Oct 8, 2025
b1a616c
fix copilot findings
vooon Oct 8, 2025
4632368
revert to go1.23
vooon Oct 9, 2025
671dc46
Add network limits
JustHumanz Nov 6, 2024
1cfc4cb
Merge pull request #497 from EnDjeee/main
Sharpz7 Oct 30, 2025
e65c741
Merge branch 'main' into add-nova-metadata-mapping
Sharpz7 Oct 30, 2025
0f0cfa9
Merge https://github.com/openstack-exporter/openstack-exporter into f…
Sharpz7 Oct 30, 2025
a1dbc85
Add quota max metrics to Cinder exporter
Apr 16, 2025
37b82cb
Add quota max metrics to Cinder exporter with tests
Apr 17, 2025
cc23c26
Add quota max metrics to Cinder exporter with tests
Apr 17, 2025
18c4677
Add quota max metrics to Cinder exporter with tests
Apr 17, 2025
3dff743
Add quota max metrics to Cinder exporter with tests
Apr 17, 2025
1e5e36e
chore: bump ci components
stijzermans Apr 3, 2025
fd6b2e7
chore: adjust golangci syntax
stijzermans Apr 3, 2025
0102a88
✨ refactor: consolidate CI workflows and remove unused linting file
mnaser Jun 27, 2025
f34158d
✨ chore: add fail_level option to linting actions in CI workflow
mnaser Jun 27, 2025
0edd4d1
✨ chore: add filter_mode option to linting actions in CI workflow
mnaser Jun 27, 2025
b1ba634
✨ refactor: fix golangci-lint errors
mnaser Jun 27, 2025
35709cd
✨ refactor: remove unused import in manila.go
mnaser Jun 27, 2025
26b291c
✨ refactor: update deprecated metric handling and UUID generation
mnaser Jun 27, 2025
977ba50
✨ chore: add markdownlint configuration file with default settings
mnaser Jun 27, 2025
99d73a2
✨ docs: fix all MD040
mnaser Jun 27, 2025
57c4204
✨ chore: fix MD012
mnaser Jun 27, 2025
b6148bd
fix: resolve MD041 markdownlint error in CONTRIBUTORS.md
mnaser Jun 27, 2025
5d315fd
fix: resolve MD001 heading-increment errors
mnaser Jun 27, 2025
4c00c78
fix: resolve MD042 no-empty-links errors
mnaser Jun 27, 2025
dc5a1be
fix: resolve MD022 blanks-around-headings errors
mnaser Jun 27, 2025
d8d8e3a
fix: resolve MD031 blanks-around-fences errors
mnaser Jun 27, 2025
4c8bad9
fix: resolve MD004 ul-style errors
mnaser Jun 27, 2025
5263360
fix: resolve MD024 no-duplicate-heading errors
mnaser Jun 27, 2025
70eb4c3
fix: resolve MD034 no-bare-urls error
mnaser Jun 27, 2025
dc42fa6
fix: resolve MD022 and MD032 errors
mnaser Jun 27, 2025
c862ab4
Update README.md
MaxBed4d Apr 17, 2024
2f5bf5b
Update README.md
Sharpz7 Jun 27, 2025
380faa2
Update README.md
Sharpz7 Jun 27, 2025
3c66487
Dependabot changes for go v1.22
Sharpz7 Jun 27, 2025
0f81f03
Fixed Goreleaser
Sharpz7 Jun 27, 2025
133ca24
Update ci.yaml
Sharpz7 Jun 27, 2025
1385b34
add limit metrics
evkuzin Mar 4, 2025
20074cb
Fix version representation
Dmitry-Eremeev Jul 16, 2025
b0811c9
Honor "cert" and "key in "os-client-config"
Dmitry-Eremeev Jul 3, 2025
2233b02
fix static check
evkuzin Jul 22, 2025
6adc1c0
chore(deps): bump reviewdog/action-actionlint from 1.65.2 to 1.66.1
dependabot[bot] Aug 25, 2025
e2b0ae6
chore(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.0
dependabot[bot] Aug 25, 2025
03eca78
Use CPU info instead of hypervisor list data
drencrom Sep 3, 2025
b81b046
Update prometheus toolkit and its dependencies
Knalltuete5000 Apr 1, 2025
8911aed
Update glonagci configuration to version 2
Knalltuete5000 Apr 1, 2025
13980d5
Update cache tests
Sharpz7 Sep 3, 2025
0b63ca5
Move to go1.23
Sharpz7 Sep 17, 2025
2528fa1
Changing to also build the docker image in ci
Sharpz7 Sep 17, 2025
f579832
Add network limits
JustHumanz Nov 6, 2024
5f5315c
Merge branch 'main' into update-quota-logic
Harumper Oct 31, 2025
4c567d6
Merge pull request #493 from vooon/add-nova-metadata-mapping
Sharpz7 Nov 4, 2025
0999eb4
Merge branch 'main' into fix_large_available_ipv6
Sharpz7 Nov 4, 2025
d4ec2b6
fix: Update test fixtures mapping for Cinder quota metrics
Harumper Nov 4, 2025
9464d85
fix: Update test fixtures mapping for Cinder quota metrics
Harumper Nov 4, 2025
5da008c
Merge branch 'main' into update-quota-logic
Harumper Nov 4, 2025
49ec0de
fix: Clean up go.mod and resolve merge conflicts
Harumper Nov 4, 2025
b0529ee
Merge pull request #444 from Harumper/update-quota-logic
Sharpz7 Nov 12, 2025
31ec1d2
chore(deps): bump actions/checkout from 4 to 6
dependabot[bot] Nov 24, 2025
6885736
Merge branch 'main' into fix_large_available_ipv6
Sharpz7 Nov 24, 2025
7d63273
Merge pull request #447 from fnzv/fix_large_available_ipv6
Sharpz7 Nov 30, 2025
2b305f2
Merge branch 'main' into dependabot/github_actions/actions/checkout-6
Sharpz7 Dec 1, 2025
c3d47c3
Merge pull request #510 from openstack-exporter/dependabot/github_act…
Sharpz7 Dec 2, 2025
bc6847e
chore(deps): bump reviewdog/action-actionlint from 1.66.1 to 1.69.0
dependabot[bot] Dec 2, 2025
d18d2a8
Merge pull request #515 from openstack-exporter/dependabot/github_act…
Sharpz7 Dec 2, 2025
236e3ea
chore(deps): bump actions/cache from 4 to 5
dependabot[bot] Dec 15, 2025
1c368f2
Merge pull request #518 from openstack-exporter/dependabot/github_act…
Sharpz7 Jan 10, 2026
9a55c81
chore(deps): bump reviewdog/action-hadolint from 1.50.2 to 1.50.5
dependabot[bot] Jan 19, 2026
c298071
Merge pull request #528 from openstack-exporter/dependabot/github_act…
Sharpz7 Jan 21, 2026
22d952a
chore(deps): bump github.com/gophercloud/gophercloud/v2 from 2.7.0 to…
gabrielcocenza Feb 6, 2026
6b56712
Merge pull request #530 from gabrielcocenza/update-gophercloud
Sharpz7 Feb 17, 2026
5f2dafe
Add feature to get password from Vault (#413)
Dmitry-Eremeev Mar 3, 2026
a05dc63
Dependabot Grouped Changes (#482)
Sharpz7 Mar 3, 2026
323765d
chore(deps): bump github.com/hashicorp/go-retryablehttp
dependabot[bot] Mar 3, 2026
e64dc81
Added integration tests (#481)
Sharpz7 May 6, 2026
1390c74
Ironic Fixes in CI / moving more in line with Gophercloud (#551)
Sharpz7 May 6, 2026
16fb424
feat: consistent tenantID filter and listProjects only on no tenantID…
stijzermans May 6, 2026
7123314
chore(deps): bump the actions-deps group across 1 directory with 8 up…
dependabot[bot] May 7, 2026
3588a4a
Initialize exporters at startup to improve scrape performance (#450)
patrostkowski May 8, 2026
8c0a2cb
fix: fallback to user project listing from domain on 403 (#524)
melonlorrd May 12, 2026
faec08f
chore(deps): bump the actions-deps group with 4 updates (#555)
dependabot[bot] May 18, 2026
d196b52
use errgroup for recordset metrics (#507)
us0310306 May 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# These are supported funding model platforms
github: [niedbalski]
17 changes: 0 additions & 17 deletions .github/actionlint-matcher.json

This file was deleted.

10 changes: 9 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,16 @@ updates:
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
groups:
go-deps:
patterns:
- "*"
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
interval: "weekly"
groups:
actions-deps:
patterns:
- "*"
97 changes: 77 additions & 20 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: CI
name: ci

on:
push:
Expand All @@ -9,6 +9,53 @@ on:
workflow_dispatch:

jobs:
hadolint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: reviewdog/action-hadolint@921946a7ebaaf08ac72607bad67209f4e52b5407 # v1.50.5
with:
fail_level: any
filter_mode: nofilter

shellcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: reviewdog/action-shellcheck@4c07458293ac342d477251099501a718ae5ef86e # v1.32.0
with:
fail_level: any
filter_mode: nofilter

actionlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: reviewdog/action-actionlint@6fb7acc99f4a1008869fa8a0f09cfca740837d9d # v1.72.0
with:
fail_level: any
filter_mode: nofilter

markdownlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: reviewdog/action-markdownlint@3667398db9118d7e78f7a63d10e26ce454ba5f58 # v0.26.2
with:
fail_level: any
filter_mode: nofilter

golangci-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- uses: reviewdog/action-golangci-lint@c76cceaaab89abe74e649d2e34c6c9adc26662d2 # v2.10.0
with:
fail_level: any
filter_mode: nofilter

build:
name: Build and test
permissions:
Expand All @@ -17,31 +64,31 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Login to GitHub Container Registry
if: ${{ github.event_name != 'pull_request' }}
uses: docker/login-action@v2
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_PAT }}

- name: Set up QEMU
if: ${{ github.event_name != 'pull_request' }}
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v4

- name: Set up Docker Buildx
if: ${{ github.event_name != 'pull_request' }}
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v4

- name: Set up Go
uses: actions/setup-go@v3
uses: actions/setup-go@v6
with:
go-version: 1.19
go-version: 1.23

- name: Cache Go modules
uses: actions/cache@v3
uses: actions/cache@v5
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
Expand All @@ -50,12 +97,12 @@ jobs:

- name: Unit tests
run: |
go test -v -covermode=atomic -coverprofile=coverage.out ./...
mapfile -t packages < <(go list ./... | grep -v '/integration')
go test -v -covermode=atomic -coverprofile=coverage.out "${packages[@]}"

- name: Extract metadata from ghcr image
if: ${{ github.event_name != 'pull_request' }}
id: meta-github-image
uses: docker/metadata-action@v4
uses: docker/metadata-action@v6
with:
images: ghcr.io/${{ github.repository }}
tags: |
Expand All @@ -64,20 +111,30 @@ jobs:
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }}

- name: Build docker image
uses: docker/build-push-action@v3
if: ${{ github.event_name != 'pull_request' }}
uses: docker/build-push-action@v7
with:
context: .
platforms: linux/amd64, linux/arm64, linux/s390x
push: true
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta-github-image.outputs.tags }}
labels: ${{ steps.meta-github-image.outputs.labels }}

- name: Run Goreleaser
if: ${{ github.event_name != 'pull_request' }}
uses: goreleaser/goreleaser-action@v3
# This step runs ONLY when a tag is pushed
- name: Run GoReleaser (Tag Release)
if: contains(github.ref, 'refs/tags/')
uses: goreleaser/goreleaser-action@v7
with:
version: latest
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# This step runs on anything EXCEPT tags
- name: Run GoReleaser (Snapshot)
if: ${{ !contains(github.ref, 'refs/tags/') }}
uses: goreleaser/goreleaser-action@v7
with:
version: latest
args: release --rm-dist
args: release --snapshot --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
97 changes: 97 additions & 0 deletions .github/workflows/integration-baremetal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: integration-baremetal
on:
pull_request:
workflow_dispatch:

jobs:
integration-baremetal:
strategy:
fail-fast: false
matrix:
include:
- name: "master"
openstack_version: "master"
ubuntu_version: "24.04"

runs-on: ubuntu-${{ matrix.ubuntu_version }}
name: Deploy OpenStack ${{ matrix.name }} with Ironic and run baremetal acceptance tests
steps:
- name: Checkout Gophercloud
uses: actions/checkout@v6
with:
persist-credentials: false

# NOTE(Sharpz7): Should be reverted + tested before 2027-05-06
- name: Configure apt mirror and network retries
run: |
sudo sed -i 's#http://azure.archive.ubuntu.com/ubuntu#http://archive.ubuntu.com/ubuntu#g' /etc/apt/apt-mirrors.txt
sudo tee /etc/apt/apt.conf.d/99-ci-network-timeouts >/dev/null <<'EOF'
Acquire::Retries "5";
Acquire::http::Timeout "30";
Acquire::https::Timeout "30";
EOF

- name: Work around broken dnsmasq
run: sudo apt-get purge -y dnsmasq-base

- name: Deploy devstack
timeout-minutes: 120
uses: gophercloud/devstack-action@60ca1042045c0c9e3e001c64575d381654ffcba1 # v0.19
with:
branch: ${{ matrix.openstack_version }}
conf_overrides: |
enable_plugin ironic https://github.com/openstack/ironic ${{ matrix.openstack_version }}
FORCE_CONFIG_DRIVE=True
Q_AGENT=openvswitch
Q_ML2_TENANT_NETWORK_TYPE=vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch
DEFAULT_INSTANCE_TYPE=baremetal
OVERRIDE_PUBLIC_BRIDGE_MTU=1400
VIRT_DRIVER=ironic
BUILD_TIMEOUT=1800
SERVICE_TIMEOUT=90
GLANCE_LIMIT_IMAGE_SIZE_TOTAL=5000
Q_USE_SECGROUP=False
API_WORKERS=1
IRONIC_BAREMETAL_BASIC_OPS=False
IRONIC_BUILD_DEPLOY_RAMDISK=False
IRONIC_AUTOMATED_CLEAN_ENABLED=False
IRONIC_CALLBACK_TIMEOUT=600
IRONIC_DEPLOY_DRIVER=ipmi
IRONIC_INSPECTOR_BUILD_RAMDISK=False
IRONIC_RAMDISK_TYPE=tinyipa
IRONIC_TEMPEST_BUILD_TIMEOUT=720
IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False
IRONIC_VM_COUNT=1
IRONIC_VM_EPHEMERAL_DISK=1
IRONIC_VM_LOG_DIR=/opt/stack/new/ironic-bm-logs
IRONIC_VM_SPECS_RAM=1024
IRONIC_DEFAULT_DEPLOY_INTERFACE=direct
IRONIC_ENABLED_DEPLOY_INTERFACES=direct,fake
SWIFT_ENABLE_TEMPURLS=True
SWIFT_TEMPURL_KEY=secretkey
enabled_services: "ir-api,ir-cond,s-account,s-container,s-object,s-proxy,q-svc,q-agt,q-dhcp,q-l3,q-meta,-cinder,-c-sch,-c-api,-c-vol,-c-bak,-ovn,-ovn-controller,-ovn-northd,-q-ovn-metadata-agent,openstack-cli-server"

- name: Checkout go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: 'go.mod'
cache: true

- name: Run Openstack Integration Tests
run: ./script/integration-suites/baremetal
env:
DEVSTACK_PATH: ${{ github.workspace }}/devstack
PACKAGE: "./integration/..."
OS_BRANCH: ${{ matrix.openstack_version }}

- name: Generate logs on failure
run: ./script/collectlogs
if: failure()

- name: Upload logs artifacts on failure
if: failure()
uses: actions/upload-artifact@v7
with:
name: integration-baremetal-${{ matrix.name }}-${{ github.run_id }}
path: /tmp/devstack-logs/*
47 changes: 47 additions & 0 deletions .github/workflows/integration-compute.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: integration-compute
on:
pull_request:
workflow_dispatch:

jobs:
integration-compute:
strategy:
fail-fast: false
matrix:
include:
- name: "master"
openstack_version: "master"
ubuntu_version: "24.04"
additional_services: "openstack-cli-server"
runs-on: ubuntu-${{ matrix.ubuntu_version }}
name: Deploy OpenStack ${{ matrix.name }} with Nova and run compute integration tests
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Deploy devstack
uses: gophercloud/devstack-action@60ca1042045c0c9e3e001c64575d381654ffcba1
with:
branch: ${{ matrix.openstack_version }}
enabled_services: "${{ matrix.additional_services }}"
- name: Setup Go
uses: actions/setup-go@v6
with:
go-version: '^1.22'
- name: Display clouds.yaml configuration
run: |
echo "Contents of /etc/openstack/clouds.yaml:"
cat /etc/openstack/clouds.yaml || echo "File /etc/openstack/clouds.yaml not found"
- name: Run Openstack Integration Tests
run: bash ./script/integration-suites/compute
env:
DEVSTACK_PATH: ${{ github.workspace }}/devstack
OS_BRANCH: ${{ matrix.openstack_version }}
- name: Generate logs on failure
run: ./script/collectlogs
if: failure()
- name: Upload logs artifacts on failure
if: failure()
uses: actions/upload-artifact@v7
with:
name: integration-compute-${{ matrix.name }}-${{ github.run_id }}
path: /tmp/devstack-logs/*
47 changes: 47 additions & 0 deletions .github/workflows/integration-identity.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: integration-identity
on:
pull_request:
workflow_dispatch:

jobs:
integration-identity:
strategy:
fail-fast: false
matrix:
include:
- name: "master"
openstack_version: "master"
ubuntu_version: "24.04"
additional_services: "openstack-cli-server"
runs-on: ubuntu-${{ matrix.ubuntu_version }}
name: Deploy OpenStack ${{ matrix.name }} with Keystone and run identity integration tests
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Deploy devstack
uses: gophercloud/devstack-action@60ca1042045c0c9e3e001c64575d381654ffcba1
with:
branch: ${{ matrix.openstack_version }}
enabled_services: "${{ matrix.additional_services }}"
- name: Setup Go
uses: actions/setup-go@v6
with:
go-version: '^1.22'
- name: Display clouds.yaml configuration
run: |
echo "Contents of /etc/openstack/clouds.yaml:"
cat /etc/openstack/clouds.yaml || echo "File /etc/openstack/clouds.yaml not found"
- name: Run Openstack Integration Tests
run: bash ./script/integration-suites/identity
env:
DEVSTACK_PATH: ${{ github.workspace }}/devstack
OS_BRANCH: ${{ matrix.openstack_version }}
- name: Generate logs on failure
run: ./script/collectlogs
if: failure()
- name: Upload logs artifacts on failure
if: failure()
uses: actions/upload-artifact@v7
with:
name: integration-identity-${{ matrix.name }}-${{ github.run_id }}
path: /tmp/devstack-logs/*
Loading