本文整理汇总了Golang中github.com/tsuru/tsuru/provision.Unit.Type方法的典型用法代码示例。如果您正苦于以下问题:Golang Unit.Type方法的具体用法?Golang Unit.Type怎么用?Golang Unit.Type使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/tsuru/tsuru/provision.Unit
的用法示例。
在下文中一共展示了Unit.Type方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestContainerAsUnit
func (s *S) TestContainerAsUnit(c *check.C) {
app := provisiontest.NewFakeApp("myapp", "python", 1)
expected := provision.Unit{
ID: "c-id",
AppName: "myapp",
Type: "python",
Ip: "192.168.50.4",
Status: provision.StatusBuilding,
ProcessName: "web",
Address: &url.URL{Scheme: "http", Host: "192.168.50.4:8080"},
}
container := Container{
ID: "c-id",
HostAddr: "192.168.50.4",
HostPort: "8080",
ProcessName: "web",
}
got := container.AsUnit(app)
c.Assert(got, check.DeepEquals, expected)
container.Type = "ruby"
container.Status = provision.StatusStarted.String()
got = container.AsUnit(app)
expected.Status = provision.StatusStarted
expected.Type = "ruby"
c.Assert(got, check.DeepEquals, expected)
}
示例2: collectStatus
func (p *JujuProvisioner) collectStatus() ([]provision.Unit, error) {
out, err := p.getOutput()
if err != nil {
return nil, err
}
var units []provision.Unit
for name, service := range out.Services {
for unitName, u := range service.Units {
machine := out.Machines[u.Machine]
unit := provision.Unit{
Name: unitName,
AppName: name,
Machine: u.Machine,
InstanceId: machine.InstanceID,
Ip: machine.IPAddress,
}
typeRegexp := regexp.MustCompile(`^(local:)?(\w+)/(\w+)-\d+$`)
matchs := typeRegexp.FindStringSubmatch(service.Charm)
if len(matchs) > 3 {
unit.Type = matchs[3]
}
unit.Status = unitStatus(machine, u, unit)
units = append(units, unit)
}
}
p.saveBootstrapMachine(out.Machines[0])
return units, err
}