本文整理汇总了Golang中github.com/juju/juju/worker.NewNoOpWorker函数的典型用法代码示例。如果您正苦于以下问题:Golang NewNoOpWorker函数的具体用法?Golang NewNoOpWorker怎么用?Golang NewNoOpWorker使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewNoOpWorker函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: NewWorker
// NewWorker returns a worker that keeps track of
// the machine's authorised ssh keys and ensures the
// ~/.ssh/authorized_keys file is up to date.
func NewWorker(st *keyupdater.State, agentConfig agent.Config) worker.Worker {
if os.HostOS() == os.Windows {
return worker.NewNoOpWorker()
}
kw := &keyupdaterWorker{st: st, tag: agentConfig.Tag().(names.MachineTag)}
return worker.NewNotifyWorker(kw)
}
开发者ID:imoapps,项目名称:juju,代码行数:10,代码来源:worker.go
示例2: NewWorker
// NewWorker returns a worker that keeps track of
// the machine's authorised ssh keys and ensures the
// ~/.ssh/authorized_keys file is up to date.
func NewWorker(st *keyupdater.State, agentConfig agent.Config) worker.Worker {
if version.Current.OS == version.Windows {
return worker.NewNoOpWorker()
}
kw := &keyupdaterWorker{st: st, tag: agentConfig.Tag().(names.MachineTag)}
return worker.NewNotifyWorker(kw)
}
开发者ID:Pankov404,项目名称:juju,代码行数:10,代码来源:worker.go
示例3: NewRsyslogConfigWorker
// NewRsyslogConfigWorker returns a worker.Worker that uses
// WatchForRsyslogChanges and updates rsyslog configuration based
// on changes. The worker will remove the configuration file
// on teardown.
func NewRsyslogConfigWorker(st *apirsyslog.State, mode RsyslogMode, tag names.Tag, namespace string, stateServerAddrs []string) (worker.Worker, error) {
if version.Current.OS == version.Windows {
return worker.NewNoOpWorker(), nil
}
handler, err := newRsyslogConfigHandler(st, mode, tag, namespace, stateServerAddrs)
if err != nil {
return nil, err
}
logger.Debugf("starting rsyslog worker mode %v for %q %q", mode, tag, namespace)
return worker.NewNotifyWorker(handler), nil
}
开发者ID:jiasir,项目名称:juju,代码行数:15,代码来源:worker.go
示例4: newRsyslogConfigWorker
// newRsyslogConfigWorker returns a worker.Worker that uses
// WatchForRsyslogChanges and updates rsyslog configuration based
// on changes. The worker will remove the configuration file
// on teardown.
func newRsyslogConfigWorker(st *apirsyslog.State, mode RsyslogMode, tag names.Tag, namespace string, stateServerAddrs []string, jujuConfigDir string) (worker.Worker, error) {
if jujuos.HostOS() == jujuos.Windows && mode == RsyslogModeAccumulate {
return worker.NewNoOpWorker(), nil
}
handler, err := newRsyslogConfigHandler(st, mode, tag, namespace, stateServerAddrs, jujuConfigDir)
if err != nil {
return nil, err
}
logger.Debugf("starting rsyslog worker mode %v for %q %q", mode, tag, namespace)
return worker.NewNotifyWorker(handler), nil
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:15,代码来源:worker.go
示例5: SetUpTest
func (s *AgentSuite) SetUpTest(c *gc.C) {
s.JujuConnSuite.SetUpTest(c)
// Set API host ports so FindTools/Tools API calls succeed.
hostPorts := [][]network.HostPort{
network.NewHostPorts(1234, "0.1.2.3"),
}
err := s.State.SetAPIHostPorts(hostPorts)
c.Assert(err, jc.ErrorIsNil)
s.PatchValue(&proxyupdater.New, func(*apienvironment.Facade, bool) worker.Worker {
return newDummyWorker()
})
s.PatchValue(&newMetadataUpdater, func(cl *imagemetadata.Client) worker.Worker {
return worker.NewNoOpWorker()
})
}
开发者ID:ktsakalozos,项目名称:juju,代码行数:15,代码来源:agent_test.go
示例6: checkMetadataWorkerNotRun
func (s *MachineSuite) checkMetadataWorkerNotRun(c *gc.C, job state.MachineJob, suffix string) {
// Patch out the worker func before starting the agent.
started := newSignal()
newWorker := func(cl *imagemetadata.Client) worker.Worker {
started.trigger()
return worker.NewNoOpWorker()
}
s.PatchValue(&newMetadataUpdater, newWorker)
// Start the machine agent.
m, _, _ := s.primeAgent(c, job)
a := s.newAgent(c, m)
go func() { c.Check(a.Run(nil), jc.ErrorIsNil) }()
defer func() { c.Check(a.Stop(), jc.ErrorIsNil) }()
started.assertNotTriggered(c, startWorkerWait, "metadata update worker started")
}
开发者ID:bac,项目名称:juju,代码行数:16,代码来源:machine_test.go
示例7: TestMachineAgentRunsDiskManagerWorker
func (s *MachineSuite) TestMachineAgentRunsDiskManagerWorker(c *gc.C) {
// Patch out the worker func before starting the agent.
started := newSignal()
newWorker := func(diskmanager.ListBlockDevicesFunc, diskmanager.BlockDeviceSetter) worker.Worker {
started.trigger()
return worker.NewNoOpWorker()
}
s.PatchValue(&diskmanager.NewWorker, newWorker)
// Start the machine agent.
m, _, _ := s.primeAgent(c, state.JobHostUnits)
a := s.newAgent(c, m)
go func() { c.Check(a.Run(nil), jc.ErrorIsNil) }()
defer func() { c.Check(a.Stop(), jc.ErrorIsNil) }()
started.assertTriggered(c, "diskmanager worker to start")
}
开发者ID:bac,项目名称:juju,代码行数:16,代码来源:machine_test.go
示例8: TestMachineAgentRunsCertificateUpdateWorkerForController
func (s *MachineSuite) TestMachineAgentRunsCertificateUpdateWorkerForController(c *gc.C) {
started := newSignal()
newUpdater := func(certupdater.AddressWatcher, certupdater.StateServingInfoGetter, certupdater.ControllerConfigGetter,
certupdater.APIHostPortsGetter, certupdater.StateServingInfoSetter,
) worker.Worker {
started.trigger()
return worker.NewNoOpWorker()
}
s.PatchValue(&newCertificateUpdater, newUpdater)
// Start the machine agent.
m, _, _ := s.primeAgent(c, state.JobManageModel)
a := s.newAgent(c, m)
go func() { c.Check(a.Run(nil), jc.ErrorIsNil) }()
defer func() { c.Check(a.Stop(), jc.ErrorIsNil) }()
started.assertTriggered(c, "certificate to be updated")
}
开发者ID:bac,项目名称:juju,代码行数:17,代码来源:machine_test.go
示例9: TestMachineAgentRunsMachineStorageWorker
func (s *MachineSuite) TestMachineAgentRunsMachineStorageWorker(c *gc.C) {
m, _, _ := s.primeAgent(c, state.JobHostUnits)
started := newSignal()
newWorker := func(config storageprovisioner.Config) (worker.Worker, error) {
c.Check(config.Scope, gc.Equals, m.Tag())
c.Check(config.Validate(), jc.ErrorIsNil)
started.trigger()
return worker.NewNoOpWorker(), nil
}
s.PatchValue(&storageprovisioner.NewStorageProvisioner, newWorker)
// Start the machine agent.
a := s.newAgent(c, m)
go func() { c.Check(a.Run(nil), jc.ErrorIsNil) }()
defer func() { c.Check(a.Stop(), jc.ErrorIsNil) }()
started.assertTriggered(c, "storage worker to start")
}
开发者ID:bac,项目名称:juju,代码行数:18,代码来源:machine_test.go
示例10: NewWorker
// NewWorker returns a worker that keeps track of
// the machine's authorised ssh keys and ensures the
// ~/.ssh/authorized_keys file is up to date.
func NewWorker(st *keyupdater.State, agentConfig agent.Config) (worker.Worker, error) {
machineTag, ok := agentConfig.Tag().(names.MachineTag)
if !ok {
return nil, errors.NotValidf("machine tag %v", agentConfig.Tag())
}
if os.HostOS() == os.Windows {
return worker.NewNoOpWorker(), nil
}
w, err := watcher.NewNotifyWorker(watcher.NotifyConfig{
Handler: &keyupdaterWorker{
st: st,
tag: machineTag,
},
})
if err != nil {
return nil, errors.Trace(err)
}
return w, nil
}
开发者ID:exekias,项目名称:juju,代码行数:22,代码来源:worker.go
示例11: TestMachineAgentRunsMetadataWorker
func (s *MachineMockProviderSuite) TestMachineAgentRunsMetadataWorker(c *gc.C) {
// Patch out the worker func before starting the agent.
started := make(chan struct{})
newWorker := func(cl *imagemetadata.Client) worker.Worker {
close(started)
return worker.NewNoOpWorker()
}
s.PatchValue(&newMetadataUpdater, newWorker)
s.PatchValue(&newEnvirons, func(config *config.Config) (environs.Environ, error) {
return &dummyEnviron{}, nil
})
// Start the machine agent.
m, _, _ := s.primeAgent(c, state.JobManageModel)
a := s.newAgent(c, m)
go func() { c.Check(a.Run(nil), jc.ErrorIsNil) }()
defer func() { c.Check(a.Stop(), jc.ErrorIsNil) }()
s.assertChannelActive(c, started, "metadata update worker to start")
}
开发者ID:pmatulis,项目名称:juju,代码行数:20,代码来源:imagemetadataworker_test.go
示例12: TestCertificateDNSUpdated
func (s *MachineSuite) TestCertificateDNSUpdated(c *gc.C) {
// Disable the certificate work so it doesn't update the certificate.
newUpdater := func(certupdater.AddressWatcher, certupdater.StateServingInfoGetter, certupdater.ControllerConfigGetter,
certupdater.APIHostPortsGetter, certupdater.StateServingInfoSetter,
) worker.Worker {
return worker.NewNoOpWorker()
}
s.PatchValue(&newCertificateUpdater, newUpdater)
// Set up the machine agent.
m, _, _ := s.primeAgent(c, state.JobManageModel)
a := s.newAgent(c, m)
// Set up check that certificate has been updated when the agent starts.
updated := make(chan struct{})
expectedDnsNames := set.NewStrings("local", "juju-apiserver", "juju-mongodb")
go func() {
for {
stateInfo, _ := a.CurrentConfig().StateServingInfo()
srvCert, err := cert.ParseCert(stateInfo.Cert)
c.Assert(err, jc.ErrorIsNil)
certDnsNames := set.NewStrings(srvCert.DNSNames...)
if !expectedDnsNames.Difference(certDnsNames).IsEmpty() {
continue
}
pemContent, err := ioutil.ReadFile(filepath.Join(s.DataDir(), "server.pem"))
c.Assert(err, jc.ErrorIsNil)
if string(pemContent) == stateInfo.Cert+"\n"+stateInfo.PrivateKey {
close(updated)
break
}
time.Sleep(10 * time.Millisecond)
}
}()
go func() { c.Check(a.Run(nil), jc.ErrorIsNil) }()
defer func() { c.Check(a.Stop(), jc.ErrorIsNil) }()
s.assertChannelActive(c, updated, "certificate to be updated")
}
开发者ID:kat-co,项目名称:juju,代码行数:39,代码来源:machine_test.go
示例13: TestMongoUpgradeWorker
func (s *MachineSuite) TestMongoUpgradeWorker(c *gc.C) {
// Patch out the worker func before starting the agent.
started := make(chan struct{})
newWorker := func(*state.State, string, mongoupgrader.StopMongo) (worker.Worker, error) {
close(started)
return worker.NewNoOpWorker(), nil
}
s.PatchValue(&newUpgradeMongoWorker, newWorker)
// Start the machine agent.
m, _, _ := s.primeAgent(c, state.JobManageModel)
a := s.newAgent(c, m)
go func() { c.Check(a.Run(nil), jc.ErrorIsNil) }()
defer func() { c.Check(a.Stop(), jc.ErrorIsNil) }()
// Wait for worker to be started.
s.State.StartSync()
select {
case <-started:
case <-time.After(coretesting.LongWait):
c.Fatalf("timeout while waiting for mongo upgrader worker to start")
}
}
开发者ID:bac,项目名称:juju,代码行数:23,代码来源:machine_test.go
示例14: testCertificateDNSUpdated
func (s *MachineSuite) testCertificateDNSUpdated(c *gc.C, a *MachineAgent) {
// Disable the certificate worker so that the certificate could
// only have been updated during agent startup.
newUpdater := func(certupdater.AddressWatcher, certupdater.StateServingInfoGetter, certupdater.ControllerConfigGetter,
certupdater.APIHostPortsGetter, certupdater.StateServingInfoSetter,
) worker.Worker {
return worker.NewNoOpWorker()
}
s.PatchValue(&newCertificateUpdater, newUpdater)
// Set up a channel which fires when State is opened.
started := make(chan struct{}, 16)
s.PatchValue(&reportOpenedState, func(*state.State) {
started <- struct{}{}
})
// Start the agent.
go func() { c.Check(a.Run(nil), jc.ErrorIsNil) }()
defer func() { c.Check(a.Stop(), jc.ErrorIsNil) }()
// Wait for State to be opened. Once this occurs we know that the
// agent's initial startup has happened.
s.assertChannelActive(c, started, "agent to start up")
// Check that certificate was updated when the agent started.
stateInfo, _ := a.CurrentConfig().StateServingInfo()
srvCert, _, err := cert.ParseCertAndKey(stateInfo.Cert, stateInfo.PrivateKey)
c.Assert(err, jc.ErrorIsNil)
expectedDnsNames := set.NewStrings("local", "juju-apiserver", "juju-mongodb")
certDnsNames := set.NewStrings(srvCert.DNSNames...)
c.Check(expectedDnsNames.Difference(certDnsNames).IsEmpty(), jc.IsTrue)
// Check the mongo certificate file too.
pemContent, err := ioutil.ReadFile(filepath.Join(s.DataDir(), "server.pem"))
c.Assert(err, jc.ErrorIsNil)
c.Check(string(pemContent), gc.Equals, stateInfo.Cert+"\n"+stateInfo.PrivateKey)
}
开发者ID:bac,项目名称:juju,代码行数:37,代码来源:machine_test.go
注:本文中的github.com/juju/juju/worker.NewNoOpWorker函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论