Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(571)

Unified Diff: state/api/provisioner/provisioner_test.go

Issue 96140044: Introduce lxc-use-clone, ContainerManagerConfig
Patch Set: Introduce lxc-use-clone, ContainerManagerConfig Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « state/api/provisioner/provisioner.go ('k') | state/apiserver/provisioner/provisioner.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: state/api/provisioner/provisioner_test.go
=== modified file 'state/api/provisioner/provisioner_test.go'
--- state/api/provisioner/provisioner_test.go 2014-04-22 09:23:39 +0000
+++ state/api/provisioner/provisioner_test.go 2014-05-09 01:41:54 +0000
@@ -10,6 +10,7 @@
gc "launchpad.net/gocheck"
"launchpad.net/juju-core/constraints"
+ "launchpad.net/juju-core/container"
"launchpad.net/juju-core/errors"
"launchpad.net/juju-core/instance"
"launchpad.net/juju-core/juju/testing"
@@ -533,6 +534,59 @@
c.Assert(addresses, gc.DeepEquals, stateAddresses)
}
+func (s *provisionerSuite) TestContainerManagerConfigKVM(c *gc.C) {
+ args := params.ContainerManagerConfigParams{Type: instance.KVM}
+ result, err := s.provisioner.ContainerManagerConfig(args)
+ c.Assert(err, gc.IsNil)
+ c.Assert(result.ManagerConfig, gc.DeepEquals, map[string]string{
+ container.ConfigName: "juju",
+ })
+}
+
+func (s *provisionerSuite) TestContainerManagerConfigLXC(c *gc.C) {
+ args := params.ContainerManagerConfigParams{Type: instance.LXC}
+ st, err := state.Open(s.StateInfo(c), state.DialOpts{}, state.Policy(nil))
+ c.Assert(err, gc.IsNil)
+ defer st.Close()
+
+ tests := []struct {
+ lxcUseClone bool
+ expectedUseClone string
+ }{{
+ lxcUseClone: false,
+ expectedUseClone: "false",
+ }, {
+ lxcUseClone: true,
+ expectedUseClone: "true",
+ }}
+
+ // Change lxc-use-clone, and ensure it gets picked up.
+ for i, t := range tests {
+ c.Logf("test %d: %+v", i, t)
+ err = st.UpdateEnvironConfig(map[string]interface{}{
+ "lxc-use-clone": t.lxcUseClone,
+ }, nil, nil)
+ c.Assert(err, gc.IsNil)
+ result, err := s.provisioner.ContainerManagerConfig(args)
+ c.Assert(err, gc.IsNil)
+ c.Assert(result.ManagerConfig, gc.DeepEquals, map[string]string{
+ container.ConfigName: "juju",
+ "use-clone": t.expectedUseClone,
+ })
+ }
+}
+
+func (s *provisionerSuite) TestContainerManagerConfigPermissive(c *gc.C) {
+ // ContainerManagerConfig is permissive of container types, and
+ // will just return the basic type-independent configuration.
+ args := params.ContainerManagerConfigParams{Type: "invalid"}
+ result, err := s.provisioner.ContainerManagerConfig(args)
+ c.Assert(err, gc.IsNil)
+ c.Assert(result.ManagerConfig, gc.DeepEquals, map[string]string{
+ container.ConfigName: "juju",
+ })
+}
+
func (s *provisionerSuite) TestContainerConfig(c *gc.C) {
result, err := s.provisioner.ContainerConfig()
c.Assert(err, gc.IsNil)
« no previous file with comments | « state/api/provisioner/provisioner.go ('k') | state/apiserver/provisioner/provisioner.go » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b