Skip to content

Gophercloud v3 #3428

@mandre

Description

@mandre

We have merged a number of non-backward compatible changes since the release of v2, and we should consider cutting a new major release.

Just for reference, here's the output of go-apidiff between the tip of v2 and the tip of main:

❯ ~/dev/private/go-apidiff/go-apidiff 0497bccb1b6ea880736860e2b78c4ce77b919066 611b2a4727d9973d909d668590a53cc43333426a

github.com/gophercloud/gophercloud/v2/openstack/objectstorage/v1/containers/testing
  Incompatible changes:
  - HandleBulkDeleteSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleCreateContainerSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleDeleteContainerSuccessfully: changed from func(*testing.T, ...option) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer, ...option)
  - HandleGetContainerSuccessfully: changed from func(*testing.T, ...option) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer, ...option)
  - HandleListContainerInfoSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleListZeroContainerNames204: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleUpdateContainerSuccessfully: changed from func(*testing.T, ...option) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer, ...option)
  - HandleUpdateContainerVersioningOff: changed from func(*testing.T, ...option) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer, ...option)
  - HandleUpdateContainerVersioningOn: changed from func(*testing.T, ...option) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer, ...option)

github.com/gophercloud/gophercloud/v2/testhelper/client
  Incompatible changes:
  - ServiceClient: changed from func() *github.com/gophercloud/gophercloud/v2.ServiceClient to func(github.com/gophercloud/gophercloud/v2/testhelper.FakeServer) *github.com/gophercloud/gophercloud/v2.ServiceClient

github.com/gophercloud/gophercloud/v2/openstack/compute/v2/secgroups
  Incompatible changes:
  - UpdateOpts.Name: changed from string to *string

github.com/gophercloud/gophercloud/v2/openstack/compute/v2/aggregates
  Incompatible changes:
  - UpdateOpts.AvailabilityZone: changed from string to *string
  - UpdateOpts.Name: changed from string to *string

github.com/gophercloud/gophercloud/v2/openstack/compute/v2/keypairs
  Incompatible changes:
  - CreateOptsExt: removed

github.com/gophercloud/gophercloud/v2/openstack/networking/v2/common
  Incompatible changes:
  - ServiceClient: changed from func() *github.com/gophercloud/gophercloud/v2.ServiceClient to func(github.com/gophercloud/gophercloud/v2/testhelper.FakeServer) *github.com/gophercloud/gophercloud/v2.ServiceClient

github.com/gophercloud/gophercloud/v2/testhelper/fixture
  Incompatible changes:
  - SetupHandler: changed from func(*testing.T, string, string, string, string, int) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer, string, string, string, string, int)

github.com/gophercloud/gophercloud/v2/openstack/loadbalancer/v2/apiversions/testing
  Incompatible changes:
  - MockListResponse: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)

github.com/gophercloud/gophercloud/v2
  Incompatible changes:
  - DefaultUserAgent: value changed from "gophercloud/v2.7.0" to "gophercloud/v3.0.0-UNRELEASED"

github.com/gophercloud/gophercloud/v2/openstack/networking/v2/extensions/security/groups
  Incompatible changes:
  - List: changed from func(*github.com/gophercloud/gophercloud/v2.ServiceClient, ListOpts) github.com/gophercloud/gophercloud/v2/pagination.Pager to func(*github.com/gophercloud/gophercloud/v2.ServiceClient, ListOptsBuilder) github.com/gophercloud/gophercloud/v2/pagination.Pager

github.com/gophercloud/gophercloud/v2/openstack/loadbalancer/v2/flavorprofiles/testing
  Incompatible changes:
  - HandleFlavorProfileCreationSuccessfully: changed from func(*testing.T, string) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer, string)
  - HandleFlavorProfileDeletionSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleFlavorProfileGetSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleFlavorProfileListSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleFlavorProfileUpdateSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)

