~juju-qa/ubuntu/xenial/juju/xenial-2.0-beta3

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/worker/uniter/runner/context/context.go

  • Committer: Martin Packman
  • Date: 2016-03-30 19:31:08 UTC
  • mfrom: (1.1.41)
  • Revision ID: martin.packman@canonical.com-20160330193108-h9iz3ak334uk0z5r
Merge new upstream source 2.0~beta3

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
        "github.com/juju/juju/api/uniter"
23
23
        "github.com/juju/juju/apiserver/params"
24
24
        "github.com/juju/juju/network"
 
25
        "github.com/juju/juju/status"
25
26
        "github.com/juju/juju/worker/uniter/runner/jujuc"
26
27
)
27
28
 
341
342
}
342
343
 
343
344
// SetUnitStatus will set the given status for this unit.
344
 
func (ctx *HookContext) SetUnitStatus(status jujuc.StatusInfo) error {
 
345
func (ctx *HookContext) SetUnitStatus(unitStatus jujuc.StatusInfo) error {
345
346
        ctx.hasRunStatusSet = true
346
 
        logger.Tracef("[WORKLOAD-STATUS] %s: %s", status.Status, status.Info)
 
347
        logger.Tracef("[WORKLOAD-STATUS] %s: %s", unitStatus.Status, unitStatus.Info)
347
348
        return ctx.unit.SetUnitStatus(
348
 
                params.Status(status.Status),
349
 
                status.Info,
350
 
                status.Data,
 
349
                status.Status(unitStatus.Status),
 
350
                unitStatus.Info,
 
351
                unitStatus.Data,
351
352
        )
352
353
}
353
354
 
354
355
// SetServiceStatus will set the given status to the service to which this
355
356
// unit's belong, only if this unit is the leader.
356
 
func (ctx *HookContext) SetServiceStatus(status jujuc.StatusInfo) error {
357
 
        logger.Tracef("[SERVICE-STATUS] %s: %s", status.Status, status.Info)
 
357
func (ctx *HookContext) SetServiceStatus(serviceStatus jujuc.StatusInfo) error {
 
358
        logger.Tracef("[SERVICE-STATUS] %s: %s", serviceStatus.Status, serviceStatus.Info)
358
359
        isLeader, err := ctx.IsLeader()
359
360
        if err != nil {
360
361
                return errors.Annotatef(err, "cannot determine leadership")
369
370
        }
370
371
        return service.SetStatus(
371
372
                ctx.unit.Name(),
372
 
                params.Status(status.Status),
373
 
                status.Info,
374
 
                status.Data,
 
373
                status.Status(serviceStatus.Status),
 
374
                serviceStatus.Info,
 
375
                serviceStatus.Data,
375
376
        )
376
377
}
377
378
 
615
616
        case jujuc.RebootNow:
616
617
                *err = ErrRequeueAndReboot
617
618
        }
618
 
        err2 := ctx.unit.SetUnitStatus(params.StatusRebooting, "", nil)
 
619
        err2 := ctx.unit.SetUnitStatus(status.StatusRebooting, "", nil)
619
620
        if err2 != nil {
620
621
                logger.Errorf("updating agent status: %v", err2)
621
622
        }
785
786
                tick = ctx.clock.After(100 * time.Millisecond)
786
787
        }
787
788
}
 
789
 
 
790
// NetworkConfig returns the network config for the given bindingName.
 
791
func (ctx *HookContext) NetworkConfig(bindingName string) ([]params.NetworkConfig, error) {
 
792
        return ctx.unit.NetworkConfig(bindingName)
 
793
}