openstack

package
v1.28.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 2, 2024 License: Apache-2.0 Imports: 68 Imported by: 115

Documentation

Index

Constants

View Source
const (
	TagNameEtcdClusterPrefix = "k8s.io/etcd/"
	TagNameRolePrefix        = "k8s.io/role/"
	TagClusterName           = "KubernetesCluster"
	TagRoleControlPlane      = "control-plane"
	TagRoleMaster            = "master"
	TagKopsInstanceGroup     = "KopsInstanceGroup"
	TagKopsNetwork           = "KopsNetwork"
	TagKopsName              = "KopsName"
	TagKopsRole              = "KopsRole"
	ResourceTypePort         = "ports"
	ResourceTypeNetwork      = "networks"
	ResourceTypeSubnet       = "subnets"
)
View Source
const (
	INSTANCE_GROUP_GENERATION = "ig_generation"
	CLUSTER_GENERATION        = "cluster_generation"
	OS_ANNOTATION             = "openstack.kops.io/"
	BOOT_FROM_VOLUME          = "osVolumeBoot"
	BOOT_VOLUME_SIZE          = "osVolumeSize"
	SERVER_GROUP_AFFINITY     = "serverGroupAffinity"
	ALLOWED_ADDRESS_PAIR      = "allowedAddressPair"
	SERVER_GROUP_NAME         = "serverGroupName"
)
View Source
const (
	// MetadataLatestPath is the path to the metadata on the config drive
	MetadataLatestPath string = "openstack/latest/meta_data.json"

	// MetadataID is the identifier for the metadata service
	MetadataID string = "metadataService"

	// MetadataLastestServiceURL points to the latest metadata of the metadata service
	MetadataLatestServiceURL string = "http://169.254.169.254/" + MetadataLatestPath

	// ConfigDriveID is the identifier for the config drive containing metadata
	ConfigDriveID string = "configDrive"

	// ConfigDriveLabel identifies the config drive by label on the OS
	ConfigDriveLabel string = "config-2"

	// DefaultMetadataSearchOrder defines the default order in which the metadata services are queried
	DefaultMetadataSearchOrder string = ConfigDriveID + ", " + MetadataID

	DiskByLabelPath string = "/dev/disk/by-label/"
)
View Source
const OpenstackAuthenticationTokenPrefix = "x-openstack-id "

Variables

This section is empty.

Functions

func GetServerFixedIP added in v1.15.1

func GetServerFixedIP(server *servers.Server, interfaceName string) (poolAddress string, err error)

func InstanceInClusterAndIG added in v1.28.2

func InstanceInClusterAndIG(instance servers.Server, clusterName string, instanceGroupName string) bool

InstanceInClusterAndIG checks if instance is in current cluster and instancegroup

func IsPortInUse added in v1.19.0

func IsPortInUse(err error) bool

func MakeCloudConfig added in v1.26.0

func MakeCloudConfig(osc *kops.OpenstackSpec) []string

func NewOpenstackAuthenticator added in v1.26.0

func NewOpenstackAuthenticator() (bootstrap.Authenticator, error)

func NewOpenstackVerifier added in v1.26.0

func NewOpenstackVerifier(opt *OpenStackVerifierOptions) (bootstrap.Verifier, error)

Types

type Address added in v1.15.1

type Address struct {
	IPType string `mapstructure:"OS-EXT-IPS:type"`
	Addr   string
}

type InstanceMetadata added in v1.26.0

type InstanceMetadata struct {
	Name             string    `json:"name"`
	UserMeta         *Metadata `json:"meta"`
	ProjectID        string    `json:"project_id"`
	AvailabilityZone string    `json:"availability_zone"`
	Hostname         string    `json:"hostname"`
	ServerID         string    `json:"uuid"`
}

func GetLocalMetadata added in v1.26.0

func GetLocalMetadata() (*InstanceMetadata, error)

GetLocalMetadata returns a local metadata for the server

type Metadata added in v1.26.0

type Metadata struct {
	// Matches openstack.TagClusterName
	ClusterName string `json:"KubernetesCluster"`
}

