kubernetes/kops · error

error building openstack provider client: %v

Error message

error building openstack provider client: %v

What it means

Wraps a failure of openstack.NewClient(ao.IdentityEndpoint) in the Designate provider: a provider client for the Keystone identity endpoint could not be constructed, typically because the auth URL is malformed or empty.

Source

Thrown at dnsprovider/pkg/dnsprovider/providers/openstack/designate/designate.go:58

		return newDesignate(config)
	})
}

func newDesignate(_ io.Reader) (*Interface, error) {
	oc := vfs.OpenstackConfig{}
	region, err := oc.GetRegion()
	if err != nil {
		return nil, fmt.Errorf("error finding openstack region: %v", err)
	}

	ao, err := oc.GetCredential()
	if err != nil {
		return nil, err
	}

	provider, err := openstack.NewClient(ao.IdentityEndpoint)
	if err != nil {
		return nil, fmt.Errorf("error building openstack provider client: %v", err)
	}
	ua := gophercloud.UserAgent{}
	ua.Prepend("kops/designate")
	provider.UserAgent = ua
	klog.V(4).Infof("Using user-agent %s", ua.Join())

	tlsconfig := &tls.Config{}
	tlsconfig.InsecureSkipVerify = oc.GetInsecureSkipVerify()
	transport := &http.Transport{TLSClientConfig: tlsconfig}
	provider.HTTPClient = http.Client{
		Transport: transport,
	}

	klog.V(2).Info("authenticating to keystone")

	err = openstack.Authenticate(context.TODO(), provider, ao)
	if err != nil {
		return nil, fmt.Errorf("error building openstack authenticated client: %v", err)

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Set OS_AUTH_URL to a valid Keystone endpoint
  2. Check the auth URL syntax (including trailing /v3)
  3. Verify OpenStack credentials are configured
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at dnsprovider/pkg/dnsprovider/providers/openstack/designate/designate.go:58 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/a78d510762ff91aa. Report an issue: GitHub.