openstack

package
v2.2.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2018 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// DefaultSDConfig is the default OpenStack SD configuration.
	DefaultSDConfig = SDConfig{
		Port:            80,
		RefreshInterval: model.Duration(60 * time.Second),
	}
)

Functions

This section is empty.

Types

type Discovery

type Discovery interface {
	Run(ctx context.Context, ch chan<- []*targetgroup.Group)
	// contains filtered or unexported methods
}

Discovery periodically performs OpenStack-SD requests. It implements the Discoverer interface.

func NewDiscovery

func NewDiscovery(conf *SDConfig, l log.Logger) (Discovery, error)

NewDiscovery returns a new OpenStackDiscovery which periodically refreshes its targets.

type HypervisorDiscovery added in v1.8.0

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

HypervisorDiscovery discovers OpenStack hypervisors.

func NewHypervisorDiscovery added in v1.8.0

func NewHypervisorDiscovery(opts *gophercloud.AuthOptions,
	interval time.Duration, port int, region string, l log.Logger) *HypervisorDiscovery

NewHypervisorDiscovery returns a new hypervisor discovery.

func (*HypervisorDiscovery) Run added in v1.8.0

func (h *HypervisorDiscovery) Run(ctx context.Context, ch chan<- []*targetgroup.Group)

Run implements the Discoverer interface.

type InstanceDiscovery added in v1.8.0

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

InstanceDiscovery discovers OpenStack instances.

func NewInstanceDiscovery added in v1.8.0

func NewInstanceDiscovery(opts *gophercloud.AuthOptions,
	interval time.Duration, port int, region string, l log.Logger) *InstanceDiscovery

NewInstanceDiscovery returns a new instance discovery.

func (*InstanceDiscovery) Run added in v1.8.0

func (i *InstanceDiscovery) Run(ctx context.Context, ch chan<- []*targetgroup.Group)

Run implements the Discoverer interface.

type Role

type Role string

OpenStackRole is role of the target in OpenStack.

const (
	// OpenStack document reference
	// https://docs.openstack.org/nova/pike/admin/arch.html#hypervisors
	OpenStackRoleHypervisor Role = "hypervisor"
	// OpenStack document reference
	// https://docs.openstack.org/horizon/pike/user/launch-instances.html
	OpenStackRoleInstance Role = "instance"
)

The valid options for OpenStackRole.

func (*Role) UnmarshalYAML

func (c *Role) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML implements the yaml.Unmarshaler interface.

type SDConfig

type SDConfig struct {
	IdentityEndpoint string             `yaml:"identity_endpoint"`
	Username         string             `yaml:"username"`
	UserID           string             `yaml:"userid"`
	Password         config_util.Secret `yaml:"password"`
	ProjectName      string             `yaml:"project_name"`
	ProjectID        string             `yaml:"project_id"`
	DomainName       string             `yaml:"domain_name"`
	DomainID         string             `yaml:"domain_id"`
	Role             Role               `yaml:"role"`
	Region           string             `yaml:"region"`
	RefreshInterval  model.Duration     `yaml:"refresh_interval,omitempty"`
	Port             int                `yaml:"port"`

	// Catches all undefined fields and must be empty after parsing.
	XXX map[string]interface{} `yaml:",inline"`
}

SDConfig is the configuration for OpenStack based service discovery.

func (*SDConfig) UnmarshalYAML

func (c *SDConfig) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML implements the yaml.Unmarshaler interface.

type SDMock

type SDMock struct {
	Server *httptest.Server
	Mux    *http.ServeMux
	// contains filtered or unexported fields
}

SDMock is the interface for the OpenStack mock

func NewSDMock

func NewSDMock(t *testing.T) *SDMock

NewSDMock returns a new SDMock.

func (*SDMock) Endpoint

func (m *SDMock) Endpoint() string

Endpoint returns the URI to the mock server

func (*SDMock) HandleAuthSuccessfully

func (m *SDMock) HandleAuthSuccessfully()

HandleAuthSuccessfully mocks auth call

func (*SDMock) HandleFloatingIPListSuccessfully

func (m *SDMock) HandleFloatingIPListSuccessfully()

HandleFloatingIPListSuccessfully mocks floating ips call

func (*SDMock) HandleHypervisorListSuccessfully added in v1.8.0

func (m *SDMock) HandleHypervisorListSuccessfully()

HandleHypervisorListSuccessfully mocks os-hypervisors detail call

func (*SDMock) HandleServerListSuccessfully

func (m *SDMock) HandleServerListSuccessfully()

HandleServerListSuccessfully mocks server detail call

func (*SDMock) HandleVersionsSuccessfully

func (m *SDMock) HandleVersionsSuccessfully()

HandleVersionsSuccessfully mocks version call

func (*SDMock) Setup

func (m *SDMock) Setup()

Setup creates the mock server

func (*SDMock) ShutdownServer

func (m *SDMock) ShutdownServer()

ShutdownServer creates the mock server

Jump to

Keyboard shortcuts

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