type MetadataService added in v1.26.0

type MetadataService struct {
	// contains filtered or unexported fields
}

type MockCloud added in v1.19.0

type MockCloud struct {
	MockCinderClient  *mockblockstorage.MockClient
	MockNeutronClient *mocknetworking.MockClient
	MockNovaClient    *mockcompute.MockClient
	MockDNSClient     *mockdns.MockClient
	MockLBClient      *mockloadbalancer.MockClient
	MockImageClient   *mockimage.MockClient
	// contains filtered or unexported fields
}

func BuildMockOpenstackCloud added in v1.19.0

func BuildMockOpenstackCloud(region string) *MockCloud

func InstallMockOpenstackCloud added in v1.19.0

func InstallMockOpenstackCloud(region string) *MockCloud

func (*MockCloud) AppendTag added in v1.19.0

func (c *MockCloud) AppendTag(resource string, id string, tag string) error

func (*MockCloud) AssociateToPool added in v1.19.0

func (c *MockCloud) AssociateToPool(server *servers.Server, poolID string, opts v2pools.CreateMemberOpts) (association *v2pools.Member, err error)

func (*MockCloud) AttachVolume added in v1.19.0

func (c *MockCloud) AttachVolume(serverID string, opts volumeattach.CreateOpts) (attachment *volumeattach.VolumeAttachment, err error)

func (*MockCloud) BlockStorageClient added in v1.19.0

func (c *MockCloud) BlockStorageClient() *gophercloud.ServiceClient

func (*MockCloud) ComputeClient added in v1.19.0

func (c *MockCloud) ComputeClient() *gophercloud.ServiceClient

func (*MockCloud) CreateInstance added in v1.19.0

func (c *MockCloud) CreateInstance(opt servers.CreateOptsBuilder, portID string) (*servers.Server, error)

func (*MockCloud) CreateKeypair added in v1.19.0

func (c *MockCloud) CreateKeypair(opt keypairs.CreateOptsBuilder) (*keypairs.KeyPair, error)

func (*MockCloud) CreateL3FloatingIP added in v1.19.0

func (c *MockCloud) CreateL3FloatingIP(opts l3floatingip.CreateOpts) (fip *l3floatingip.FloatingIP, err error)

func (*MockCloud) CreateLB added in v1.19.0

func (*MockCloud) CreateListener added in v1.19.0

func (c *MockCloud) CreateListener(opts listeners.CreateOpts) (listener *listeners.Listener, err error)

func (*MockCloud) CreateNetwork added in v1.19.0

func (c *MockCloud) CreateNetwork(opt networks.CreateOptsBuilder) (*networks.Network, error)

func (*MockCloud) CreatePool added in v1.19.0

func (c *MockCloud) CreatePool(opts v2pools.CreateOpts) (pool *v2pools.Pool, err error)

func (*MockCloud) CreatePoolMonitor added in v1.23.0

func (c *MockCloud) CreatePoolMonitor(opts monitors.CreateOpts) (*monitors.Monitor, error)

func (*MockCloud) CreatePort added in v1.19.0

func (c *MockCloud) CreatePort(opt ports.CreateOptsBuilder) (*ports.Port, error)

func (*MockCloud) CreateRouter added in v1.19.0

func (c *MockCloud) CreateRouter(opt routers.CreateOptsBuilder) (*routers.Router, error)

func (*MockCloud) CreateRouterInterface added in v1.19.0

func (c *MockCloud) CreateRouterInterface(routerID string, opt routers.AddInterfaceOptsBuilder) (*routers.InterfaceInfo, error)

func (*MockCloud) CreateSecurityGroup added in v1.19.0

func (c *MockCloud) CreateSecurityGroup(opt sg.CreateOptsBuilder) (*sg.SecGroup, error)

func (*MockCloud) CreateSecurityGroupRule added in v1.19.0

func (c *MockCloud) CreateSecurityGroupRule(opt sgr.CreateOptsBuilder) (*sgr.SecGroupRule, error)

func (*MockCloud) CreateServerGroup added in v1.19.0

