openstack

package
v0.0.0-...-2608902 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2016 License: AGPL-3.0 Imports: 51 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CinderProviderType = storage.ProviderType("cinder")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthMode

type AuthMode string
const (
	AuthKeyPair  AuthMode = "keypair"
	AuthLegacy   AuthMode = "legacy"
	AuthUserPass AuthMode = "userpass"
)

type Environ

type Environ struct {
	common.SupportsUnitPlacementPolicy
	// contains filtered or unexported fields
}

func (*Environ) AllInstances

func (e *Environ) AllInstances() (insts []instance.Instance, err error)

func (*Environ) AvailabilityZones

func (e *Environ) AvailabilityZones() ([]common.AvailabilityZone, error)

AvailabilityZones returns a slice of availability zones.

func (*Environ) Bootstrap

func (*Environ) ClosePorts

func (e *Environ) ClosePorts(ports []network.PortRange) error

func (*Environ) Config

func (e *Environ) Config() *config.Config

func (*Environ) ConstraintsValidator

func (e *Environ) ConstraintsValidator() (constraints.Validator, error)

ConstraintsValidator is defined on the Environs interface.

func (*Environ) ControllerInstances

func (e *Environ) ControllerInstances() ([]instance.Id, error)

func (*Environ) Destroy

func (e *Environ) Destroy() error

func (*Environ) DistributeInstances

func (e *Environ) DistributeInstances(candidates, distributionGroup []instance.Id) ([]instance.Id, error)

DistributeInstances implements the state.InstanceDistributor policy.

func (*Environ) InstanceAvailabilityZoneNames

func (e *Environ) InstanceAvailabilityZoneNames(ids []instance.Id) ([]string, error)

InstanceAvailabilityZoneNames returns the availability zone names for each of the specified instances.

func (*Environ) Instances

func (e *Environ) Instances(ids []instance.Id) ([]instance.Instance, error)

func (*Environ) MaintainInstance

func (*Environ) MaintainInstance(args environs.StartInstanceParams) error

MaintainInstance is specified in the InstanceBroker interface.

func (*Environ) MetadataLookupParams

func (e *Environ) MetadataLookupParams(region string) (*simplestreams.MetadataLookupParams, error)

MetadataLookupParams returns parameters which are used to query simplestreams metadata.

func (*Environ) OpenPorts

func (e *Environ) OpenPorts(ports []network.PortRange) error

func (*Environ) Ports

func (e *Environ) Ports() ([]network.PortRange, error)

func (*Environ) PrecheckInstance

func (e *Environ) PrecheckInstance(series string, cons constraints.Value, placement string) error

PrecheckInstance is defined on the state.Prechecker interface.

func (*Environ) Provider

func (e *Environ) Provider() environs.EnvironProvider

func (*Environ) Region

func (e *Environ) Region() (simplestreams.CloudSpec, error)

Region is specified in the HasRegion interface.

func (*Environ) RunUpgradeStepsFor

func (e *Environ) RunUpgradeStepsFor(ver version.Number) error

RunUpgradeStepsFor implements provider.Upgradable

func (*Environ) SetConfig

func (e *Environ) SetConfig(cfg *config.Config) error

func (*Environ) StartInstance

StartInstance is specified in the InstanceBroker interface.

func (*Environ) StopInstances

func (e *Environ) StopInstances(ids ...instance.Id) error

func (*Environ) SupportedArchitectures

func (e *Environ) SupportedArchitectures() ([]string, error)

SupportedArchitectures is specified on the EnvironCapability interface.

func (*Environ) TagInstance

func (e *Environ) TagInstance(id instance.Id, tags map[string]string) error

TagInstance implements environs.InstanceTagger.

type EnvironProvider

type EnvironProvider struct {
	environs.ProviderCredentials
	Configurator      ProviderConfigurator
	FirewallerFactory FirewallerFactory
}

func (EnvironProvider) BootstrapConfig

func (p EnvironProvider) BootstrapConfig(args environs.BootstrapConfigParams) (*config.Config, error)

BootstrapConfig is specified in the EnvironProvider interface.

func (EnvironProvider) DetectRegions

func (EnvironProvider) DetectRegions() ([]cloud.Region, error)

DetectRegions implements environs.CloudRegionDetector.

