kubernetes/kops · error

error finding openstack region: %v

Error message

error finding openstack region: %v

What it means

Wraps a failure of OpenstackConfig.GetRegion while initializing the Designate DNS provider: the OpenStack region could not be determined from environment/cloud-config, so provider construction stops before authentication.

Source

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

	"k8s.io/kops/util/pkg/vfs"
)

const (
	// ProviderName is the name of this DNS provider
	ProviderName = "openstack-designate"
)

func init() {
	dnsprovider.RegisterDNSProvider(ProviderName, func(config io.Reader) (dnsprovider.Interface, error) {
		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()

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Set OS_REGION_NAME in the environment
  2. Provide region via the OpenStack cloud config
  3. Verify the clouds.yaml if used
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at dnsprovider/pkg/dnsprovider/providers/openstack/designate/designate.go:48 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/82e82d9575c9d4a3. Report an issue: GitHub.