func (c *MockCloud) CreateServerGroup(opt servergroups.CreateOptsBuilder) (*servergroups.ServerGroup, error)

func (*MockCloud) CreateSubnet added in v1.19.0

func (c *MockCloud) CreateSubnet(opt subnets.CreateOptsBuilder) (*subnets.Subnet, error)

func (*MockCloud) CreateVolume added in v1.19.0

func (c *MockCloud) CreateVolume(opt cinder.CreateOptsBuilder) (*cinder.Volume, error)

func (*MockCloud) DNS added in v1.19.0

func (c *MockCloud) DNS() (dnsprovider.Interface, error)

func (*MockCloud) DNSClient added in v1.19.0

func (c *MockCloud) DNSClient() *gophercloud.ServiceClient

func (*MockCloud) DefaultInstanceType added in v1.19.0

func (c *MockCloud) DefaultInstanceType(cluster *kops.Cluster, ig *kops.InstanceGroup) (string, error)

func (*MockCloud) DeleteDNSRecordset added in v1.27.0

func (c *MockCloud) DeleteDNSRecordset(zoneID string, rrsetID string) error

func (*MockCloud) DeleteFloatingIP added in v1.19.0

func (c *MockCloud) DeleteFloatingIP(id string) (err error)

func (*MockCloud) DeleteGroup added in v1.19.0

func (c *MockCloud) DeleteGroup(g *cloudinstances.CloudInstanceGroup) error

func (*MockCloud) DeleteInstance added in v1.19.0

func (c *MockCloud) DeleteInstance(i *cloudinstances.CloudInstance) error

func (*MockCloud) DeleteInstanceWithID added in v1.19.0

func (c *MockCloud) DeleteInstanceWithID(instanceID string) error

func (*MockCloud) DeleteKeyPair added in v1.19.0

func (c *MockCloud) DeleteKeyPair(name string) error

func (*MockCloud) DeleteL3FloatingIP added in v1.19.0

func (c *MockCloud) DeleteL3FloatingIP(id string) (err error)

func (*MockCloud) DeleteLB added in v1.19.0

func (c *MockCloud) DeleteLB(lbID string, opts loadbalancers.DeleteOpts) error

func (*MockCloud) DeleteListener added in v1.19.0

func (c *MockCloud) DeleteListener(listenerID string) error

func (*MockCloud) DeleteMonitor added in v1.19.0

func (c *MockCloud) DeleteMonitor(monitorID string) error

func (*MockCloud) DeleteNetwork added in v1.19.0

func (c *MockCloud) DeleteNetwork(networkID string) error

func (*MockCloud) DeletePool added in v1.19.0

func (c *MockCloud) DeletePool(poolID string) error

func (*MockCloud) DeletePort added in v1.19.0

func (c *MockCloud) DeletePort(portID string) error

func (*MockCloud) DeleteRouter added in v1.19.0

func (c *MockCloud) DeleteRouter(routerID string) error

func (*MockCloud) DeleteRouterInterface added in v1.19.0

func (c *MockCloud) DeleteRouterInterface(routerID string, opt routers.RemoveInterfaceOptsBuilder) error

func (*MockCloud) DeleteSecurityGroup added in v1.19.0

func (c *MockCloud) DeleteSecurityGroup(sgID string) error

func (*MockCloud) DeleteSecurityGroupRule added in v1.19.0

func (c *MockCloud) DeleteSecurityGroupRule(ruleID string) error

func (*MockCloud) DeleteServerGroup added in v1.19.0

func (c *MockCloud) DeleteServerGroup(groupID string) error

func (*MockCloud) DeleteSubnet added in v1.19.0

func (c *MockCloud) DeleteSubnet(subnetID string) error

func (*MockCloud) DeleteTag added in v1.19.0

func (c *MockCloud) DeleteTag(resource string, id string, tag string) error

func (*MockCloud) DeleteVolume added in v1.19.0

func (c *MockCloud) DeleteVolume(volumeID string) error

func (*MockCloud) DeregisterInstance added in v1.24.0

