func (m *mockRunCmds) runCommands(params exec.RunParams) (*exec.ExecResponse, error) { m.called = true m.c.Assert(params.Commands, gc.Equals, strings.Join(cloudconfig.CreateJujuRegistryKeyCmds(), "\n")) if m.shouldFail { return nil, errors.New("derp") } return nil, nil }
// addJujuRegKey tries to create the same key that is now created during cloudinit // on machines having version 1.25 or up // Since support for ACL's in golang is quite disastrous at the moment, and they're // not especially easy to use, this is done using the exact same steps used in cloudinit func addJujuRegKey(context Context) error { if os.HostOS() == os.Windows { cmds := cloudconfig.CreateJujuRegistryKeyCmds() _, err := execRunCommands(exec.RunParams{ Commands: strings.Join(cmds, "\n"), }) if err != nil { return errors.Annotate(err, "could not create juju registry key") } logger.Infof("created juju registry key at %s", osenv.JujuRegistryKey) return nil } return nil }