本文整理汇总了Golang中github.com/juju/juju/juju/series.HostSeries函数的典型用法代码示例。如果您正苦于以下问题:Golang HostSeries函数的具体用法?Golang HostSeries怎么用?Golang HostSeries使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了HostSeries函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: testFindToolsExact
func (s *toolsSuite) testFindToolsExact(c *gc.C, t common.ToolsStorageGetter, inStorage bool, develVersion bool) {
var called bool
s.PatchValue(common.EnvtoolsFindTools, func(e environs.Environ, major, minor int, stream string, filter coretools.Filter) (list coretools.List, err error) {
called = true
c.Assert(filter.Number, gc.Equals, version.Current.Number)
c.Assert(filter.Series, gc.Equals, series.HostSeries())
c.Assert(filter.Arch, gc.Equals, arch.HostArch())
if develVersion {
c.Assert(stream, gc.Equals, "devel")
} else {
c.Assert(stream, gc.Equals, "released")
}
return nil, errors.NotFoundf("tools")
})
toolsFinder := common.NewToolsFinder(s.State, t, sprintfURLGetter("tools:%s"))
result, err := toolsFinder.FindTools(params.FindToolsParams{
Number: version.Current.Number,
MajorVersion: -1,
MinorVersion: -1,
Series: series.HostSeries(),
Arch: arch.HostArch(),
})
c.Assert(err, jc.ErrorIsNil)
if inStorage {
c.Assert(result.Error, gc.IsNil)
c.Assert(called, jc.IsFalse)
} else {
c.Assert(result.Error, gc.ErrorMatches, "tools not found")
c.Assert(called, jc.IsTrue)
}
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:31,代码来源:tools_test.go
示例2: Bootstrap
// Bootstrap is specified in the Environ interface.
func (env *localEnviron) Bootstrap(ctx environs.BootstrapContext, args environs.BootstrapParams) (string, string, environs.BootstrapFinalizer, error) {
if err := ensureNotRoot(); err != nil {
return "", "", nil, err
}
// Make sure there are tools available for the
// host's architecture and series.
if _, err := args.AvailableTools.Match(tools.Filter{
Arch: arch.HostArch(),
Series: series.HostSeries(),
}); err != nil {
return "", "", nil, err
}
cfg, err := env.Config().Apply(map[string]interface{}{
// Record the bootstrap IP, so the containers know where to go for storage.
"bootstrap-ip": env.bridgeAddress,
})
if err == nil {
err = env.SetConfig(cfg)
}
if err != nil {
logger.Errorf("failed to apply bootstrap-ip to config: %v", err)
return "", "", nil, err
}
return arch.HostArch(), series.HostSeries(), env.finishBootstrap, nil
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:28,代码来源:environ.go
示例3: TestMissingAttributes
func (s *format_1_18Suite) TestMissingAttributes(c *gc.C) {
logDir, err := paths.LogDir(series.HostSeries())
c.Assert(err, jc.ErrorIsNil)
realDataDir, err := paths.DataDir(series.HostSeries())
c.Assert(err, jc.ErrorIsNil)
realDataDir = filepath.FromSlash(realDataDir)
logPath := filepath.Join(logDir, "juju")
logPath = filepath.FromSlash(logPath)
dataDir := c.MkDir()
configPath := filepath.Join(dataDir, agentConfigFilename)
err = utils.AtomicWriteFile(configPath, []byte(configData1_18WithoutUpgradedToVersion), 0600)
c.Assert(err, jc.ErrorIsNil)
readConfig, err := ReadConfig(configPath)
c.Assert(err, jc.ErrorIsNil)
c.Assert(readConfig.UpgradedToVersion(), gc.Equals, version.MustParse("1.16.0"))
configLogDir := filepath.FromSlash(readConfig.LogDir())
configDataDir := filepath.FromSlash(readConfig.DataDir())
c.Assert(configLogDir, gc.Equals, logPath)
c.Assert(configDataDir, gc.Equals, realDataDir)
c.Assert(readConfig.PreferIPv6(), jc.IsFalse)
// The api info doesn't have the environment tag set.
c.Assert(readConfig.APIInfo().EnvironTag.Id(), gc.Equals, "")
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:25,代码来源:format-1.18_whitebox_test.go
示例4: TestUploadFakeSeries
func (s *uploadSuite) TestUploadFakeSeries(c *gc.C) {
seriesToUpload := "precise"
if seriesToUpload == series.HostSeries() {
seriesToUpload = "raring"
}
t, err := sync.Upload(s.targetStorage, "released", nil, "quantal", seriesToUpload)
c.Assert(err, jc.ErrorIsNil)
s.assertUploadedTools(c, t, []string{seriesToUpload, "quantal", series.HostSeries()}, "released")
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:9,代码来源:sync_test.go
示例5: TestSyncToolsFakeSeries
func (s *uploadSuite) TestSyncToolsFakeSeries(c *gc.C) {
seriesToUpload := "precise"
if seriesToUpload == series.HostSeries() {
seriesToUpload = "raring"
}
builtTools, err := sync.BuildToolsTarball(nil, "testing")
c.Assert(err, jc.ErrorIsNil)
t, err := sync.SyncBuiltTools(s.targetStorage, "testing", builtTools, "quantal", seriesToUpload)
c.Assert(err, jc.ErrorIsNil)
s.assertUploadedTools(c, t, []string{seriesToUpload, "quantal", series.HostSeries()}, "testing")
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:12,代码来源:sync_test.go
示例6: TestCurrentSeries
func (*CurrentSuite) TestCurrentSeries(c *gc.C) {
s := series.HostSeries()
if s == "unknown" {
s = "n/a"
}
out, err := exec.Command("lsb_release", "-c").CombinedOutput()
if err != nil {
// If the command fails (for instance if we're running on some other
// platform) then CurrentSeries should be unknown.
switch runtime.GOOS {
case "darwin":
c.Check(s, gc.Matches, `mavericks|mountainlion|lion|snowleopard`)
case "windows":
c.Check(s, gc.Matches, `win2012hvr2|win2012hv|win2012|win2012r2|win8|win81|win7`)
default:
current_os, err := series.GetOSFromSeries(s)
c.Assert(err, gc.IsNil)
if s != "n/a" {
// There is no lsb_release command on CentOS.
if current_os == os.CentOS {
c.Check(s, gc.Matches, `centos7`)
}
}
}
} else {
c.Assert(string(out), gc.Equals, "Codename:\t"+s+"\n")
}
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:29,代码来源:current_test.go
示例7: SetUpTest
func (s *prereqsSuite) SetUpTest(c *gc.C) {
s.BaseSuite.SetUpTest(c)
s.tmpdir = c.MkDir()
s.testMongodPath = filepath.Join(s.tmpdir, "mongod")
s.PatchEnvironment("PATH", s.tmpdir)
s.PatchValue(&mongo.JujuMongodPath, "/somewhere/that/wont/exist")
os.Setenv("JUJUTEST_LSB_RELEASE_ID", "Ubuntu")
err := ioutil.WriteFile(filepath.Join(s.tmpdir, "lsb_release"), []byte(lsbrelease), 0777)
c.Assert(err, jc.ErrorIsNil)
// symlink $temp/dpkg-query to /bin/true, to
// simulate package installation query responses.
pm, err := testing.GetPackageManager()
c.Assert(err, jc.ErrorIsNil)
err = symlink.New("/bin/true", filepath.Join(s.tmpdir, pm.PackageQuery))
c.Assert(err, jc.ErrorIsNil)
s.PatchValue(&isPackageInstalled, func(pack string) bool {
pacman, err := manager.NewPackageManager(series.HostSeries())
c.Assert(err, jc.ErrorIsNil)
return pacman.IsInstalled(pack)
})
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:26,代码来源:prereqs_test.go
示例8: ListServices
// ListServices lists all installed services on the running system
func ListServices() ([]string, error) {
initName, err := VersionInitSystem(series.HostSeries())
if err != nil {
return nil, errors.Trace(err)
}
switch initName {
case InitSystemWindows:
services, err := windows.ListServices()
if err != nil {
return nil, errors.Annotatef(err, "failed to list %s services", initName)
}
return services, nil
case InitSystemUpstart:
services, err := upstart.ListServices()
if err != nil {
return nil, errors.Annotatef(err, "failed to list %s services", initName)
}
return services, nil
case InitSystemSystemd:
services, err := systemd.ListServices()
if err != nil {
return nil, errors.Annotatef(err, "failed to list %s services", initName)
}
return services, nil
default:
return nil, errors.NotFoundf("init system %q", initName)
}
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:30,代码来源:service.go
示例9: TestUpload
func (s *uploadSuite) TestUpload(c *gc.C) {
t, err := sync.Upload(s.targetStorage, "released", nil)
c.Assert(err, jc.ErrorIsNil)
c.Assert(t.Version, gc.Equals, version.Current)
c.Assert(t.URL, gc.Not(gc.Equals), "")
s.assertUploadedTools(c, t, []string{series.HostSeries()}, "released")
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:7,代码来源:sync_test.go
示例10: getContainerInstance
func getContainerInstance() (cont []ContainerInstance, err error) {
current_os, err := series.GetOSFromSeries(series.HostSeries())
if err != nil {
return nil, err
}
switch current_os {
case jujuos.CentOS:
cont = []ContainerInstance{
{instance.LXC, [][]string{
{"lxc"},
{"cloud-image-utils"},
}},
{instance.KVM, [][]string{
{"uvtool-libvirt"},
{"uvtool"},
}},
}
default:
cont = []ContainerInstance{
{instance.LXC, [][]string{
{"--target-release", "precise-updates/cloud-tools", "lxc"},
{"--target-release", "precise-updates/cloud-tools", "cloud-image-utils"},
}},
{instance.KVM, [][]string{
{"uvtool-libvirt"},
{"uvtool"},
}},
}
}
return cont, nil
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:33,代码来源:container_initialisation_test.go
示例11: Bootstrap
func (e *bootstrapEnviron) Bootstrap(ctx environs.BootstrapContext, args environs.BootstrapParams) (string, string, environs.BootstrapFinalizer, error) {
e.bootstrapCount++
e.args = args
finalizer := func(_ environs.BootstrapContext, icfg *instancecfg.InstanceConfig) error {
e.finalizerCount++
e.instanceConfig = icfg
return nil
}
return arch.HostArch(), series.HostSeries(), finalizer, nil
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:10,代码来源:bootstrap_test.go
示例12: DiscoverService
// DiscoverService returns an interface to a service appropriate
// for the current system
func DiscoverService(name string, conf common.Conf) (Service, error) {
initName, err := discoverInitSystem()
if err != nil {
return nil, errors.Trace(err)
}
service, err := newService(name, conf, initName, series.HostSeries())
if err != nil {
return nil, errors.Trace(err)
}
return service, nil
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:14,代码来源:discovery.go
示例13: testFindTools
func (s *provisionerSuite) testFindTools(c *gc.C, matchArch bool, apiError, logicError error) {
var toolsList = coretools.List{&coretools.Tools{Version: version.Current}}
var called bool
var a string
if matchArch {
// if matchArch is true, this will be overwriten with the host's arch, otherwise
// leave a blank.
a = arch.HostArch()
}
provisioner.PatchFacadeCall(s, s.provisioner, func(request string, args, response interface{}) error {
called = true
c.Assert(request, gc.Equals, "FindTools")
expected := params.FindToolsParams{
Number: version.Current.Number,
Series: series.HostSeries(),
Arch: a,
MinorVersion: -1,
MajorVersion: -1,
}
c.Assert(args, gc.Equals, expected)
result := response.(*params.FindToolsResult)
result.List = toolsList
if logicError != nil {
result.Error = common.ServerError(logicError)
}
return apiError
})
apiList, err := s.provisioner.FindTools(version.Current.Number, series.HostSeries(), a)
c.Assert(called, jc.IsTrue)
if apiError != nil {
c.Assert(err, gc.Equals, apiError)
} else if logicError != nil {
c.Assert(err.Error(), gc.Equals, logicError.Error())
} else {
c.Assert(err, jc.ErrorIsNil)
c.Assert(apiList, jc.SameContents, toolsList)
}
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:39,代码来源:provisioner_test.go
示例14: TestInitialState
func (s *ProxyUpdaterSuite) TestInitialState(c *gc.C) {
proxySettings, aptProxySettings := s.updateConfig(c)
updater := proxyupdater.New(s.environmentAPI, true)
defer worker.Stop(updater)
s.waitProxySettings(c, proxySettings)
s.waitForFile(c, s.proxyFile, proxySettings.AsScriptEnvironment()+"\n")
paccmder, err := commands.NewPackageCommander(series.HostSeries())
c.Assert(err, jc.ErrorIsNil)
s.waitForFile(c, pacconfig.AptProxyConfigFile, paccmder.ProxyConfigContents(aptProxySettings)+"\n")
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:13,代码来源:proxyupdater_test.go
示例15: writeEnvironment
func (w *proxyWorker) writeEnvironment() error {
// TODO(dfc) this should be replaced with a switch on os.HostOS()
osystem, err := series.GetOSFromSeries(series.HostSeries())
if err != nil {
return err
}
switch osystem {
case os.Windows:
return w.writeEnvironmentToRegistry()
default:
return w.writeEnvironmentFile()
}
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:13,代码来源:proxyupdater.go
示例16: minimalConfig
func minimalConfig(c *gc.C) *config.Config {
attrs := map[string]interface{}{
"name": "whatever",
"type": "anything, really",
"uuid": coretesting.EnvironmentTag.Id(),
"ca-cert": coretesting.CACert,
"ca-private-key": coretesting.CAKey,
"authorized-keys": coretesting.FakeAuthKeys,
"default-series": series.HostSeries(),
}
cfg, err := config.New(config.UseDefaults, attrs)
c.Assert(err, jc.ErrorIsNil)
return cfg
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:14,代码来源:bootstrap_test.go
示例17: uploadFakeTools
func uploadFakeTools(stor storage.Storage, toolsDir, stream string) error {
toolsSeries := set.NewStrings(toolsLtsSeries...)
toolsSeries.Add(series.HostSeries())
var versions []version.Binary
for _, series := range toolsSeries.Values() {
vers := version.Current
vers.Series = series
versions = append(versions, vers)
}
if _, err := UploadFakeToolsVersions(stor, toolsDir, stream, versions...); err != nil {
return err
}
return nil
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:14,代码来源:tools.go
示例18: TestDiscoverServiceLocalHost
func (s *discoverySuite) TestDiscoverServiceLocalHost(c *gc.C) {
var localInitSystem string
var err error
switch runtime.GOOS {
case "windows":
localInitSystem = service.InitSystemWindows
case "linux":
localInitSystem, err = service.VersionInitSystem(series.HostSeries())
}
c.Assert(err, gc.IsNil)
test := discoveryTest{
os: version.Current.OS,
series: series.HostSeries(),
expected: localInitSystem,
}
test.disableVersionDiscovery(s)
svc, err := service.DiscoverService(s.name, s.conf)
c.Assert(err, jc.ErrorIsNil)
test.checkService(c, svc, err, s.name, s.conf)
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:23,代码来源:discovery_test.go
示例19: testToolsMetadata
func (s *BootstrapSuite) testToolsMetadata(c *gc.C, exploded bool) {
envtesting.RemoveFakeToolsMetadata(c, s.toolsStorage)
_, cmd, err := s.initBootstrapCommand(c, nil, "--env-config", s.b64yamlEnvcfg, "--instance-id", string(s.instanceId))
c.Assert(err, jc.ErrorIsNil)
err = cmd.Run(nil)
c.Assert(err, jc.ErrorIsNil)
// We don't write metadata at bootstrap anymore.
simplestreamsMetadata, err := envtools.ReadMetadata(s.toolsStorage, "released")
c.Assert(err, jc.ErrorIsNil)
c.Assert(simplestreamsMetadata, gc.HasLen, 0)
// The tools should have been added to tools storage, and
// exploded into each of the supported series of
// the same operating system if the tools were uploaded.
st, err := state.Open(testing.EnvironmentTag, &mongo.MongoInfo{
Info: mongo.Info{
Addrs: []string{gitjujutesting.MgoServer.Addr()},
CACert: testing.CACert,
},
Password: testPasswordHash(),
}, mongo.DefaultDialOpts(), environs.NewStatePolicy())
c.Assert(err, jc.ErrorIsNil)
defer st.Close()
expectedSeries := make(set.Strings)
if exploded {
for _, ser := range series.SupportedSeries() {
os, err := series.GetOSFromSeries(ser)
c.Assert(err, jc.ErrorIsNil)
hostos, err := series.GetOSFromSeries(version.Current.Series)
c.Assert(err, jc.ErrorIsNil)
if os == hostos {
expectedSeries.Add(ser)
}
}
} else {
expectedSeries.Add(series.HostSeries())
}
storage, err := st.ToolsStorage()
c.Assert(err, jc.ErrorIsNil)
defer storage.Close()
metadata, err := storage.AllMetadata()
c.Assert(err, jc.ErrorIsNil)
c.Assert(metadata, gc.HasLen, expectedSeries.Size())
for _, m := range metadata {
c.Assert(expectedSeries.Contains(m.Version.Series), jc.IsTrue)
}
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:50,代码来源:bootstrap_test.go
示例20: RemoveFakeTools
// RemoveFakeTools deletes the fake tools from the supplied storage.
func RemoveFakeTools(c *gc.C, stor storage.Storage, toolsDir string) {
c.Logf("removing fake tools")
toolsVersion := version.Current
name := envtools.StorageName(toolsVersion, toolsDir)
err := stor.Remove(name)
c.Check(err, jc.ErrorIsNil)
defaultSeries := coretesting.FakeDefaultSeries
if series.HostSeries() != defaultSeries {
toolsVersion.Series = defaultSeries
name := envtools.StorageName(toolsVersion, toolsDir)
err := stor.Remove(name)
c.Check(err, jc.ErrorIsNil)
}
RemoveFakeToolsMetadata(c, stor)
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:16,代码来源:tools.go
注:本文中的github.com/juju/juju/juju/series.HostSeries函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论