Help us shape the future of Go! Take the 2026 Go Developer Survey

openstack

package
v1.7.2 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2018 License: Apache-2.0 Imports: 22 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

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

HypervisorDiscovery discovers OpenStack hypervisors.

func NewHypervisorDiscovery

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

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

Run implements the Discoverer interface.

type InstanceDiscovery

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

InstanceDiscovery discovers OpenStack instances.

func NewInstanceDiscovery

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

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

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