func setupStoragePool(c *gc.C, st *state.State) { pm := poolmanager.New(state.NewStateSettings(st)) _, err := pm.Create("loop-pool", provider.LoopProviderType, map[string]interface{}{}) c.Assert(err, jc.ErrorIsNil) err = st.UpdateEnvironConfig(map[string]interface{}{ "storage-default-block-source": "loop-pool", }, nil, nil) c.Assert(err, jc.ErrorIsNil) }
func updateSecrets(env environs.Environ, st *state.State) error { secrets, err := env.Provider().SecretAttrs(env.Config()) if err != nil { return err } cfg, err := st.EnvironConfig() if err != nil { return err } secretAttrs := make(map[string]interface{}) attrs := cfg.AllAttrs() for k, v := range secrets { if _, exists := attrs[k]; exists { // Environment already has secrets. Won't send again. return nil } else { secretAttrs[k] = v } } return st.UpdateEnvironConfig(secretAttrs, nil, nil) }
// breakDummyProvider changes the environment config in state in a way // that causes the given environMethod of the dummy provider to return // an error, which is also returned as a message to be checked. func breakDummyProvider(c *gc.C, st *state.State, environMethod string) string { attrs := map[string]interface{}{"broken": environMethod} err := st.UpdateEnvironConfig(attrs, nil, nil) c.Assert(err, gc.IsNil) return fmt.Sprintf("dummy.%s is broken", environMethod) }
// SetAgentVersion sets the current agent version in the state's // environment configuration. // This is similar to state.SetEnvironAgentVersion but it doesn't require that // the environment have all agents at the same version already. func SetAgentVersion(st *state.State, vers version.Number) error { return st.UpdateEnvironConfig(map[string]interface{}{"agent-version": vers.String()}, nil, nil) }
func SetSSLHostnameVerification(c *gc.C, st *state.State, SSLHostnameVerification bool) { err := st.UpdateEnvironConfig(map[string]interface{}{"ssl-hostname-verification": SSLHostnameVerification}, nil, nil) c.Assert(err, jc.ErrorIsNil) }