func (s *workerSuite) SetUpTest(c *gc.C) { //TODO(bogdanteleaga): Fix this on windows if runtime.GOOS == "windows" { c.Skip("bug 1403084: authentication worker not implemented yet on windows") } s.JujuConnSuite.SetUpTest(c) // Default ssh user is currently "ubuntu". c.Assert(authenticationworker.SSHUser, gc.Equals, "ubuntu") // Set the ssh user to empty (the current user) as required by the test infrastructure. s.PatchValue(&authenticationworker.SSHUser, "") // Replace the default dummy key in the test environment with a valid one. // This will be added to the ssh authorised keys when the agent starts. s.setAuthorisedKeys(c, sshtesting.ValidKeyOne.Key+" firstuser@host") // Record the existing key with its prefix for testing later. s.existingEnvKey = sshtesting.ValidKeyOne.Key + " Juju:firstuser@host" // Set up an existing key (which is not in the environment) in the ssh authorised_keys file. s.existingKeys = []string{sshtesting.ValidKeyTwo.Key + " existinguser@host"} err := ssh.AddKeys(authenticationworker.SSHUser, s.existingKeys...) c.Assert(err, jc.ErrorIsNil) var apiRoot api.Connection apiRoot, s.machine = s.OpenAPIAsNewMachine(c) c.Assert(apiRoot, gc.NotNil) s.keyupdaterApi = keyupdater.NewState(apiRoot) c.Assert(s.keyupdaterApi, gc.NotNil) }
func newWorker(a agent.Agent, apiCaller base.APICaller) (worker.Worker, error) { w, err := NewWorker(keyupdater.NewState(apiCaller), a.CurrentConfig()) if err != nil { return nil, errors.Annotate(err, "cannot start ssh auth-keys updater worker") } return w, nil }
func (s *keyupdaterSuite) SetUpTest(c *gc.C) { s.JujuConnSuite.SetUpTest(c) var stateAPI api.Connection stateAPI, s.rawMachine = s.OpenAPIAsNewMachine(c) c.Assert(stateAPI, gc.NotNil) s.keyupdater = keyupdater.NewState(stateAPI) c.Assert(s.keyupdater, gc.NotNil) }
func newWorker(a agent.Agent, apiCaller base.APICaller) (worker.Worker, error) { apiConn, ok := apiCaller.(api.Connection) if !ok { return nil, errors.New("unable to obtain api.Connection") } w, err := NewWorker(keyupdater.NewState(apiConn), a.CurrentConfig()) if err != nil { return nil, errors.Annotate(err, "cannot start ssh auth-keys updater worker") } return w, nil }
// KeyUpdater returns access to the KeyUpdater API func (st *State) KeyUpdater() *keyupdater.State { return keyupdater.NewState(st) }