// NewSimpleContext returns a new SimpleContext, acting on behalf of // the specified deployer, that deploys unit agents. // Paths to which agents and tools are installed are relative to dataDir. func NewSimpleContext(agentConfig agent.Config, api APICalls) *SimpleContext { return &SimpleContext{ api: api, agentConfig: agentConfig, discoverService: func(name string, conf common.Conf) (deployerService, error) { return service.DiscoverService(name, conf) }, listServices: func() ([]string, error) { return service.ListServices() }, } }
// IsInstalledLocally returns true if LXD is installed locally. func IsInstalledLocally() (bool, error) { names, err := service.ListServices() if err != nil { return false, errors.Trace(err) } for _, name := range names { if name == "lxd" { return true, nil } } return false, nil }
func (ctx *SimpleContext) deployedUnitsUpstartJobs() (map[string]string, error) { fis, err := service.ListServices(ctx.initDir) if err != nil { return nil, err } if err != nil { return nil, err } installed := make(map[string]string) for _, fi := range fis { if groups := deployedRe.FindStringSubmatch(fi); len(groups) > 0 { unitName := groups[2] + "/" + groups[3] if !names.IsValidUnit(unitName) { continue } installed[unitName] = groups[1] } } return installed, nil }
func (s *serviceSuite) TestListServices(c *gc.C) { _, err := service.ListServices() c.Check(err, jc.ErrorIsNil) }