func (c *MockCloud) DeregisterInstance(i *cloudinstances.CloudInstance) error

func (*MockCloud) DetachInstance added in v1.19.0

func (c *MockCloud) DetachInstance(i *cloudinstances.CloudInstance) error

func (*MockCloud) FindClusterStatus added in v1.19.0

func (c *MockCloud) FindClusterStatus(cluster *kops.Cluster) (*kops.ClusterStatus, error)

func (*MockCloud) FindNetworkBySubnetID added in v1.19.0

func (c *MockCloud) FindNetworkBySubnetID(subnetID string) (*networks.Network, error)

func (*MockCloud) FindVPCInfo added in v1.19.0

func (c *MockCloud) FindVPCInfo(id string) (*fi.VPCInfo, error)

func (*MockCloud) GetApiIngressStatus added in v1.19.0

func (c *MockCloud) GetApiIngressStatus(cluster *kops.Cluster) ([]fi.ApiIngressStatus, error)

func (*MockCloud) GetCloudGroups added in v1.19.0

func (c *MockCloud) GetCloudGroups(cluster *kops.Cluster, instancegroups []*kops.InstanceGroup, warnUnmatched bool, nodes []v1.Node) (map[string]*cloudinstances.CloudInstanceGroup, error)

func (*MockCloud) GetCloudTags added in v1.19.0

func (c *MockCloud) GetCloudTags() map[string]string

func (*MockCloud) GetExternalNetwork added in v1.19.0

func (c *MockCloud) GetExternalNetwork() (net *networks.Network, err error)

func (*MockCloud) GetExternalSubnet added in v1.19.0

func (c *MockCloud) GetExternalSubnet() (subnet *subnets.Subnet, err error)

func (*MockCloud) GetFlavor added in v1.19.0

func (c *MockCloud) GetFlavor(name string) (*flavors.Flavor, error)

func (*MockCloud) GetImage added in v1.19.0

func (c *MockCloud) GetImage(name string) (*images.Image, error)

func (*MockCloud) GetInstance added in v1.19.0

func (c *MockCloud) GetInstance(id string) (*servers.Server, error)

func (*MockCloud) GetKeypair added in v1.19.0

func (c *MockCloud) GetKeypair(name string) (*keypairs.KeyPair, error)

func (*MockCloud) GetL3FloatingIP added in v1.19.0

func (c *MockCloud) GetL3FloatingIP(id string) (fip *l3floatingip.FloatingIP, err error)

func (*MockCloud) GetLB added in v1.19.0

func (c *MockCloud) GetLB(loadbalancerID string) (lb *loadbalancers.LoadBalancer, err error)

func (*MockCloud) GetLBFloatingSubnet added in v1.19.0

func (c *MockCloud) GetLBFloatingSubnet() (subnet *subnets.Subnet, err error)

func (*MockCloud) GetLBStats added in v1.24.0

func (c *MockCloud) GetLBStats(loadbalancerID string) (*loadbalancers.Stats, error)

func (*MockCloud) GetNetwork added in v1.19.0

func (c *MockCloud) GetNetwork(id string) (*networks.Network, error)

func (*MockCloud) GetPool added in v1.19.0

func (c *MockCloud) GetPool(poolID string) (pool *v2pools.Pool, err error)

func (*MockCloud) GetPoolMember added in v1.24.0

func (c *MockCloud) GetPoolMember(poolID string, memberID string) (member *v2pools.Member, err error)

func (*MockCloud) GetPort added in v1.19.0

func (c *MockCloud) GetPort(id string) (*ports.Port, error)

func (*MockCloud) GetStorageAZFromCompute added in v1.19.0

func (c *MockCloud) GetStorageAZFromCompute(computeAZ string) (*az.AvailabilityZone, error)

func (*MockCloud) GetSubnet added in v1.19.0

func (c *MockCloud) GetSubnet(subnetID string) (*subnets.Subnet, error)

func (*MockCloud) ImageClient added in v1.19.0

func (c *MockCloud) ImageClient() *gophercloud.ServiceClient

