Skip to content

Commit 535c3f0

Browse files
Move the worker to start under the machine agent.
1 parent dfef699 commit 535c3f0

File tree

3 files changed

+16
-12
lines changed

3 files changed

+16
-12
lines changed

cmd/jujud/agent/machine/manifolds.go

+6
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"github.com/juju/juju/worker/gate"
2626
"github.com/juju/juju/worker/hostkeyreporter"
2727
"github.com/juju/juju/worker/identityfilewriter"
28+
"github.com/juju/juju/worker/logforwarder"
2829
"github.com/juju/juju/worker/logger"
2930
"github.com/juju/juju/worker/logsender"
3031
"github.com/juju/juju/worker/machineactions"
@@ -399,6 +400,10 @@ func Manifolds(config ManifoldsConfig) dependency.Manifolds {
399400
NewFacade: hostkeyreporter.NewFacade,
400401
NewWorker: hostkeyreporter.NewWorker,
401402
})),
403+
logForwarderName: ifFullyUpgraded(logforwarder.Manifold(logforwarder.ManifoldConfig{
404+
StateName: stateName,
405+
APICallerName: apiCallerName,
406+
})),
402407
}
403408
}
404409

@@ -445,4 +450,5 @@ const (
445450
apiConfigWatcherName = "api-config-watcher"
446451
machineActionName = "machine-action-runner"
447452
hostKeyReporterName = "host-key-reporter"
453+
logForwarderName = "log-forwarder"
448454
)

cmd/jujud/agent/model/manifolds.go

-6
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import (
2929
"github.com/juju/juju/worker/gate"
3030
"github.com/juju/juju/worker/instancepoller"
3131
"github.com/juju/juju/worker/lifeflag"
32-
"github.com/juju/juju/worker/logforwarder"
3332
"github.com/juju/juju/worker/metricworker"
3433
"github.com/juju/juju/worker/migrationmaster"
3534
"github.com/juju/juju/worker/provisioner"
@@ -247,10 +246,6 @@ func Manifolds(config ManifoldsConfig) dependency.Manifolds {
247246
// TODO(fwereade): 2016-03-17 lp:1558657
248247
NewTimer: worker.NewTimer,
249248
})),
250-
logForwarderName: ifNotDead(logforwarder.Manifold(logforwarder.ManifoldConfig{
251-
APICallerName: apiCallerName,
252-
AgentName: agentName,
253-
})),
254249
}
255250
}
256251

@@ -319,5 +314,4 @@ const (
319314
metricWorkerName = "metric-worker"
320315
stateCleanerName = "state-cleaner"
321316
statusHistoryPrunerName = "status-history-pruner"
322-
logForwarderName = "log-forwarder"
323317
)

worker/logforwarder/manifold.go

+10-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ package logforwarder
66
import (
77
"github.com/juju/errors"
88

9-
"github.com/juju/juju/agent"
9+
apiagent "github.com/juju/juju/api/agent"
1010
"github.com/juju/juju/api/base"
1111
"github.com/juju/juju/worker"
1212
"github.com/juju/juju/worker/dependency"
@@ -15,7 +15,7 @@ import (
1515
// ManifoldConfig defines the names of the manifolds on which a
1616
// Manifold will depend.
1717
type ManifoldConfig struct {
18-
AgentName string
18+
StateName string
1919
APICallerName string
2020
}
2121

@@ -24,7 +24,7 @@ type ManifoldConfig struct {
2424
func Manifold(config ManifoldConfig) dependency.Manifold {
2525
return dependency.Manifold{
2626
Inputs: []string{
27-
config.AgentName,
27+
config.StateName, // ...just to force it to run only on the controller.
2828
config.APICallerName,
2929
},
3030
Start: func(context dependency.Context) (worker.Worker, error) {
@@ -33,9 +33,13 @@ func Manifold(config ManifoldConfig) dependency.Manifold {
3333
return nil, errors.Trace(err)
3434
}
3535

36-
var agent agent.Agent
37-
if err := context.Get(config.AgentName, &agent); err != nil {
38-
return nil, errors.Trace(err)
36+
agentFacade := apiagent.NewState(apiCaller)
37+
modelConfig, err := agentFacade.ModelConfig()
38+
if err != nil {
39+
return nil, errors.Annotate(err, "cannot read environment config")
40+
}
41+
if modelConfig.Name() != environs.ControllerModelName {
42+
return nil, errors.New("model-level log forwarding not supported")
3943
}
4044

4145
return nil, errors.Errorf("finish me")

0 commit comments

Comments
 (0)