github.com/gophercloud/gophercloud/v2/openstack/loadbalancer/v2/flavors
  Incompatible changes:
  - CreateOpts.Enabled: changed from bool to *bool
  - UpdateOpts.Description: changed from string to *string
  - UpdateOpts.Enabled: changed from bool to *bool
  - UpdateOpts.Name: changed from string to *string

github.com/gophercloud/gophercloud/v2/openstack/compute/v2/hypervisors
  Incompatible changes:
  - HypervisorPage.SinglePageBase: removed

github.com/gophercloud/gophercloud/v2/openstack/blockstorage/v3/quotasets
  Incompatible changes:
  - QuotaUsageSet: old is comparable, new is not

github.com/gophercloud/gophercloud/v2/openstack/compute/v2/servers
  Incompatible changes:
  - UpdateOpts.AccessIPv4: changed from string to *string
  - UpdateOpts.AccessIPv6: changed from string to *string
  - UpdateOpts.Name: changed from string to *string

github.com/gophercloud/gophercloud/v2/openstack/loadbalancer/v2/testhelper
  Incompatible changes:
  - ServiceClient: changed from func() *github.com/gophercloud/gophercloud/v2.ServiceClient to func(github.com/gophercloud/gophercloud/v2/testhelper.FakeServer) *github.com/gophercloud/gophercloud/v2.ServiceClient

github.com/gophercloud/gophercloud/v2/openstack/objectstorage/v1/accounts/testing
  Incompatible changes:
  - HandleGetAccountNoQuotaSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleGetAccountSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleUpdateAccountSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)

github.com/gophercloud/gophercloud/v2/openstack/compute/v2/flavors
  Incompatible changes:
  - UpdateOpts.Description: changed from string to *string

github.com/gophercloud/gophercloud/v2/openstack/loadbalancer/v2/flavorprofiles
  Incompatible changes:
  - UpdateOpts.FlavorData: changed from string to *string
  - UpdateOpts.Name: changed from string to *string
  - UpdateOpts.ProviderName: changed from string to *string

github.com/gophercloud/gophercloud/v2/openstack/common/extensions/testing
  Incompatible changes:
  - HandleGetExtensionSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleListExtensionsSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)

github.com/gophercloud/gophercloud/v2/openstack/networking/v2/extensions/security/rules
  Incompatible changes:
  - CreateBulk: changed from func(context.Context, *github.com/gophercloud/gophercloud/v2.ServiceClient, []CreateOpts) CreateBulkResult to func(context.Context, *github.com/gophercloud/gophercloud/v2.ServiceClient, []createOpts) CreateBulkResult

github.com/gophercloud/gophercloud/v2/openstack/blockstorage/v2/quotasets
  Incompatible changes:
  - QuotaUsageSet: old is comparable, new is not

github.com/gophercloud/gophercloud/v2/testhelper
  Incompatible changes:
  - Endpoint: removed
  - Mux: removed
  - ServeFile: removed
  - Server: removed
  - SetupHTTP: changed from func() to func() FakeServer
  - SetupPersistentPortHTTP: changed from func(*testing.T, int) to func(*testing.T, int) FakeServer
  - TeardownHTTP: removed

github.com/gophercloud/gophercloud/v2/openstack/loadbalancer/v2/flavors/testing
  Incompatible changes:
  - HandleFlavorCreationSuccessfully: changed from func(*testing.T, string) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer, string)
  - HandleFlavorDeletionSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleFlavorGetSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleFlavorListSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleFlavorUpdateSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)

github.com/gophercloud/gophercloud/v2/openstack/baremetalintrospection/v1/introspection/testing
  Incompatible changes:
  - HandleAbortIntrospectionSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleGetIntrospectionDataSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleGetIntrospectionStatusSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleListIntrospectionsSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleReApplyIntrospectionSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)
  - HandleStartIntrospectionSuccessfully: changed from func(*testing.T) to func(*testing.T, github.com/gophercloud/gophercloud/v2/testhelper.FakeServer)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions