本文整理汇总了Golang中github.com/juju/core/instance.Id函数的典型用法代码示例。如果您正苦于以下问题:Golang Id函数的具体用法?Golang Id怎么用?Golang Id使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Id函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestDestroyContainer
func (s *KVMSuite) TestDestroyContainer(c *gc.C) {
instance := containertesting.CreateContainer(c, s.manager, "1/lxc/0")
err := s.manager.DestroyContainer(instance.Id())
c.Assert(err, gc.IsNil)
name := string(instance.Id())
// Check that the container dir is no longer in the container dir
c.Assert(filepath.Join(s.ContainerDir, name), jc.DoesNotExist)
// but instead, in the removed container dir
c.Assert(filepath.Join(s.RemovedDir, name), jc.IsDirectory)
}
示例2: TestMachineConfig
func (s *machineConfigSuite) TestMachineConfig(c *gc.C) {
addrs := []instance.Address{instance.NewAddress("1.2.3.4", instance.NetworkUnknown)}
hc := instance.MustParseHardware("mem=4G arch=amd64")
apiParams := params.AddMachineParams{
Jobs: []params.MachineJob{params.JobHostUnits},
InstanceId: instance.Id("1234"),
Nonce: "foo",
HardwareCharacteristics: hc,
Addrs: addrs,
}
machines, err := s.APIState.Client().AddMachines([]params.AddMachineParams{apiParams})
c.Assert(err, gc.IsNil)
c.Assert(len(machines), gc.Equals, 1)
machineId := machines[0].Machine
machineConfig, err := client.MachineConfig(s.State, machineId, apiParams.Nonce, "")
c.Assert(err, gc.IsNil)
envConfig, err := s.State.EnvironConfig()
c.Assert(err, gc.IsNil)
env, err := environs.New(envConfig)
c.Assert(err, gc.IsNil)
stateInfo, apiInfo, err := env.StateInfo()
c.Assert(err, gc.IsNil)
c.Check(machineConfig.StateInfo.Addrs, gc.DeepEquals, stateInfo.Addrs)
c.Check(machineConfig.APIInfo.Addrs, gc.DeepEquals, apiInfo.Addrs)
c.Assert(machineConfig.Tools.URL, gc.Not(gc.Equals), "")
}
示例3: TestString
func (s *instanceTest) TestString(c *gc.C) {
jsonValue := `{"hostname": "thethingintheplace", "system_id": "system_id", "test": "test"}`
obj := s.testMAASObject.TestServer.NewNode(jsonValue)
instance := &maasInstance{maasObject: &obj, environ: s.makeEnviron()}
hostname, err := instance.DNSName()
c.Assert(err, gc.IsNil)
expected := hostname + ":" + string(instance.Id())
c.Assert(fmt.Sprint(instance), gc.Equals, expected)
}
示例4: setUpSavedState
func (suite *StateSuite) setUpSavedState(c *gc.C, dataDir string) bootstrap.BootstrapState {
state := bootstrap.BootstrapState{
StateInstances: []instance.Id{instance.Id("an-instance-id")},
}
content, err := goyaml.Marshal(state)
c.Assert(err, gc.IsNil)
err = ioutil.WriteFile(filepath.Join(dataDir, bootstrap.StateFile), []byte(content), 0644)
c.Assert(err, gc.IsNil)
return state
}
示例5: TestStringWithoutHostname
func (s *instanceTest) TestStringWithoutHostname(c *gc.C) {
// For good measure, test what happens if we don't have a hostname.
jsonValue := `{"system_id": "system_id", "test": "test"}`
obj := s.testMAASObject.TestServer.NewNode(jsonValue)
instance := &maasInstance{maasObject: &obj, environ: s.makeEnviron()}
_, err := instance.DNSName()
c.Assert(err, gc.NotNil)
expected := fmt.Sprintf("<DNSName failed: %q>", err) + ":" + string(instance.Id())
c.Assert(fmt.Sprint(instance), gc.Equals, expected)
}
示例6: shutdownMachines
func shutdownMachines(manager container.Manager) func(*gc.C) {
return func(c *gc.C) {
instances, err := manager.ListContainers()
c.Assert(err, gc.IsNil)
for _, instance := range instances {
err := manager.DestroyContainer(instance.Id())
c.Check(err, gc.IsNil)
}
}
}
示例7: TestInstancesReturnsErrorIfPartialInstances
func (suite *environSuite) TestInstancesReturnsErrorIfPartialInstances(c *gc.C) {
known := suite.addNode(allocatedNode)
suite.addNode(`{"system_id": "test2"}`)
unknown := instance.Id("unknown systemID")
instances, err := suite.makeEnviron().Instances([]instance.Id{known, unknown})
c.Check(err, gc.Equals, environs.ErrPartialInstances)
c.Assert(instances, gc.HasLen, 2)
c.Check(instances[0].Id(), gc.Equals, known)
c.Check(instances[1], gc.IsNil)
}
示例8: expectStarted
func (s *lxcProvisionerSuite) expectStarted(c *gc.C, machine *state.Machine) string {
s.State.StartSync()
event := <-s.events
c.Assert(event.Action, gc.Equals, mock.Created)
event = <-s.events
c.Assert(event.Action, gc.Equals, mock.Started)
err := machine.Refresh()
c.Assert(err, gc.IsNil)
s.waitInstanceId(c, machine, instance.Id(event.InstanceId))
return event.InstanceId
}
示例9: TestInitializeEnvironment
func (s *BootstrapSuite) TestInitializeEnvironment(c *gc.C) {
hw := instance.MustParseHardware("arch=amd64 mem=8G")
machConf, cmd, err := s.initBootstrapCommand(c, nil, "--env-config", s.envcfg, "--instance-id", string(s.instanceId), "--hardware", hw.String())
c.Assert(err, gc.IsNil)
err = cmd.Run(nil)
c.Assert(err, gc.IsNil)
c.Assert(s.fakeEnsureMongo.dataDir, gc.Equals, s.dataDir)
c.Assert(s.fakeEnsureMongo.initiateCount, gc.Equals, 1)
c.Assert(s.fakeEnsureMongo.ensureCount, gc.Equals, 1)
c.Assert(s.fakeEnsureMongo.dataDir, gc.Equals, s.dataDir)
expectInfo, exists := machConf.StateServingInfo()
c.Assert(exists, jc.IsTrue)
c.Assert(expectInfo.SharedSecret, gc.Equals, "")
servingInfo := s.fakeEnsureMongo.info
c.Assert(len(servingInfo.SharedSecret), gc.Not(gc.Equals), 0)
servingInfo.SharedSecret = ""
c.Assert(servingInfo, jc.DeepEquals, expectInfo)
expectDialAddrs := []string{fmt.Sprintf("127.0.0.1:%d", expectInfo.StatePort)}
gotDialAddrs := s.fakeEnsureMongo.initiateParams.DialInfo.Addrs
c.Assert(gotDialAddrs, gc.DeepEquals, expectDialAddrs)
memberHost := fmt.Sprintf("%s:%d", s.bootstrapName, expectInfo.StatePort)
c.Assert(s.fakeEnsureMongo.initiateParams.MemberHostPort, gc.Equals, memberHost)
c.Assert(s.fakeEnsureMongo.initiateParams.User, gc.Equals, "")
c.Assert(s.fakeEnsureMongo.initiateParams.Password, gc.Equals, "")
st, err := state.Open(&state.Info{
Addrs: []string{testing.MgoServer.Addr()},
CACert: testing.CACert,
Password: testPasswordHash(),
}, state.DefaultDialOpts(), environs.NewStatePolicy())
c.Assert(err, gc.IsNil)
defer st.Close()
machines, err := st.AllMachines()
c.Assert(err, gc.IsNil)
c.Assert(machines, gc.HasLen, 1)
instid, err := machines[0].InstanceId()
c.Assert(err, gc.IsNil)
c.Assert(instid, gc.Equals, instance.Id(string(s.instanceId)))
stateHw, err := machines[0].HardwareCharacteristics()
c.Assert(err, gc.IsNil)
c.Assert(stateHw, gc.NotNil)
c.Assert(*stateHw, gc.DeepEquals, hw)
cons, err := st.EnvironConstraints()
c.Assert(err, gc.IsNil)
c.Assert(&cons, jc.Satisfies, constraints.IsEmpty)
}
示例10: TestMachineConfigNoArch
func (s *machineConfigSuite) TestMachineConfigNoArch(c *gc.C) {
apiParams := params.AddMachineParams{
Jobs: []params.MachineJob{params.JobHostUnits},
InstanceId: instance.Id("1234"),
Nonce: "foo",
}
machines, err := s.APIState.Client().AddMachines([]params.AddMachineParams{apiParams})
c.Assert(err, gc.IsNil)
c.Assert(len(machines), gc.Equals, 1)
_, err = client.MachineConfig(s.State, machines[0].Machine, apiParams.Nonce, "")
c.Assert(err, gc.ErrorMatches, fmt.Sprintf("arch is not set for %q", "machine-"+machines[0].Machine))
}
示例11: TestLoadStateIntegratesWithSaveState
func (suite *StateSuite) TestLoadStateIntegratesWithSaveState(c *gc.C) {
storage := suite.newStorage(c)
state := bootstrap.BootstrapState{
StateInstances: []instance.Id{instance.Id("an-instance-id")},
}
err := bootstrap.SaveState(storage, &state)
c.Assert(err, gc.IsNil)
storedState, err := bootstrap.LoadState(storage)
c.Assert(err, gc.IsNil)
c.Check(*storedState, gc.DeepEquals, state)
}
示例12: TestStartInstance
func (s *lxcBrokerSuite) TestStartInstance(c *gc.C) {
machineId := "1/lxc/0"
lxc := s.startInstance(c, machineId)
c.Assert(lxc.Id(), gc.Equals, instance.Id("juju-machine-1-lxc-0"))
c.Assert(s.lxcContainerDir(lxc), jc.IsDirectory)
s.assertInstances(c, lxc)
// Uses default network config
lxcConfContents, err := ioutil.ReadFile(filepath.Join(s.ContainerDir, string(lxc.Id()), "lxc.conf"))
c.Assert(err, gc.IsNil)
c.Assert(string(lxcConfContents), jc.Contains, "lxc.network.type = veth")
c.Assert(string(lxcConfContents), jc.Contains, "lxc.network.link = lxcbr0")
}
示例13: setupScenario
func (s *InstanceDistributorSuite) setupScenario(c *gc.C) {
// Assign a unit so we have a non-empty distribution group, and
// provision all instances so we have candidates.
unit, err := s.wordpress.AddUnit()
c.Assert(err, gc.IsNil)
err = unit.AssignToMachine(s.machines[0])
c.Assert(err, gc.IsNil)
for i, m := range s.machines {
instId := instance.Id(fmt.Sprintf("i-blah-%d", i))
err = m.SetProvisioned(instId, "fake-nonce", nil)
c.Assert(err, gc.IsNil)
}
}
示例14: checkStopSomeInstances
// checkStopSomeInstances checks that instancesToStop are stopped while instancesToKeep are not.
func (s *CommonProvisionerSuite) checkStopSomeInstances(c *gc.C,
instancesToStop []instance.Instance, instancesToKeep []instance.Instance) {
s.BackingState.StartSync()
instanceIdsToStop := set.NewStrings()
for _, instance := range instancesToStop {
instanceIdsToStop.Add(string(instance.Id()))
}
instanceIdsToKeep := set.NewStrings()
for _, instance := range instancesToKeep {
instanceIdsToKeep.Add(string(instance.Id()))
}
// Continue checking for stop instance calls until all the instances we
// are waiting on to finish, actually finish, or we time out.
for !instanceIdsToStop.IsEmpty() {
select {
case o := <-s.op:
switch o := o.(type) {
case dummy.OpStopInstances:
for _, id := range o.Ids {
instId := string(id)
instanceIdsToStop.Remove(instId)
if instanceIdsToKeep.Contains(instId) {
c.Errorf("provisioner unexpectedly stopped instance %s", instId)
}
}
default:
c.Fatalf("unexpected operation %#v", o)
return
}
case <-time.After(2 * time.Second):
c.Fatalf("provisioner did not stop an instance")
return
}
}
}
示例15: TestInstanceId
func (s *machineSuite) TestInstanceId(c *gc.C) {
// Add another, not provisioned machine to test
// CodeNotProvisioned.
newMachine, err := s.State.AddMachine("quantal", state.JobHostUnits)
c.Assert(err, gc.IsNil)
apiNewMachine, err := s.firewaller.Machine(newMachine.Tag())
c.Assert(err, gc.IsNil)
_, err = apiNewMachine.InstanceId()
c.Assert(err, gc.ErrorMatches, "machine 3 is not provisioned")
c.Assert(err, jc.Satisfies, params.IsCodeNotProvisioned)
instanceId, err := s.apiMachine.InstanceId()
c.Assert(err, gc.IsNil)
c.Assert(instanceId, gc.Equals, instance.Id("i-manager"))
}