func (*MockCloud) ListAvailabilityZones added in v1.19.0

func (c *MockCloud) ListAvailabilityZones(serviceClient *gophercloud.ServiceClient) (azList []az.AvailabilityZone, err error)

func (*MockCloud) ListDNSRecordsets added in v1.19.0

func (c *MockCloud) ListDNSRecordsets(zoneID string, opt recordsets.ListOptsBuilder) ([]recordsets.RecordSet, error)

func (*MockCloud) ListDNSZones added in v1.19.0

func (c *MockCloud) ListDNSZones(opt zones.ListOptsBuilder) ([]zones.Zone, error)

func (*MockCloud) ListInstances added in v1.19.0

func (c *MockCloud) ListInstances(opt servers.ListOptsBuilder) ([]servers.Server, error)

func (*MockCloud) ListKeypairs added in v1.19.0

func (c *MockCloud) ListKeypairs() ([]keypairs.KeyPair, error)

func (*MockCloud) ListL3FloatingIPs added in v1.19.0

func (c *MockCloud) ListL3FloatingIPs(opts l3floatingip.ListOpts) (fips []l3floatingip.FloatingIP, err error)

func (*MockCloud) ListLBs added in v1.19.0

func (*MockCloud) ListListeners added in v1.19.0

func (c *MockCloud) ListListeners(opts listeners.ListOpts) (listenerList []listeners.Listener, err error)

func (*MockCloud) ListMonitors added in v1.19.0

func (c *MockCloud) ListMonitors(opts monitors.ListOpts) (monitorList []monitors.Monitor, err error)

func (*MockCloud) ListNetworks added in v1.19.0

func (c *MockCloud) ListNetworks(opt networks.ListOptsBuilder) ([]networks.Network, error)

func (*MockCloud) ListPoolMembers added in v1.24.0

func (c *MockCloud) ListPoolMembers(poolID string, opts v2pools.ListMembersOpts) ([]v2pools.Member, error)

func (*MockCloud) ListPools added in v1.19.0

func (c *MockCloud) ListPools(opts v2pools.ListOpts) (poolList []v2pools.Pool, err error)

func (*MockCloud) ListPorts added in v1.19.0

func (c *MockCloud) ListPorts(opt ports.ListOptsBuilder) ([]ports.Port, error)

func (*MockCloud) ListRouters added in v1.19.0

func (c *MockCloud) ListRouters(opt routers.ListOpts) ([]routers.Router, error)

func (*MockCloud) ListSecurityGroupRules added in v1.19.0

func (c *MockCloud) ListSecurityGroupRules(opt sgr.ListOpts) ([]sgr.SecGroupRule, error)

func (*MockCloud) ListSecurityGroups added in v1.19.0

func (c *MockCloud) ListSecurityGroups(opt sg.ListOpts) ([]sg.SecGroup, error)

func (*MockCloud) ListServerFloatingIPs added in v1.19.0

func (c *MockCloud) ListServerFloatingIPs(instanceID string) ([]*string, error)

func (*MockCloud) ListServerGroups added in v1.19.0

func (c *MockCloud) ListServerGroups(opts servergroups.ListOptsBuilder) ([]servergroups.ServerGroup, error)

func (*MockCloud) ListSubnets added in v1.19.0

func (c *MockCloud) ListSubnets(opt subnets.ListOptsBuilder) ([]subnets.Subnet, error)

func (*MockCloud) ListVolumes added in v1.19.0

func (c *MockCloud) ListVolumes(opt cinder.ListOptsBuilder) ([]cinder.Volume, error)

func (*MockCloud) LoadBalancerClient added in v1.19.0

func (c *MockCloud) LoadBalancerClient() *gophercloud.ServiceClient

func (*MockCloud) NetworkingClient added in v1.19.0

func (c *MockCloud) NetworkingClient() *gophercloud.ServiceClient

func (*MockCloud) ProviderID added in v1.19.0

func (c *MockCloud) ProviderID() kops.CloudProviderID

func (*MockCloud) Region added in v1.19.0

func (c *MockCloud) Region() string

