Documentation ¶
Overview ¶
The dummy provider implements an environment provider for testing purposes, registered with environs under the name "dummy".
The configuration YAML for the testing environment must specify a "controller" property with a boolean value. If this is true, a controller will be started when the environment is bootstrapped.
The configuration data also accepts a "broken" property of type boolean. If this is non-empty, any operation after the environment has been opened will return the error "broken environment", and will also log that.
The DNS name of instances is the same as the Id, with ".dns" appended.
Index ¶
- Constants
- Variables
- func APIPort(p environs.EnvironProvider) int
- func Listen(c chan<- Operation)
- func PatchTransientErrorInjectionChannel(c chan error) func()
- func Reset(c *gc.C)
- func SampleCloudSpec() environscloudspec.CloudSpec
- func SampleConfig() testing.Attrs
- func SetInstanceAddresses(inst instances.Instance, addrs []corenetwork.ProviderAddress)
- func SetInstanceBroken(inst instances.Instance, methods ...string)
- func SetInstanceStatus(inst instances.Instance, status string)
- func SetSupportsRulesWithIPV6CIDRs(supports bool) bool
- func SetSupportsSpaceDiscovery(supports bool) bool
- func SetSupportsSpaces(supports bool) bool
- func StorageProviders() storage.ProviderRegistry
- type OpBootstrap
- type OpClosePorts
- type OpDestroy
- type OpFinalizeBootstrap
- type OpNetworkInterfaces
- type OpOpenPorts
- type OpPutFile
- type OpStartInstance
- type OpStopInstances
- type OpSubnets
- type Operation
Constants ¶
const BootstrapInstanceId = "localhost"
Variables ¶
var DataDir = ""
Override for testing - the data directory with which the state api server is initialised.
var LogDir = ""
Functions ¶
func APIPort ¶
func APIPort(p environs.EnvironProvider) int
APIPort returns the random api port used by the given provider instance.
func Listen ¶
func Listen(c chan<- Operation)
Listen directs subsequent operations on any dummy environment to channel c (if not nil).
func PatchTransientErrorInjectionChannel ¶
func PatchTransientErrorInjectionChannel(c chan error) func()
PatchTransientErrorInjectionChannel sets the transientInjectionError channel which can be used to inject errors into StartInstance for testing purposes The injected errors will use the string received on the channel and the instance's state will eventually go to error, while the received string will appear in the info field of the machine's status
func Reset ¶
Reset resets the entire dummy environment and forgets any registered operation listener. All opened environments after Reset will share the same underlying state.
func SampleCloudSpec ¶
func SampleCloudSpec() environscloudspec.CloudSpec
SampleCloudSpec returns an environscloudspec.CloudSpec that can be used to open a dummy Environ.
func SampleConfig ¶
SampleConfig() returns an environment configuration with all required attributes set.
func SetInstanceAddresses ¶
func SetInstanceAddresses(inst instances.Instance, addrs []corenetwork.ProviderAddress)
SetInstanceAddresses sets the addresses associated with the given dummy instance.
func SetInstanceBroken ¶
SetInstanceBroken marks the named methods of the instance as broken. Any previously broken methods not in the set will no longer be broken.
func SetInstanceStatus ¶
SetInstanceStatus sets the status associated with the given dummy instance.
func SetSupportsRulesWithIPV6CIDRs ¶
SetSupportsRulesWithIPV6CIDRs allows to toggle support for IPV6 CIDRs in firewall rules.
func SetSupportsSpaceDiscovery ¶
SetSupportsSpaceDiscovery allows to enable and disable SupportsSpaceDiscovery for tests.
func SetSupportsSpaces ¶
SetSupportsSpaces allows to enable and disable SupportsSpaces for tests.
func StorageProviders ¶
func StorageProviders() storage.ProviderRegistry
Types ¶
type OpBootstrap ¶
type OpBootstrap struct { Context environs.BootstrapContext Env string Args environs.BootstrapParams }
type OpClosePorts ¶
type OpFinalizeBootstrap ¶
type OpFinalizeBootstrap struct { Context environs.BootstrapContext Env string InstanceConfig *instancecfg.InstanceConfig }
type OpNetworkInterfaces ¶
type OpNetworkInterfaces struct { Env string InstanceId instance.Id Info corenetwork.InterfaceInfos }
type OpOpenPorts ¶
type OpStartInstance ¶
type OpStartInstance struct { Env string MachineId string MachineNonce string PossibleTools coretools.List Instance instances.Instance Constraints constraints.Value SubnetsToZones map[corenetwork.Id][]string NetworkInfo corenetwork.InterfaceInfos RootDisk *storage.VolumeParams Volumes []storage.Volume VolumeAttachments []storage.VolumeAttachment Jobs []model.MachineJob APIInfo *api.Info Secret string AgentEnvironment map[string]string }
type OpStopInstances ¶
type OpSubnets ¶
type OpSubnets struct { Env string InstanceId instance.Id SubnetIds []corenetwork.Id Info []corenetwork.SubnetInfo }