func (EnvironProvider) MetadataLookupParams

func (p EnvironProvider) MetadataLookupParams(region string) (*simplestreams.MetadataLookupParams, error)

MetadataLookupParams returns parameters which are used to query image metadata to find matching image information.

func (EnvironProvider) Open

func (EnvironProvider) PrepareForBootstrap

func (p EnvironProvider) PrepareForBootstrap(
	ctx environs.BootstrapContext,
	cfg *config.Config,
) (environs.Environ, error)

PrepareForBootstrap is specified in the EnvironProvider interface.

func (EnvironProvider) PrepareForCreateEnvironment

func (p EnvironProvider) PrepareForCreateEnvironment(cfg *config.Config) (*config.Config, error)

PrepareForCreateEnvironment is specified in the EnvironProvider interface.

func (EnvironProvider) RestrictedConfigAttributes

func (p EnvironProvider) RestrictedConfigAttributes() []string

RestrictedConfigAttributes is specified in the EnvironProvider interface.

func (EnvironProvider) Schema

func (EnvironProvider) Schema() environschema.Fields

Schema returns the configuration schema for an environment.

func (EnvironProvider) SecretAttrs

func (p EnvironProvider) SecretAttrs(cfg *config.Config) (map[string]string, error)

func (EnvironProvider) Validate

func (p EnvironProvider) Validate(cfg, old *config.Config) (valid *config.Config, err error)

type Firewaller

type Firewaller interface {
	// OpenPorts opens the given port ranges for the whole environment.
	OpenPorts(ports []network.PortRange) error

	// ClosePorts closes the given port ranges for the whole environment.
	ClosePorts(ports []network.PortRange) error

	// Ports returns the port ranges opened for the whole environment.
	Ports() ([]network.PortRange, error)

	// Implementations shoud delete all global security groups.
	DeleteGlobalGroups() error

	// Implementations should return list of security groups, that belong to given instances.
	GetSecurityGroups(ids ...instance.Id) ([]string, error)

	// Implementations should set up initial security groups, if any.
	SetUpGroups(machineId string, apiPort int) ([]nova.SecurityGroup, error)

	// Set of initial networks, that should be added by default to all new instances.
	InitialNetworks() []nova.ServerNetworks

	// OpenInstancePorts opens the given port ranges for the specified  instance.
	OpenInstancePorts(inst instance.Instance, machineId string, ports []network.PortRange) error

	// CloseInstancePorts closes the given port ranges for the specified  instance.
	CloseInstancePorts(inst instance.Instance, machineId string, ports []network.PortRange) error

	// InstancePorts returns the port ranges opened for the specified  instance.
	InstancePorts(inst instance.Instance, machineId string) ([]network.PortRange, error)
}

Firewaller allows custom openstack provider behaviour. This is used in other providers that embed the openstack provider.

type FirewallerFactory

type FirewallerFactory interface {
	GetFirewaller(env environs.Environ) Firewaller
}

factory for obtaining firawaller object.

type OpenstackCredentials

type OpenstackCredentials struct{}

func (OpenstackCredentials) CredentialSchemas

func (OpenstackCredentials) CredentialSchemas() map[cloud.AuthType]cloud.CredentialSchema

CredentialSchemas is part of the environs.ProviderCredentials interface.

func (OpenstackCredentials) DetectCredentials

func (c OpenstackCredentials) DetectCredentials() (*cloud.CloudCredential, error)

DetectCredentials is part of the environs.ProviderCredentials interface.

type OpenstackRenderer

type OpenstackRenderer struct{}

func (OpenstackRenderer) Render

type ProviderConfigurator

type ProviderConfigurator interface {
	// GetConfigDefaults sets some configuration default values, if any
	GetConfigDefaults() schema.Defaults

	// This method allows to adjust defult RunServerOptions, before new server is actually created.
	ModifyRunServerOptions(options *nova.RunServerOpts)

	// This method provides default cloud config.
	// This config can be different for different providers.
	GetCloudConfig(args environs.StartInstanceParams) (cloudinit.CloudConfig, error)
}

This interface is added to allow to customize openstack provider behaviour. This is used in other providers, that embeds openstack provider.

Jump to

Keyboard shortcuts

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