func (*MockCloud) SetExternalNetwork added in v1.19.0

func (c *MockCloud) SetExternalNetwork(name *string)

func (*MockCloud) SetExternalSubnet added in v1.19.0

func (c *MockCloud) SetExternalSubnet(name *string)

func (*MockCloud) SetLBFloatingSubnet added in v1.19.0

func (c *MockCloud) SetLBFloatingSubnet(name *string)

func (*MockCloud) SetVolumeTags added in v1.19.0

func (c *MockCloud) SetVolumeTags(id string, tags map[string]string) error

func (*MockCloud) UpdateMemberInPool added in v1.24.0

func (c *MockCloud) UpdateMemberInPool(poolID string, memberID string, opts v2pools.UpdateMemberOptsBuilder) (*v2pools.Member, error)

func (*MockCloud) UpdatePort added in v1.19.0

func (c *MockCloud) UpdatePort(id string, opt ports.UpdateOptsBuilder) (*ports.Port, error)

func (*MockCloud) UseLoadBalancerVIPACL added in v1.21.3

func (c *MockCloud) UseLoadBalancerVIPACL() (bool, error)

func (*MockCloud) UseOctavia added in v1.19.0

func (c *MockCloud) UseOctavia() bool

func (*MockCloud) UseZones added in v1.19.0

func (c *MockCloud) UseZones(zones []string)

type OpenStackVerifierOptions added in v1.26.0

type OpenStackVerifierOptions struct {
}

type OpenstackAPITarget

type OpenstackAPITarget struct {
	Cloud OpenstackCloud
}

func NewOpenstackAPITarget

func NewOpenstackAPITarget(cloud OpenstackCloud) *OpenstackAPITarget

func (*OpenstackAPITarget) DefaultCheckExisting added in v1.26.0

func (t *OpenstackAPITarget) DefaultCheckExisting() bool

func (*OpenstackAPITarget) Finish

func (t *OpenstackAPITarget) Finish(taskMap map[string]fi.CloudupTask) error

func (*OpenstackAPITarget) ProcessDeletions

func (t *OpenstackAPITarget) ProcessDeletions() bool

type OpenstackCloud

