Repository: gophercloud/gophercloud

Issue:
functional-baremetal tests being skipped.
https://github.com/gophercloud/gophercloud/actions/runs/14184943623/job/39738477648#step:8:924

I discovered fixed this in my work with openstack-exporter: https://github.com/Sharpz7/openstack-exporter/pull/1/files#diff-ab1a500087b42774d2491892f9aaead8dd1ccf03f42b7fdfb3553123b11a07a7R26

Basically, you need to set the Ironic Endpoint.

This issue covers fixing this small issue, as well as the potential tests-failures we get from software-decay effects. I am unsure how long this issue has been ongoing so that might be a little work, or a lot.

I will take this on, and have added it to my todo list :)

Discussion:

Solution patch:
diff --git a/.github/workflows/functional-baremetal.yaml b/.github/workflows/functional-baremetal.yaml
index ae0e40333..e95234847 100644
--- a/.github/workflows/functional-baremetal.yaml
+++ b/.github/workflows/functional-baremetal.yaml
@@ -25,7 +25,7 @@ jobs:
             additional_services: "openstack-cli-server"
           - name: "epoxy"
             openstack_version: "stable/2025.1"
-            ubuntu_version: "22.04"
+            ubuntu_version: "24.04"
             additional_services: "openstack-cli-server"
           - name: "dalmatian"
             openstack_version: "stable/2024.2"
@@ -63,7 +63,7 @@ jobs:
             GLANCE_LIMIT_IMAGE_SIZE_TOTAL=5000
             Q_USE_SECGROUP=False
             API_WORKERS=1
-            IRONIC_BAREMETAL_BASIC_OPS=True
+            IRONIC_BAREMETAL_BASIC_OPS=False
             IRONIC_BUILD_DEPLOY_RAMDISK=False
             IRONIC_AUTOMATED_CLEAN_ENABLED=False
             IRONIC_CALLBACK_TIMEOUT=600



Test patch:
diff --git a/internal/acceptance/openstack/baremetal/noauth/portgroups_test.go b/internal/acceptance/openstack/baremetal/noauth/portgroups_test.go
index c3ed33cd6..0ea05ed51 100644
--- a/internal/acceptance/openstack/baremetal/noauth/portgroups_test.go
+++ b/internal/acceptance/openstack/baremetal/noauth/portgroups_test.go
@@ -15,8 +15,9 @@ import (
 
 func TestPortGroupsCreateDestroy(t *testing.T) {
 	clients.RequireLong(t)
+	RequireIronicNoAuth(t)
 
-	client, err := clients.NewBareMetalV1Client()
+	client, err := clients.NewBareMetalV1NoAuthClient()
 	th.AssertNoErr(t, err)
 
 	// NOTE(sharpz7) - increased due to create fake node requiring it.
diff --git a/internal/acceptance/openstack/baremetal/v1/nodes_test.go b/internal/acceptance/openstack/baremetal/v1/nodes_test.go
index be48ee919..87030a72e 100644
--- a/internal/acceptance/openstack/baremetal/v1/nodes_test.go
+++ b/internal/acceptance/openstack/baremetal/v1/nodes_test.go
@@ -214,7 +214,7 @@ func TestNodesFirmwareInterface(t *testing.T) {
 }
 
 func TestNodesVirtualMedia(t *testing.T) {
-	clients.SkipReleasesBelow(t, "master") // 2024.1
+	clients.SkipReleasesBelow(t, "stable/2024.2")
 	clients.RequireLong(t)
 
 	client, err := clients.NewBareMetalV1Client()