openstack

package
v1.24.2 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2022 License: Apache-2.0 Imports: 54 Imported by: 124

Documentation

Index

Constants

View Source
const (
	TagNameEtcdClusterPrefix = "k8s.io/etcd/"
	TagNameRolePrefix        = "k8s.io/role/"
	TagClusterName           = "KubernetesCluster"
	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"
)

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 IsPortInUse added in v1.19.0

func IsPortInUse(err error) bool

Types

type Address added in v1.15.1

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

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) 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 OpenstackAPITarget

type OpenstackAPITarget struct {
	Cloud OpenstackCloud
}

func NewOpenstackAPITarget

func NewOpenstackAPITarget(cloud OpenstackCloud) *OpenstackAPITarget

func (*OpenstackAPITarget) Finish

func (t *OpenstackAPITarget) Finish(taskMap map[string]fi.Task) 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)

	// ListExternalNetworks 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)
	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(tags map[string]string, spec *kops.ClusterSpec, uagent string) (OpenstackCloud, error)

Jump to

Keyboard shortcuts

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