type OpenstackCloud interface {
	fi.Cloud
	ComputeClient() *gophercloud.ServiceClient
	BlockStorageClient() *gophercloud.ServiceClient
	NetworkingClient() *gophercloud.ServiceClient
	LoadBalancerClient() *gophercloud.ServiceClient
	DNSClient() *gophercloud.ServiceClient
	ImageClient() *gophercloud.ServiceClient
	UseOctavia() bool
	UseZones([]string)

	// GetInstance will return a openstack server provided its ID
	GetInstance(id string) (*servers.Server, error)

	// ListInstances will return a slice of openstack servers provided list opts
	ListInstances(servers.ListOptsBuilder) ([]servers.Server, error)

	// CreateInstance will create an openstack server provided create opts
	CreateInstance(servers.CreateOptsBuilder, string) (*servers.Server, error)

	// DeleteInstanceWithID will delete instance
	DeleteInstanceWithID(instanceID string) error

	// SetVolumeTags will set the tags for the Cinder volume
	SetVolumeTags(id string, tags map[string]string) error

	// GetCloudTags will return the tags attached on cloud
	GetCloudTags() map[string]string

	// ListVolumes will return the Cinder volumes which match the options
	ListVolumes(opt cinder.ListOptsBuilder) ([]cinder.Volume, error)

	// CreateVolume will create a new Cinder Volume
	CreateVolume(opt cinder.CreateOptsBuilder) (*cinder.Volume, error)
	AttachVolume(serverID string, opt volumeattach.CreateOpts) (*volumeattach.VolumeAttachment, error)

	// DeleteVolume will delete volume
	DeleteVolume(volumeID string) error

	// ListSecurityGroups will return the Neutron security groups which match the options
	ListSecurityGroups(opt sg.ListOpts) ([]sg.SecGroup, error)

	// CreateSecurityGroup will create a new Neutron security group
	CreateSecurityGroup(opt sg.CreateOptsBuilder) (*sg.SecGroup, error)

	// DeleteSecurityGroup will delete securitygroup
	DeleteSecurityGroup(sgID string) error

	// DeleteSecurityGroupRule will delete securitygrouprule
	DeleteSecurityGroupRule(ruleID string) error

	// ListSecurityGroupRules will return the Neutron security group rules which match the options
	ListSecurityGroupRules(opt sgr.ListOpts) ([]sgr.SecGroupRule, error)

	// CreateSecurityGroupRule will create a new Neutron security group rule
	CreateSecurityGroupRule(opt sgr.CreateOptsBuilder) (*sgr.SecGroupRule, error)

	// GetNetwork will return the Neutron network which match the id
	GetNetwork(networkID string) (*networks.Network, error)

	// FindNetworkBySubnetID will return network
	FindNetworkBySubnetID(subnetID string) (*networks.Network, error)

	// GetSubnet returns subnet using subnet id
	GetSubnet(subnetID string) (*subnets.Subnet, error)

	// ListNetworks will return the Neutron networks which match the options
	ListNetworks(opt networks.ListOptsBuilder) ([]networks.Network, error)

	// GetExternalNetwork will return the Neutron networks with the router:external property
	GetExternalNetwork() (*networks.Network, error)

	// GetExternalSubnet will return the subnet for floatingip which is used in external router
	GetExternalSubnet() (*subnets.Subnet, error)

	// GetLBFloatingSubnet will return the subnet for floatingip which is used in lb
	GetLBFloatingSubnet() (*subnets.Subnet, error)

	// CreateNetwork will create a new Neutron network
	CreateNetwork(opt networks.CreateOptsBuilder) (*networks.Network, error)

	// DeleteNetwork will delete neutron network
	DeleteNetwork(networkID string) error

	// AppendTag appends tag to resource
	AppendTag(resource string, id string, tag string) error

	// DeleteTag removes tag from resource
	DeleteTag(resource string, id string, tag string) error

	// ListRouters will return the Neutron routers which match the options
	ListRouters(opt routers.ListOpts) ([]routers.Router, error)

	// CreateRouter will create a new Neutron router
	CreateRouter(opt routers.CreateOptsBuilder) (*routers.Router, error)

	// DeleteRouter will delete neutron router
	DeleteRouter(routerID string) error

	// DeleteSubnet will delete neutron subnet
	DeleteSubnet(subnetID string) error

	// ListSubnets will return the Neutron subnets which match the options
	ListSubnets(opt subnets.ListOptsBuilder) ([]subnets.Subnet, error)

	// CreateSubnet will create a new Neutron subnet
	CreateSubnet(opt subnets.CreateOptsBuilder) (*subnets.Subnet, error)

	// GetKeypair will return the Nova keypair
	GetKeypair(name string) (*keypairs.KeyPair, error)

	// ListKeypairs will return the all Nova keypairs
	ListKeypairs() ([]keypairs.KeyPair, error)

	// DeleteKeyPair will delete a Nova keypair
	DeleteKeyPair(name string) error

	// CreateKeypair will create a new Nova Keypair
	CreateKeypair(opt keypairs.CreateOptsBuilder) (*keypairs.KeyPair, error)
	CreatePort(opt ports.CreateOptsBuilder) (*ports.Port, error)

	// GetPort will return a Neutron port by ID
	GetPort(id string) (*ports.Port, error)

	// UpdatePort will update a Neutron port by ID and options
	UpdatePort(id string, opt ports.UpdateOptsBuilder) (*ports.Port, error)

	// ListPorts will return the Neutron ports which match the options
	ListPorts(opt ports.ListOptsBuilder) ([]ports.Port, error)

	// DeletePort will delete a neutron port
	DeletePort(portID string) error

	// CreateRouterInterface will create a new Neutron router interface
	CreateRouterInterface(routerID string, opt routers.AddInterfaceOptsBuilder) (*routers.InterfaceInfo, error)

	// DeleteRouterInterface will delete router interface from subnet
	DeleteRouterInterface(routerID string, opt routers.RemoveInterfaceOptsBuilder) error

	// CreateServerGroup will create a new server group.
	CreateServerGroup(opt servergroups.CreateOptsBuilder) (*servergroups.ServerGroup, error)

	// ListServerGroups will list available server groups
	ListServerGroups(opts servergroups.ListOptsBuilder) ([]servergroups.ServerGroup, error)

	// DeleteServerGroup will delete a nova server group
	DeleteServerGroup(groupID string) error

	// ListDNSZones will list available DNS zones
	ListDNSZones(opt zones.ListOptsBuilder) ([]zones.Zone, error)

	// ListDNSRecordsets will list the DNS recordsets for the given zone id
	ListDNSRecordsets(zoneID string, opt recordsets.ListOptsBuilder) ([]recordsets.RecordSet, error)
	DeleteDNSRecordset(zoneID string, rrsetID string) error

	GetLB(loadbalancerID string) (*loadbalancers.LoadBalancer, error)
	GetLBStats(loadbalancerID string) (*loadbalancers.Stats, error)
	CreateLB(opt loadbalancers.CreateOptsBuilder) (*loadbalancers.LoadBalancer, error)
	ListLBs(opt loadbalancers.ListOptsBuilder) ([]loadbalancers.LoadBalancer, error)
	UpdateMemberInPool(poolID string, memberID string, opts v2pools.UpdateMemberOptsBuilder) (*v2pools.Member, error)
	ListPoolMembers(poolID string, opts v2pools.ListMembersOpts) ([]v2pools.Member, error)

	// DeleteLB will delete loadbalancer
	DeleteLB(lbID string, opt loadbalancers.DeleteOpts) error

	// DefaultInstanceType determines a suitable instance type for the specified instance group
	DefaultInstanceType(cluster *kops.Cluster, ig *kops.InstanceGroup) (string, error)

	// Returns the availability zones for the service client passed (compute, volume, network)
	ListAvailabilityZones(serviceClient *gophercloud.ServiceClient) ([]az.AvailabilityZone, error)
	AssociateToPool(server *servers.Server, poolID string, opts v2pools.CreateMemberOpts) (*v2pools.Member, error)
	CreatePool(opts v2pools.CreateOpts) (*v2pools.Pool, error)
	CreatePoolMonitor(opts monitors.CreateOpts) (*monitors.Monitor, error)
	GetPool(poolID string) (*v2pools.Pool, error)
	GetPoolMember(poolID string, memberID string) (*v2pools.Member, error)
	ListPools(v2pools.ListOpts) ([]v2pools.Pool, error)

	// ListMonitors will list HealthMonitors matching the provided options
	ListMonitors(monitors.ListOpts) ([]monitors.Monitor, error)

	// DeleteMonitor will delete a Pool resources Health Monitor
	DeleteMonitor(monitorID string) error

	// DeletePool will delete loadbalancer pool
	DeletePool(poolID string) error
	ListListeners(opts listeners.ListOpts) ([]listeners.Listener, error)
	CreateListener(opts listeners.CreateOpts) (*listeners.Listener, error)

	// DeleteListener will delete loadbalancer listener
	DeleteListener(listenerID string) error
	GetStorageAZFromCompute(azName string) (*az.AvailabilityZone, error)
	GetL3FloatingIP(id string) (fip *l3floatingip.FloatingIP, err error)
	GetImage(name string) (i *images.Image, err error)
	GetFlavor(name string) (f *flavors.Flavor, err error)
	ListServerFloatingIPs(id string) ([]*string, error)
	ListL3FloatingIPs(opts l3floatingip.ListOpts) (fips []l3floatingip.FloatingIP, err error)
	CreateL3FloatingIP(opts l3floatingip.CreateOpts) (fip *l3floatingip.FloatingIP, err error)
	DeleteFloatingIP(id string) error
	DeleteL3FloatingIP(id string) error
	UseLoadBalancerVIPACL() (bool, error)
}

func NewOpenstackCloud

func NewOpenstackCloud(cluster *kops.Cluster, uagent string) (OpenstackCloud, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL