Skip to content

Commit

Permalink
Merge pull request #2898 from shiftstack/prepare_v2
Browse files Browse the repository at this point in the history
Prepare v2.0.0-beta.1
  • Loading branch information
EmilienM committed Feb 8, 2024
2 parents 8555e80 + 1d22e6f commit bfed17c
Show file tree
Hide file tree
Showing 1,395 changed files with 3,997 additions and 3,907 deletions.
94 changes: 92 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
## v2 (unreleased)
## v2.0.0-beta.1

BREAKING CHANGES:

* **The minimum required Go version is now v1.21.6.**
* [GH-2821](https://github.com/gophercloud/gophercloud/pull/2821) Gophercloud now escapes container and object names in all `objects` and `containers` functions. If you were previously escaping names (with, for example: `url.PathEscape` or `url.QueryEscape`), then you should REMOVE that and pass the intended names to Gophercloud directly.
* [GH-2821](https://github.com/gophercloud/gophercloud/pull/2821) The `containers.ListOpts#Full` and `objects.ListOpts#Full` properties are REMOVED from the Gophercloud API. The reason for that is: plaintext listing is unfixably wrong and won't handle special characters reliably (i.e. `\n`).
* [GH-2821](https://github.com/gophercloud/gophercloud/pull/2821) Empty container names, container names containing a slash (`/`), and empty object names are now rejected in Gophercloud before any call to Swift.
Expand All @@ -10,10 +11,99 @@ BREAKING CHANGES:
* `v1.ErrEmptyContainerName`
* `v1.ErrEmptyObjectName`
* [GH-2821](https://github.com/gophercloud/gophercloud/pull/2821) In `objects.Copy`: the `destination` field (e.g. `objects.CopyOpts#Destination`) must be in the form `/container/object`: the function will reject a destination path if it doesn't start with a slash (`/`).
* [GH-2560](https://github.com/gophercloud/gophercloud/pull/2560) loadbalancer: Use CreateMemberOpts instead of BatchUpdateMemberOpts in PoolCreateOpts
* [GH-2886](https://github.com/gophercloud/gophercloud/pull/2886) ports: Fix value_specs implementation

New features and improvements:

* [GH-2821](https://github.com/gophercloud/gophercloud/pull/2821) Bugfix: it is now possible to successfuly call `objects.CreateTempURL` with a container name or object name containing the string `/v1/`.
* [GH-2486](https://github.com/gophercloud/gophercloud/pull/2486) Fix BareMetalV1 version
* [GH-2492](https://github.com/gophercloud/gophercloud/pull/2492) Add tags for loadbalancer l7policy and l7rule
* [GH-2560](https://github.com/gophercloud/gophercloud/pull/2560) loadbalancer: Use CreateMemberOpts instead of BatchUpdateMemberOpts in PoolCreateOpts
* [GH-2561](https://github.com/gophercloud/gophercloud/pull/2561) compute: add ext_specs to flavor
* [GH-2613](https://github.com/gophercloud/gophercloud/pull/2613) Migrate baremetal inventory to a common location
* [GH-2665](https://github.com/gophercloud/gophercloud/pull/2665) Cinder: Remove multiatttach request parameter
* [GH-2724](https://github.com/gophercloud/gophercloud/pull/2724) baremetal: introduce Node Inventory API
* [GH-2725](https://github.com/gophercloud/gophercloud/pull/2725) baremetal: finish moving common inventory bits
* [GH-2736](https://github.com/gophercloud/gophercloud/pull/2736) Composable templates
* [GH-2781](https://github.com/gophercloud/gophercloud/pull/2781) baremetal: support ironic native PluginData
* [GH-2791](https://github.com/gophercloud/gophercloud/pull/2791) Add microversion utilities
* [GH-2806](https://github.com/gophercloud/gophercloud/pull/2806) Fix list ports with multiple fixedip parameters
* [GH-2809](https://github.com/gophercloud/gophercloud/pull/2809) Remove code for CDN (poppy)
* [GH-2812](https://github.com/gophercloud/gophercloud/pull/2812) Revert "Fix baremetal jobs on Ubuntu 20.04"
* [GH-2821](https://github.com/gophercloud/gophercloud/pull/2821) objects: Escape names in Gophercloud
* [GH-2828](https://github.com/gophercloud/gophercloud/pull/2828) Octavia: Add tags to resources missing them
* [GH-2834](https://github.com/gophercloud/gophercloud/pull/2834) baremetal: implemented ParsedLLDP in the standard PluginData
* [GH-2866](https://github.com/gophercloud/gophercloud/pull/2866) loadbalancer additional_vips by snigle
* [GH-2881](https://github.com/gophercloud/gophercloud/pull/2881) Adding missing QoS field for router
* [GH-2883](https://github.com/gophercloud/gophercloud/pull/2883) Context-aware methods to ProviderClient and ServiceClient
* [GH-2892](https://github.com/gophercloud/gophercloud/pull/2892) Authenticate with a clouds.yaml

## v1.9.0 (2024-02-02)

New features and improvements:

* [GH-2884](https://github.com/gophercloud/gophercloud/pull/2884) [v1] Context-aware methods to ProviderClient and ServiceClient
* [GH-2887](https://github.com/gophercloud/gophercloud/pull/2887) [v1] Add support of Flavors and FlavorProfiles for Octavia
* [GH-2875](https://github.com/gophercloud/gophercloud/pull/2875) [v1] [db/v1/instance]: adding support for availability_zone for a db instance

CI changes:

* [GH-2856](https://github.com/gophercloud/gophercloud/pull/2856) [v1] Fix devstack install on EOL magnum branches
* [GH-2857](https://github.com/gophercloud/gophercloud/pull/2857) [v1] Fix networking acceptance tests
* [GH-2858](https://github.com/gophercloud/gophercloud/pull/2858) [v1] build(deps): bump actions/upload-artifact from 3 to 4
* [GH-2859](https://github.com/gophercloud/gophercloud/pull/2859) [v1] build(deps): bump github/codeql-action from 2 to 3

## v1.8.0 (2023-11-30)

New features and improvements:

* [GH-2800](https://github.com/gophercloud/gophercloud/pull/2800) [v1] Fix options initialization in ServiceClient.Request (fixes #2798)
* [GH-2823](https://github.com/gophercloud/gophercloud/pull/2823) [v1] Add more godoc to GuestFormat
* [GH-2826](https://github.com/gophercloud/gophercloud/pull/2826) Allow objects.CreateTempURL with names containing /v1/

CI changes:

* [GH-2802](https://github.com/gophercloud/gophercloud/pull/2802) [v1] Add job for bobcat stable/2023.2
* [GH-2819](https://github.com/gophercloud/gophercloud/pull/2819) [v1] Test files alongside code
* [GH-2814](https://github.com/gophercloud/gophercloud/pull/2814) Make fixtures part of tests
* [GH-2796](https://github.com/gophercloud/gophercloud/pull/2796) [v1] ci/unit: switch to coverallsapp/github-action
* [GH-2840](https://github.com/gophercloud/gophercloud/pull/2840) unit tests: Fix the installation of tools

## v1.7.0 (2023-09-22)

New features and improvements:

* [GH-2782](https://github.com/gophercloud/gophercloud/pull/2782) [v1] (manual clean backport) Add tag field to compute block_device_v2

CI changes:

* [GH-2760](https://github.com/gophercloud/gophercloud/pull/2760) [v1 backports] semver auto labels
* [GH-2775](https://github.com/gophercloud/gophercloud/pull/2775) [v1] Fix typos in comments
* [GH-2783](https://github.com/gophercloud/gophercloud/pull/2783) [v1] (clean manual backport) ci/functional: fix ubuntu version & add antelope
* [GH-2785](https://github.com/gophercloud/gophercloud/pull/2785) [v1] Acceptance: Handle numerical version names in version comparison helpers
* [GH-2787](https://github.com/gophercloud/gophercloud/pull/2787) backport-v1: fixes to semver label
* [GH-2788](https://github.com/gophercloud/gophercloud/pull/2788) [v1] Make acceptance tests internal


## v1.6.0 (2023-08-30)

New features and improvements:

* [GH-2712](https://github.com/gophercloud/gophercloud/pull/2712) [v1] README: minor change to test backport workflow
* [GH-2713](https://github.com/gophercloud/gophercloud/pull/2713) [v1] tests: run MultiAttach with a capable Cinder Type
* [GH-2714](https://github.com/gophercloud/gophercloud/pull/2714) [v1] Add CRUD support for encryption in volume v3 types
* [GH-2715](https://github.com/gophercloud/gophercloud/pull/2715) [v1] Add projectID to fwaas_v2 policy CreateOpts and ListOpts
* [GH-2716](https://github.com/gophercloud/gophercloud/pull/2716) [v1] Add projectID to fwaas_v2 CreateOpts
* [GH-2717](https://github.com/gophercloud/gophercloud/pull/2717) [v1] [manila]: add reset and force delete actions to a snapshot
* [GH-2718](https://github.com/gophercloud/gophercloud/pull/2718) [v1] [cinder]: add reset and force delete actions to volumes and snapshots
* [GH-2721](https://github.com/gophercloud/gophercloud/pull/2721) [v1] orchestration: Explicit error in optionsmap creation
* [GH-2723](https://github.com/gophercloud/gophercloud/pull/2723) [v1] Add conductor API to Baremetal V1
* [GH-2729](https://github.com/gophercloud/gophercloud/pull/2729) [v1] networking/v2/ports: allow list filter by security group

CI changes:

* [GH-2675](https://github.com/gophercloud/gophercloud/pull/2675) [v1][CI] Drop periodic jobs from stable branch
* [GH-2683](https://github.com/gophercloud/gophercloud/pull/2683) [v1] CI tweaks


## v1.5.0 (2023-06-21)
Expand Down
6 changes: 3 additions & 3 deletions auth_result.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ The following types satisfy this interface:
Usage example:
import (
"github.com/gophercloud/gophercloud"
tokens2 "github.com/gophercloud/gophercloud/openstack/identity/v2/tokens"
tokens3 "github.com/gophercloud/gophercloud/openstack/identity/v3/tokens"
"github.com/gophercloud/gophercloud/v2"
tokens2 "github.com/gophercloud/gophercloud/v2/openstack/identity/v2/tokens"
tokens3 "github.com/gophercloud/gophercloud/v2/openstack/identity/v3/tokens"
)
func GetAuthenticatedUserID(providerClient *gophercloud.ProviderClient) (string, error) {
Expand Down
4 changes: 2 additions & 2 deletions docs/contributor-tutorial/.template/requests.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package RESOURCE

import (
"github.com/gophercloud/gophercloud"
"github.com/gophercloud/gophercloud/pagination"
"github.com/gophercloud/gophercloud/v2"
"github.com/gophercloud/gophercloud/v2/pagination"
)

// ListOptsBuilder allows extensions to add additional parameters to
Expand Down
4 changes: 2 additions & 2 deletions docs/contributor-tutorial/.template/results.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package RESOURCE

import (
"github.com/gophercloud/gophercloud"
"github.com/gophercloud/gophercloud/pagination"
"github.com/gophercloud/gophercloud/v2"
"github.com/gophercloud/gophercloud/v2/pagination"
)

// RESOURCE represents...
Expand Down
6 changes: 3 additions & 3 deletions docs/contributor-tutorial/.template/testing/fixtures_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import (
"net/http"
"testing"

"github.com/gophercloud/gophercloud/openstack/service/vN/resources"
th "github.com/gophercloud/gophercloud/testhelper"
"github.com/gophercloud/gophercloud/testhelper/client"
"github.com/gophercloud/gophercloud/v2/openstack/service/vN/resources"
th "github.com/gophercloud/gophercloud/v2/testhelper"
"github.com/gophercloud/gophercloud/v2/testhelper/client"
)

// ListResult provides a single page of RESOURCE results.
Expand Down
8 changes: 4 additions & 4 deletions docs/contributor-tutorial/.template/testing/requests_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ package testing
import (
"testing"

"github.com/gophercloud/gophercloud/openstack/service/vN/resources"
"github.com/gophercloud/gophercloud/pagination"
th "github.com/gophercloud/gophercloud/testhelper"
"github.com/gophercloud/gophercloud/testhelper/client"
"github.com/gophercloud/gophercloud/v2/openstack/service/vN/resources"
"github.com/gophercloud/gophercloud/v2/pagination"
th "github.com/gophercloud/gophercloud/v2/testhelper"
"github.com/gophercloud/gophercloud/v2/testhelper/client"
)

func TestListResources(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion docs/contributor-tutorial/.template/urls.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package RESOURCE

import "github.com/gophercloud/gophercloud"
import "github.com/gophercloud/gophercloud/v2"

func listURL(client *gophercloud.ServiceClient) string {
return client.ServiceURL("resource")
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module github.com/gophercloud/gophercloud
module github.com/gophercloud/gophercloud/v2

go 1.21.6

Expand Down
10 changes: 5 additions & 5 deletions internal/acceptance/clients/clients.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ import (
"os"
"strings"

"github.com/gophercloud/gophercloud"
"github.com/gophercloud/gophercloud/openstack"
baremetalHTTPBasic "github.com/gophercloud/gophercloud/openstack/baremetal/httpbasic"
baremetalNoAuth "github.com/gophercloud/gophercloud/openstack/baremetal/noauth"
blockstorageNoAuth "github.com/gophercloud/gophercloud/openstack/blockstorage/noauth"
"github.com/gophercloud/gophercloud/v2"
"github.com/gophercloud/gophercloud/v2/openstack"
baremetalHTTPBasic "github.com/gophercloud/gophercloud/v2/openstack/baremetal/httpbasic"
baremetalNoAuth "github.com/gophercloud/gophercloud/v2/openstack/baremetal/noauth"
blockstorageNoAuth "github.com/gophercloud/gophercloud/v2/openstack/blockstorage/noauth"
)

// AcceptanceTestChoices contains image and flavor selections for use by the acceptance tests.
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/clients/testing/conditions_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"os"
"testing"

"github.com/gophercloud/gophercloud/internal/acceptance/clients"
"github.com/gophercloud/gophercloud/v2/internal/acceptance/clients"
)

func TestIsCurrentAbove(t *testing.T) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ package httpbasic
import (
"testing"

"github.com/gophercloud/gophercloud/internal/acceptance/clients"
v1 "github.com/gophercloud/gophercloud/internal/acceptance/openstack/baremetal/v1"
"github.com/gophercloud/gophercloud/openstack/baremetal/v1/allocations"
"github.com/gophercloud/gophercloud/pagination"
th "github.com/gophercloud/gophercloud/testhelper"
"github.com/gophercloud/gophercloud/v2/internal/acceptance/clients"
v1 "github.com/gophercloud/gophercloud/v2/internal/acceptance/openstack/baremetal/v1"
"github.com/gophercloud/gophercloud/v2/openstack/baremetal/v1/allocations"
"github.com/gophercloud/gophercloud/v2/pagination"
th "github.com/gophercloud/gophercloud/v2/testhelper"
)

func TestAllocationsCreateDestroy(t *testing.T) {
Expand Down
10 changes: 5 additions & 5 deletions internal/acceptance/openstack/baremetal/httpbasic/nodes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ package httpbasic
import (
"testing"

"github.com/gophercloud/gophercloud/internal/acceptance/clients"
v1 "github.com/gophercloud/gophercloud/internal/acceptance/openstack/baremetal/v1"
"github.com/gophercloud/gophercloud/openstack/baremetal/v1/nodes"
"github.com/gophercloud/gophercloud/pagination"
"github.com/gophercloud/gophercloud/v2/internal/acceptance/clients"
v1 "github.com/gophercloud/gophercloud/v2/internal/acceptance/openstack/baremetal/v1"
"github.com/gophercloud/gophercloud/v2/openstack/baremetal/v1/nodes"
"github.com/gophercloud/gophercloud/v2/pagination"

th "github.com/gophercloud/gophercloud/testhelper"
th "github.com/gophercloud/gophercloud/v2/testhelper"
)

func TestNodesCreateDestroy(t *testing.T) {
Expand Down
10 changes: 5 additions & 5 deletions internal/acceptance/openstack/baremetal/httpbasic/ports_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ package httpbasic
import (
"testing"

"github.com/gophercloud/gophercloud/internal/acceptance/clients"
v1 "github.com/gophercloud/gophercloud/internal/acceptance/openstack/baremetal/v1"
"github.com/gophercloud/gophercloud/openstack/baremetal/v1/ports"
"github.com/gophercloud/gophercloud/pagination"
"github.com/gophercloud/gophercloud/v2/internal/acceptance/clients"
v1 "github.com/gophercloud/gophercloud/v2/internal/acceptance/openstack/baremetal/v1"
"github.com/gophercloud/gophercloud/v2/openstack/baremetal/v1/ports"
"github.com/gophercloud/gophercloud/v2/pagination"

th "github.com/gophercloud/gophercloud/testhelper"
th "github.com/gophercloud/gophercloud/v2/testhelper"
)

func TestPortsCreateDestroy(t *testing.T) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ package noauth
import (
"testing"

"github.com/gophercloud/gophercloud/internal/acceptance/clients"
v1 "github.com/gophercloud/gophercloud/internal/acceptance/openstack/baremetal/v1"
"github.com/gophercloud/gophercloud/openstack/baremetal/v1/allocations"
"github.com/gophercloud/gophercloud/pagination"
th "github.com/gophercloud/gophercloud/testhelper"
"github.com/gophercloud/gophercloud/v2/internal/acceptance/clients"
v1 "github.com/gophercloud/gophercloud/v2/internal/acceptance/openstack/baremetal/v1"
"github.com/gophercloud/gophercloud/v2/openstack/baremetal/v1/allocations"
"github.com/gophercloud/gophercloud/v2/pagination"
th "github.com/gophercloud/gophercloud/v2/testhelper"
)

func TestAllocationsCreateDestroy(t *testing.T) {
Expand Down
10 changes: 5 additions & 5 deletions internal/acceptance/openstack/baremetal/noauth/nodes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ package noauth
import (
"testing"

"github.com/gophercloud/gophercloud/internal/acceptance/clients"
v1 "github.com/gophercloud/gophercloud/internal/acceptance/openstack/baremetal/v1"
"github.com/gophercloud/gophercloud/openstack/baremetal/v1/nodes"
"github.com/gophercloud/gophercloud/pagination"
"github.com/gophercloud/gophercloud/v2/internal/acceptance/clients"
v1 "github.com/gophercloud/gophercloud/v2/internal/acceptance/openstack/baremetal/v1"
"github.com/gophercloud/gophercloud/v2/openstack/baremetal/v1/nodes"
"github.com/gophercloud/gophercloud/v2/pagination"

th "github.com/gophercloud/gophercloud/testhelper"
th "github.com/gophercloud/gophercloud/v2/testhelper"
)

func TestNodesCreateDestroy(t *testing.T) {
Expand Down
10 changes: 5 additions & 5 deletions internal/acceptance/openstack/baremetal/noauth/ports_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ package noauth
import (
"testing"

"github.com/gophercloud/gophercloud/internal/acceptance/clients"
v1 "github.com/gophercloud/gophercloud/internal/acceptance/openstack/baremetal/v1"
"github.com/gophercloud/gophercloud/openstack/baremetal/v1/ports"
"github.com/gophercloud/gophercloud/pagination"
"github.com/gophercloud/gophercloud/v2/internal/acceptance/clients"
v1 "github.com/gophercloud/gophercloud/v2/internal/acceptance/openstack/baremetal/v1"
"github.com/gophercloud/gophercloud/v2/openstack/baremetal/v1/ports"
"github.com/gophercloud/gophercloud/v2/pagination"

th "github.com/gophercloud/gophercloud/testhelper"
th "github.com/gophercloud/gophercloud/v2/testhelper"
)

func TestPortsCreateDestroy(t *testing.T) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ package v1
import (
"testing"

"github.com/gophercloud/gophercloud/internal/acceptance/clients"
"github.com/gophercloud/gophercloud/openstack/baremetal/v1/allocations"
"github.com/gophercloud/gophercloud/pagination"
th "github.com/gophercloud/gophercloud/testhelper"
"github.com/gophercloud/gophercloud/v2/internal/acceptance/clients"
"github.com/gophercloud/gophercloud/v2/openstack/baremetal/v1/allocations"
"github.com/gophercloud/gophercloud/v2/pagination"
th "github.com/gophercloud/gophercloud/v2/testhelper"
)

func TestAllocationsCreateDestroy(t *testing.T) {
Expand Down
10 changes: 5 additions & 5 deletions internal/acceptance/openstack/baremetal/v1/baremetal.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ package v1
import (
"testing"

"github.com/gophercloud/gophercloud"
"github.com/gophercloud/gophercloud/internal/acceptance/tools"
"github.com/gophercloud/gophercloud/openstack/baremetal/v1/allocations"
"github.com/gophercloud/gophercloud/openstack/baremetal/v1/nodes"
"github.com/gophercloud/gophercloud/openstack/baremetal/v1/ports"
"github.com/gophercloud/gophercloud/v2"
"github.com/gophercloud/gophercloud/v2/internal/acceptance/tools"
"github.com/gophercloud/gophercloud/v2/openstack/baremetal/v1/allocations"
"github.com/gophercloud/gophercloud/v2/openstack/baremetal/v1/nodes"
"github.com/gophercloud/gophercloud/v2/openstack/baremetal/v1/ports"
)

// CreateNode creates a basic node with a randomly generated name.
Expand Down
10 changes: 5 additions & 5 deletions internal/acceptance/openstack/baremetal/v1/conductors_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ package v1
import (
"testing"

"github.com/gophercloud/gophercloud/internal/acceptance/clients"
"github.com/gophercloud/gophercloud/internal/acceptance/tools"
"github.com/gophercloud/gophercloud/openstack/baremetal/v1/conductors"
"github.com/gophercloud/gophercloud/pagination"
"github.com/gophercloud/gophercloud/v2/internal/acceptance/clients"
"github.com/gophercloud/gophercloud/v2/internal/acceptance/tools"
"github.com/gophercloud/gophercloud/v2/openstack/baremetal/v1/conductors"
"github.com/gophercloud/gophercloud/v2/pagination"

th "github.com/gophercloud/gophercloud/testhelper"
th "github.com/gophercloud/gophercloud/v2/testhelper"
)

func TestConductorsListAndGet(t *testing.T) {
Expand Down
8 changes: 4 additions & 4 deletions internal/acceptance/openstack/baremetal/v1/nodes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ package v1
import (
"testing"

"github.com/gophercloud/gophercloud/internal/acceptance/clients"
"github.com/gophercloud/gophercloud/openstack/baremetal/v1/nodes"
"github.com/gophercloud/gophercloud/pagination"
"github.com/gophercloud/gophercloud/v2/internal/acceptance/clients"
"github.com/gophercloud/gophercloud/v2/openstack/baremetal/v1/nodes"
"github.com/gophercloud/gophercloud/v2/pagination"

th "github.com/gophercloud/gophercloud/testhelper"
th "github.com/gophercloud/gophercloud/v2/testhelper"
)

func TestNodesCreateDestroy(t *testing.T) {
Expand Down
Loading

0 comments on commit bfed17c

Please sign in to comment.