本文整理汇总了Golang中github.com/eris-ltd/eris-cli/util.AutoMagic函数的典型用法代码示例。如果您正苦于以下问题:Golang AutoMagic函数的具体用法?Golang AutoMagic怎么用?Golang AutoMagic使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了AutoMagic函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: LoadChainDefinition
// viper read config file, marshal to definition struct,
// load service, validate name and data container
func LoadChainDefinition(chainName string, newCont bool, cNum ...int) (*definitions.Chain, error) {
if len(cNum) == 0 {
cNum = append(cNum, 0)
}
if cNum[0] == 0 {
cNum[0] = util.AutoMagic(0, "chain", newCont)
logger.Debugf("Loading Chain Definition =>\t%s:%d (autoassigned)\n", chainName, cNum[0])
} else {
logger.Debugf("Loading Chain Definition =>\t%s:%d\n", chainName, cNum[0])
}
chain := definitions.BlankChain()
chain.Name = chainName
chain.Operations.ContainerNumber = cNum[0]
setChainDefaults(chain)
chainConf, err := loadChainDefinition(chainName)
if err != nil {
return nil, err
}
// marshal chain and always reset the operational requirements
// this will make sure to sync with docker so that if changes
// have occured in the interim they are caught.
if err = MarshalChainDefinition(chainConf, chain); err != nil {
return nil, err
}
checkChainNames(chain)
logger.Debugf("Chain Loader. ContNumber =>\t%d\n", chain.Operations.ContainerNumber)
logger.Debugf("\twith Environment =>\t%v\n", chain.Service.Environment)
return chain, nil
}
开发者ID:slowtokyo,项目名称:eris-cli,代码行数:36,代码来源:chains.go
示例2: TestStartService
func TestStartService(t *testing.T) {
do := def.NowDo()
do.Args = []string{servName}
do.Operations.ContainerNumber = util.AutoMagic(0, "service", true)
logger.Debugf("Starting service (via tests) =>\t%s:%d\n", servName, do.Operations.ContainerNumber)
e := StartService(do)
if e != nil {
logger.Infof("Error starting service =>\t%v\n", e)
t.Fail()
}
testExistAndRun(t, servName, 1, true, true)
testNumbersExistAndRun(t, servName, 1, 1)
}
开发者ID:slowtokyo,项目名称:eris-cli,代码行数:14,代码来源:services_test.go
示例3: LoadChainDefinition
// viper read config file, marshal to definition struct,
// load service, validate name and data container
func LoadChainDefinition(chainName string, newCont bool, cNum ...int) (*definitions.Chain, error) {
if len(cNum) == 0 {
cNum = append(cNum, 0)
}
if cNum[0] == 0 {
cNum[0] = util.AutoMagic(0, definitions.TypeChain, newCont)
log.WithField("=>", fmt.Sprintf("%s:%d", chainName, cNum[0])).Debug("Loading chain definition (autoassigned)")
} else {
log.WithField("=>", fmt.Sprintf("%s:%d", chainName, cNum[0])).Debug("Loading chain definition")
}
chain := definitions.BlankChain()
chain.Name = chainName
chain.Operations.ContainerNumber = cNum[0]
chain.Operations.ContainerType = definitions.TypeChain
chain.Operations.Labels = util.Labels(chain.Name, chain.Operations)
if err := setChainDefaults(chain); err != nil {
return nil, err
}
chainConf, err := config.LoadViperConfig(filepath.Join(ChainsPath), chainName, "chain")
if err != nil {
return nil, err
}
// marshal chain and always reset the operational requirements
// this will make sure to sync with docker so that if changes
// have occured in the interim they are caught.
if err = MarshalChainDefinition(chainConf, chain); err != nil {
return nil, err
}
// Docker 1.6 (which eris doesn't support) had different linking mechanism.
if ver, _ := util.DockerClientVersion(); ver >= version.DVER_MIN {
if chain.Dependencies != nil {
addDependencyVolumesAndLinks(chain.Dependencies, chain.Service, chain.Operations)
}
}
checkChainNames(chain)
log.WithFields(log.Fields{
"container number": chain.Operations.ContainerNumber,
"environment": chain.Service.Environment,
"entrypoint": chain.Service.EntryPoint,
"cmd": chain.Service.Command,
}).Debug("Chain definition loaded")
return chain, nil
}
开发者ID:antonylewis,项目名称:eris-cli,代码行数:51,代码来源:chains.go
示例4: MockServiceDefinition
func MockServiceDefinition(servName string, newCont bool, cNum ...int) *definitions.ServiceDefinition {
srv := definitions.BlankServiceDefinition()
srv.Name = servName
if len(cNum) == 0 {
srv.Operations.ContainerNumber = util.AutoMagic(cNum[0], "service", newCont)
logger.Debugf("Mocking Service Definition =>\t%s:%d (autoassigned)\n", servName, cNum[0])
} else {
srv.Operations.ContainerNumber = cNum[0]
logger.Debugf("Mocking Service Definition =>\t%s:%d\n", servName, cNum[0])
}
ServiceFinalizeLoad(srv)
return srv
}
开发者ID:kustomzone,项目名称:eris-cli,代码行数:15,代码来源:services.go
示例5: MockChainDefinition
func MockChainDefinition(chainName, chainID string, newCont bool, cNum ...int) *definitions.Chain {
chn := definitions.BlankChain()
chn.Name = chainName
chn.ChainID = chainID
chn.Service.AutoData = true
if len(cNum) == 0 {
chn.Operations.ContainerNumber = util.AutoMagic(cNum[0], "chain", newCont)
logger.Debugf("Mocking Chain Definition =>\t%s:%d (autoassigned)\n", chainName, cNum[0])
} else {
chn.Operations.ContainerNumber = cNum[0]
logger.Debugf("Mocking Chain Definition =>\t%s:%d\n", chainName, cNum[0])
}
checkChainNames(chn)
return chn
}
开发者ID:slowtokyo,项目名称:eris-cli,代码行数:17,代码来源:chains.go
示例6: MockServiceDefinition
func MockServiceDefinition(servName string, newCont bool, cNum ...int) *definitions.ServiceDefinition {
srv := definitions.BlankServiceDefinition()
srv.Name = servName
if len(cNum) == 0 {
srv.Operations.ContainerNumber = util.AutoMagic(cNum[0], definitions.TypeService, newCont)
log.WithField("=>", fmt.Sprintf("%s:%d", servName, cNum[0])).Debug("Mocking service definition (autoassigned)")
} else {
srv.Operations.ContainerNumber = cNum[0]
log.WithField("=>", fmt.Sprintf("%s:%d", servName, cNum[0])).Debug("Mocking service definition")
}
srv.Operations.ContainerType = definitions.TypeService
srv.Operations.Labels = util.Labels(servName, srv.Operations)
ServiceFinalizeLoad(srv)
return srv
}
开发者ID:mxjxn,项目名称:eris-cli,代码行数:18,代码来源:services.go
示例7: LoadChainDefinition
// viper read config file, marshal to definition struct,
// load service, validate name and data container
func LoadChainDefinition(chainName string, newCont bool, cNum ...int) (*definitions.Chain, error) {
if len(cNum) == 0 {
cNum = append(cNum, 0)
}
if cNum[0] == 0 {
cNum[0] = util.AutoMagic(0, "chain", newCont)
logger.Debugf("Loading Chain Definition =>\t%s:%d (autoassigned)\n", chainName, cNum[0])
} else {
logger.Debugf("Loading Chain Definition =>\t%s:%d\n", chainName, cNum[0])
}
chain := definitions.BlankChain()
chain.Name = chainName
chain.Operations.ContainerNumber = cNum[0]
if err := setChainDefaults(chain); err != nil {
return nil, err
}
chainConf, err := config.LoadViperConfig(path.Join(BlockchainsPath), chainName, "chain")
if err != nil {
return nil, err
}
// marshal chain and always reset the operational requirements
// this will make sure to sync with docker so that if changes
// have occured in the interim they are caught.
if err = MarshalChainDefinition(chainConf, chain); err != nil {
return nil, err
}
// Docker 1.6 (which eris doesn't support) had different linking mechanism.
if ver, _ := util.DockerClientVersion(); ver >= 1.7 {
if chain.Dependencies != nil {
addDependencyVolumesAndLinks(chain.Dependencies, chain.Service, chain.Operations)
}
}
checkChainNames(chain)
logger.Debugf("Chain Loader. ContNumber =>\t%d\n", chain.Operations.ContainerNumber)
logger.Debugf("\twith Environment =>\t%v\n", chain.Service.Environment)
logger.Debugf("\tBooting =>\t\t%v:%v\n", chain.Service.EntryPoint, chain.Service.Command)
return chain, nil
}
开发者ID:jumanjiman,项目名称:eris-cli,代码行数:46,代码来源:chains.go
示例8: MockChainDefinition
func MockChainDefinition(chainName, chainID string, newCont bool, cNum ...int) *definitions.Chain {
chn := definitions.BlankChain()
chn.Name = chainName
chn.ChainID = chainID
chn.Service.AutoData = true
if len(cNum) == 0 {
chn.Operations.ContainerNumber = util.AutoMagic(cNum[0], definitions.TypeChain, newCont)
log.WithField("=>", fmt.Sprintf("%s:%d", chainName, cNum[0])).Debug("Mocking chain definition (autoassigned)")
} else {
chn.Operations.ContainerNumber = cNum[0]
log.WithField("=>", fmt.Sprintf("%s:%d", chainName, cNum[0])).Debug("Mocking chain definition")
}
chn.Operations.ContainerType = definitions.TypeChain
chn.Operations.Labels = util.Labels(chainName, chn.Operations)
checkChainNames(chn)
return chn
}
开发者ID:antonylewis,项目名称:eris-cli,代码行数:20,代码来源:chains.go
示例9: LoadServiceDefinition
func LoadServiceDefinition(servName string, newCont bool, cNum ...int) (*definitions.ServiceDefinition, error) {
if len(cNum) == 0 {
cNum = append(cNum, 0)
}
if cNum[0] == 0 {
cNum[0] = util.AutoMagic(0, definitions.TypeService, newCont)
logger.Debugf("Loading Service Definition =>\t%s:%d (autoassigned)\n", servName, cNum[0])
} else {
logger.Debugf("Loading Service Definition =>\t%s:%d\n", servName, cNum[0])
}
srv := definitions.BlankServiceDefinition()
srv.Operations.ContainerType = definitions.TypeService
srv.Operations.ContainerNumber = cNum[0]
srv.Operations.Labels = util.Labels(servName, srv.Operations)
serviceConf, err := loadServiceDefinition(servName)
if err != nil {
return nil, err
}
if err = MarshalServiceDefinition(serviceConf, srv); err != nil {
return nil, err
}
if srv.Service == nil {
return nil, fmt.Errorf("No service given.")
}
if err = checkImage(srv.Service); err != nil {
return nil, err
}
// Docker 1.6 (which eris doesn't support) had different linking mechanism.
if ver, _ := util.DockerClientVersion(); ver >= version.DVER_MIN {
addDependencyVolumesAndLinks(srv.Dependencies, srv.Service, srv.Operations)
}
ServiceFinalizeLoad(srv)
return srv, nil
}
开发者ID:alexandrev,项目名称:eris-cli,代码行数:41,代码来源:services.go
示例10: LoadServiceDefinition
func LoadServiceDefinition(servName string, newCont bool, cNum ...int) (*definitions.ServiceDefinition, error) {
if len(cNum) == 0 {
cNum = append(cNum, 0)
}
if cNum[0] == 0 {
cNum[0] = util.AutoMagic(0, "service", newCont)
logger.Debugf("Loading Service Definition =>\t%s:%d (autoassigned)\n", servName, cNum[0])
} else {
logger.Debugf("Loading Service Definition =>\t%s:%d\n", servName, cNum[0])
}
srv := definitions.BlankServiceDefinition()
srv.Operations.ContainerNumber = cNum[0]
serviceConf, err := loadServiceDefinition(servName)
if err != nil {
return nil, err
}
if err = MarshalServiceDefinition(serviceConf, srv); err != nil {
return nil, err
}
if srv.Service == nil {
return nil, fmt.Errorf("No service given.")
}
if err = checkImage(srv.Service); err != nil {
return nil, err
}
if os.Getenv("TEST_IN_CIRCLE") != "true" { // this really should be docker version < 1.7...?
addDependencyVolumesAndLinks(srv)
}
ServiceFinalizeLoad(srv)
return srv, nil
}
开发者ID:kustomzone,项目名称:eris-cli,代码行数:38,代码来源:services.go
注:本文中的github.com/eris-ltd/eris-cli/util.AutoMagic函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论