Merge lp:~thumper/juju-core/container-dir-filesystem-type into lp:~go-bot/juju-core/trunk

Proposed by Tim Penhey
Status: Merged
Approved by: John A Meinel
Approved revision: no longer in the source branch.
Merged at revision: 2408
Proposed branch: lp:~thumper/juju-core/container-dir-filesystem-type
Merge into: lp:~go-bot/juju-core/trunk
Prerequisite: lp:~thumper/juju-core/autostart-containers-after-creation
Diff against target: 145 lines (+74/-7)
3 files modified
container/lxc/export_test.go (+3/-2)
container/lxc/lxc.go (+39/-4)
container/lxc/lxc_test.go (+32/-1)
To merge this branch: bzr merge lp:~thumper/juju-core/container-dir-filesystem-type
Reviewer Review Type Date Requested Status
Juju Engineering Pending
Review via email: mp+210101@code.launchpad.net

Commit message

Detect backing filesystem for lxc container dir.

Have the LXC container manager know the underlying
filesystem of the container directory.

This is necessary for the container manager to become
btrfs aware, for snapshotting containers on clone.

https://codereview.appspot.com/73310043/

Description of the change

Detect backing filesystem for lxc container dir.

Have the LXC container manager know the underlying
filesystem of the container directory.

This is necessary for the container manager to become
btrfs aware, for snapshotting containers on clone.

https://codereview.appspot.com/73310043/

To post a comment you must log in.
Revision history for this message
Tim Penhey (thumper) wrote :
Download full text (4.8 KiB)

Reviewers: mp+210101_code.launchpad.net,

Message:
Please take a look.

Description:
Detect backing filesystem for lxc container dir.

Have the LXC container manager know the underlying
filesystem of the container directory.

This is necessary for the container manager to become
btrfs aware, for snapshotting containers on clone.

https://code.launchpad.net/~thumper/juju-core/container-dir-filesystem-type/+merge/210101

Requires:
https://code.launchpad.net/~thumper/juju-core/autostart-containers-after-creation/+merge/210099

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/73310043/

Affected files (+71, -5 lines):
   A [revision details]
   M container/lxc/export_test.go
   M container/lxc/lxc.go
   M container/lxc/lxc_test.go

Index: [revision details]
=== added file '[revision details]'
--- [revision details] 2012-01-01 00:00:00 +0000
+++ [revision details] 2012-01-01 00:00:00 +0000
@@ -0,0 +1,2 @@
+Old revision: <email address hidden>
+New revision: <email address hidden>

Index: container/lxc/export_test.go
=== modified file 'container/lxc/export_test.go'
--- container/lxc/export_test.go 2014-03-07 02:44:39 +0000
+++ container/lxc/export_test.go 2014-03-07 02:53:53 +0000
@@ -4,8 +4,9 @@
  package lxc

  var (
+ ContainerConfigFilename = containerConfigFilename
+ ContainerDirFilesystem = containerDirFilesystem
+ GenerateNetworkConfig = generateNetworkConfig
   NetworkConfigTemplate = networkConfigTemplate
- GenerateNetworkConfig = generateNetworkConfig
   RestartSymlink = restartSymlink
- ContainerConfigFilename = containerConfigFilename
  )

Index: container/lxc/lxc.go
=== modified file 'container/lxc/lxc.go'
--- container/lxc/lxc.go 2014-03-09 20:53:16 +0000
+++ container/lxc/lxc.go 2014-03-09 21:33:22 +0000
@@ -7,6 +7,7 @@
   "fmt"
   "io/ioutil"
   "os"
+ "os/exec"
   "path/filepath"
   "strings"

@@ -33,6 +34,8 @@
  const (
   // DefaultLxcBridge is the package created container bridge
   DefaultLxcBridge = "lxcbr0"
+ // Btrfs is special as we treat it differently for create and clone.
+ Btrfs = "btrfs"
  )

  // DefaultNetworkConfig returns a valid NetworkConfig to use the
@@ -41,9 +44,29 @@
   return container.BridgeNetworkConfig(DefaultLxcBridge)
  }

+// FsCommandOutput calls cmd.Output, this is used as an overloading point
so
+// we can test what *would* be run without actually executing another
program
+var FsCommandOutput = (*exec.Cmd).CombinedOutput
+
+func containerDirFilesystem() (string, error) {
+ cmd := exec.Command("df", "--output=fstype", LxcContainerDir)
+ out, err := FsCommandOutput(cmd)
+ if err != nil {
+ return "", err
+ }
+ // The filesystem is the second line.
+ lines := strings.Split(string(out), "\n")
+ if len(lines) < 2 {
+ logger.Errorf("unexpected output: ", out)
+ return "", fmt.Errorf("could not determine filesystem type")
+ }
+ return lines[1], nil
+}
+
  type containerManager struct {
- name string
- logdir string
+ name string
+ logdir string
+ backingFilesystem string
  }

  // containerManager implements container.Manager.
@@ -61,7...

Read more...

Revision history for this message
Andrew Wilkins (axwalk) wrote :

https://codereview.appspot.com/73310043/diff/1/container/lxc/lxc.go
File container/lxc/lxc.go (right):

https://codereview.appspot.com/73310043/diff/1/container/lxc/lxc.go#newcode49
container/lxc/lxc.go:49: var FsCommandOutput =
(*exec.Cmd).CombinedOutput
Do you really want CombinedOutput? Just Output, I think.

https://codereview.appspot.com/73310043/diff/1/container/lxc/lxc.go#newcode52
container/lxc/lxc.go:52: cmd := exec.Command("df", "--output=fstype",
LxcContainerDir)
If you use Output instead, you can store Stderr in a bytes.Buffer and
add it to the error for context.

https://codereview.appspot.com/73310043/

Revision history for this message
Andrew Wilkins (axwalk) wrote :

On 2014/03/10 01:20:01, axw wrote:
> https://codereview.appspot.com/73310043/diff/1/container/lxc/lxc.go
> File container/lxc/lxc.go (right):

https://codereview.appspot.com/73310043/diff/1/container/lxc/lxc.go#newcode49
> container/lxc/lxc.go:49: var FsCommandOutput =
(*exec.Cmd).CombinedOutput
> Do you really want CombinedOutput? Just Output, I think.

https://codereview.appspot.com/73310043/diff/1/container/lxc/lxc.go#newcode52
> container/lxc/lxc.go:52: cmd := exec.Command("df", "--output=fstype",
> LxcContainerDir)
> If you use Output instead, you can store Stderr in a bytes.Buffer and
add it to
> the error for context.

After discussion, LGTM, since you won't get mixed stdout/stderr.

https://codereview.appspot.com/73310043/

Revision history for this message
Go Bot (go-bot) wrote :

Attempt to merge into lp:juju-core failed due to conflicts:

text conflict in container/lxc/lxc.go

Revision history for this message
Go Bot (go-bot) wrote :
Download full text (18.7 KiB)

The attempt to merge lp:~thumper/juju-core/container-dir-filesystem-type into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core 0.014s
ok launchpad.net/juju-core/agent 1.025s
ok launchpad.net/juju-core/agent/mongo 0.554s
ok launchpad.net/juju-core/agent/tools 0.227s
ok launchpad.net/juju-core/bzr 5.133s
ok launchpad.net/juju-core/cert 3.191s
ok launchpad.net/juju-core/charm 0.378s
? launchpad.net/juju-core/charm/hooks [no test files]
? launchpad.net/juju-core/charm/testing [no test files]
ok launchpad.net/juju-core/cloudinit 0.032s
ok launchpad.net/juju-core/cloudinit/sshinit 0.834s
ok launchpad.net/juju-core/cmd 0.154s
ok launchpad.net/juju-core/cmd/charm-admin 0.757s
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]
ok launchpad.net/juju-core/cmd/juju 190.117s
ok launchpad.net/juju-core/cmd/jujud 63.401s
ok launchpad.net/juju-core/cmd/plugins/juju-metadata 9.551s
? launchpad.net/juju-core/cmd/plugins/juju-restore [no test files]
ok launchpad.net/juju-core/cmd/plugins/local 0.224s
? launchpad.net/juju-core/cmd/plugins/local/juju-local [no test files]
ok launchpad.net/juju-core/constraints 0.025s
ok launchpad.net/juju-core/container 0.049s

----------------------------------------------------------------------
FAIL: factory_test.go:21: factorySuite.TestNewContainerManager

factory_test.go:41:
    c.Assert(err, gc.IsNil)
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0xc2001cf360)} ("exit status 1")

OOPS: 0 passed, 1 FAILED
--- FAIL: Test (0.00 seconds)
FAIL
FAIL launchpad.net/juju-core/container/factory 0.042s
ok launchpad.net/juju-core/container/kvm 0.217s
ok launchpad.net/juju-core/container/kvm/mock 0.041s
? launchpad.net/juju-core/container/kvm/testing [no test files]

----------------------------------------------------------------------
FAIL: lxc_test.go:133: LxcSuite.TestContainerState

lxc_test.go:134:
    manager := s.makeManager(c, "test")
lxc_test.go:79:
    c.Assert(err, gc.IsNil)
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0xc2002f34a0)} ("exit status 1")

----------------------------------------------------------------------
FAIL: lxc_test.go:186: LxcSuite.TestListContainers

lxc_test.go:187:
    foo := s.makeManager(c, "foo")
lxc_test.go:79:
    c.Assert(err, gc.IsNil)
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0xc2003f29e0)} ("exit status 1")

----------------------------------------------------------------------
FAIL: lxc_test.go:83: LxcSuite.TestManagerWarnsAboutUnknownOption

lxc_test.go:88:
    c.Assert(err, gc.IsNil)
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0xc2001a82c0)} ("exit status 1")

----------------------------------------------------------------------
FAIL: lxc_test.go:180: LxcSuite.TestNamedManagerPrefix

lxc_test.go:181:
    manager := s.makeManager(c, "eric")
lxc_test.go:79:
    c.Assert(err, gc.IsNil)
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0xc2003f8860)} ("exit status 1")

-----------...

Revision history for this message
Go Bot (go-bot) wrote :
Revision history for this message
Go Bot (go-bot) wrote :
Download full text (18.7 KiB)

The attempt to merge lp:~thumper/juju-core/container-dir-filesystem-type into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core 0.014s
ok launchpad.net/juju-core/agent 1.058s
ok launchpad.net/juju-core/agent/mongo 0.544s
ok launchpad.net/juju-core/agent/tools 0.211s
ok launchpad.net/juju-core/bzr 5.602s
ok launchpad.net/juju-core/cert 2.914s
ok launchpad.net/juju-core/charm 0.385s
? launchpad.net/juju-core/charm/hooks [no test files]
? launchpad.net/juju-core/charm/testing [no test files]
ok launchpad.net/juju-core/cloudinit 0.026s
ok launchpad.net/juju-core/cloudinit/sshinit 0.891s
ok launchpad.net/juju-core/cmd 0.148s
ok launchpad.net/juju-core/cmd/charm-admin 0.743s
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]
ok launchpad.net/juju-core/cmd/juju 187.835s
ok launchpad.net/juju-core/cmd/jujud 63.174s
ok launchpad.net/juju-core/cmd/plugins/juju-metadata 7.809s
? launchpad.net/juju-core/cmd/plugins/juju-restore [no test files]
ok launchpad.net/juju-core/cmd/plugins/local 0.174s
? launchpad.net/juju-core/cmd/plugins/local/juju-local [no test files]
ok launchpad.net/juju-core/constraints 0.022s
ok launchpad.net/juju-core/container 0.049s

----------------------------------------------------------------------
FAIL: factory_test.go:21: factorySuite.TestNewContainerManager

factory_test.go:41:
    c.Assert(err, gc.IsNil)
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0xc2001c7360)} ("exit status 1")

OOPS: 0 passed, 1 FAILED
--- FAIL: Test (0.00 seconds)
FAIL
FAIL launchpad.net/juju-core/container/factory 0.051s
ok launchpad.net/juju-core/container/kvm 0.191s
ok launchpad.net/juju-core/container/kvm/mock 0.043s
? launchpad.net/juju-core/container/kvm/testing [no test files]

----------------------------------------------------------------------
FAIL: lxc_test.go:133: LxcSuite.TestContainerState

lxc_test.go:134:
    manager := s.makeManager(c, "test")
lxc_test.go:79:
    c.Assert(err, gc.IsNil)
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0xc20024ca80)} ("exit status 1")

----------------------------------------------------------------------
FAIL: lxc_test.go:186: LxcSuite.TestListContainers

lxc_test.go:187:
    foo := s.makeManager(c, "foo")
lxc_test.go:79:
    c.Assert(err, gc.IsNil)
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0xc20030bfc0)} ("exit status 1")

----------------------------------------------------------------------
FAIL: lxc_test.go:83: LxcSuite.TestManagerWarnsAboutUnknownOption

lxc_test.go:88:
    c.Assert(err, gc.IsNil)
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0xc200217520)} ("exit status 1")

----------------------------------------------------------------------
FAIL: lxc_test.go:180: LxcSuite.TestNamedManagerPrefix

lxc_test.go:181:
    manager := s.makeManager(c, "eric")
lxc_test.go:79:
    c.Assert(err, gc.IsNil)
... value *exec.ExitError = &exec.ExitError{ProcessState:(*os.ProcessState)(0xc2003b2ac0)} ("exit status 1")

-----------...

Revision history for this message
Go Bot (go-bot) wrote :
Download full text (9.8 KiB)

The attempt to merge lp:~thumper/juju-core/container-dir-filesystem-type into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core 0.022s
ok launchpad.net/juju-core/agent 1.033s
ok launchpad.net/juju-core/agent/mongo 0.511s
ok launchpad.net/juju-core/agent/tools 0.191s
ok launchpad.net/juju-core/bzr 5.006s
ok launchpad.net/juju-core/cert 2.774s
ok launchpad.net/juju-core/charm 0.446s
? launchpad.net/juju-core/charm/hooks [no test files]
? launchpad.net/juju-core/charm/testing [no test files]
ok launchpad.net/juju-core/cloudinit 0.034s
ok launchpad.net/juju-core/cloudinit/sshinit 0.889s
ok launchpad.net/juju-core/cmd 0.232s
ok launchpad.net/juju-core/cmd/charm-admin 0.751s
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]
ok launchpad.net/juju-core/cmd/juju 195.832s
ok launchpad.net/juju-core/cmd/jujud 63.681s
ok launchpad.net/juju-core/cmd/plugins/juju-metadata 9.929s
? launchpad.net/juju-core/cmd/plugins/juju-restore [no test files]
ok launchpad.net/juju-core/cmd/plugins/local 0.163s
? launchpad.net/juju-core/cmd/plugins/local/juju-local [no test files]
ok launchpad.net/juju-core/constraints 0.029s
ok launchpad.net/juju-core/container 0.048s
ok launchpad.net/juju-core/container/factory 0.054s
ok launchpad.net/juju-core/container/kvm 0.158s
ok launchpad.net/juju-core/container/kvm/mock 0.042s
? launchpad.net/juju-core/container/kvm/testing [no test files]
ok launchpad.net/juju-core/container/lxc 0.258s
? launchpad.net/juju-core/container/lxc/mock [no test files]
? launchpad.net/juju-core/container/lxc/testing [no test files]
? launchpad.net/juju-core/container/testing [no test files]
ok launchpad.net/juju-core/downloader 5.240s
ok launchpad.net/juju-core/environs 2.157s
ok launchpad.net/juju-core/environs/bootstrap 3.085s
ok launchpad.net/juju-core/environs/cloudinit 0.445s
ok launchpad.net/juju-core/environs/config 1.777s
ok launchpad.net/juju-core/environs/configstore 0.037s
ok launchpad.net/juju-core/environs/filestorage 0.027s
ok launchpad.net/juju-core/environs/httpstorage 0.806s
ok launchpad.net/juju-core/environs/imagemetadata 0.468s
? launchpad.net/juju-core/environs/imagemetadata/testing [no test files]
ok launchpad.net/juju-core/environs/instances 0.042s
ok launchpad.net/juju-core/environs/jujutest 0.174s
ok launchpad.net/juju-core/environs/manual 11.979s
ok launchpad.net/juju-core/environs/simplestreams 0.266s
? launchpad.net/juju-core/environs/simplestreams/testing [no test files]
ok launchpad.net/juju-core/environs/sshstorage 0.793s
ok launchpad.net/juju-core/environs/storage 0.927s
ok launchpad.net/juju-core/environs/sync 23.448s
ok launchpad.net/juju-core/environs/testing 0.151s
ok launchpad.net/juju-core/environs/tools 5.178s
? launchpad.net/juju-core/environs/tools/testing [no test files]
ok launchpad.net/juju-core/errors 0.012s
ok launchpad.net/juju-core/instance 0.022s
? launchpad.net/juju-core/instance/testing [no test files]
ok launchpad.net/juju-core/juju 19.286s
ok launchpad.net/juju-core/juju/osen...

Revision history for this message
Go Bot (go-bot) wrote :
Download full text (11.2 KiB)

The attempt to merge lp:~thumper/juju-core/container-dir-filesystem-type into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core 0.012s
ok launchpad.net/juju-core/agent 1.066s
ok launchpad.net/juju-core/agent/mongo 0.518s
ok launchpad.net/juju-core/agent/tools 0.219s
ok launchpad.net/juju-core/bzr 5.060s
ok launchpad.net/juju-core/cert 3.257s
ok launchpad.net/juju-core/charm 0.436s
? launchpad.net/juju-core/charm/hooks [no test files]
? launchpad.net/juju-core/charm/testing [no test files]
ok launchpad.net/juju-core/cloudinit 0.032s
ok launchpad.net/juju-core/cloudinit/sshinit 0.773s
ok launchpad.net/juju-core/cmd 0.177s
ok launchpad.net/juju-core/cmd/charm-admin 0.739s
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]
ok launchpad.net/juju-core/cmd/juju 186.249s
ok launchpad.net/juju-core/cmd/jujud 63.564s
ok launchpad.net/juju-core/cmd/plugins/juju-metadata 9.750s
? launchpad.net/juju-core/cmd/plugins/juju-restore [no test files]
ok launchpad.net/juju-core/cmd/plugins/local 0.198s
? launchpad.net/juju-core/cmd/plugins/local/juju-local [no test files]
ok launchpad.net/juju-core/constraints 0.027s
ok launchpad.net/juju-core/container 0.042s
ok launchpad.net/juju-core/container/factory 0.043s
ok launchpad.net/juju-core/container/kvm 0.171s
ok launchpad.net/juju-core/container/kvm/mock 0.041s
? launchpad.net/juju-core/container/kvm/testing [no test files]
ok launchpad.net/juju-core/container/lxc 0.240s
? launchpad.net/juju-core/container/lxc/mock [no test files]
? launchpad.net/juju-core/container/lxc/testing [no test files]
? launchpad.net/juju-core/container/testing [no test files]
ok launchpad.net/juju-core/downloader 5.231s
ok launchpad.net/juju-core/environs 2.220s
ok launchpad.net/juju-core/environs/bootstrap 2.965s
ok launchpad.net/juju-core/environs/cloudinit 0.418s
ok launchpad.net/juju-core/environs/config 1.578s
ok launchpad.net/juju-core/environs/configstore 0.028s
ok launchpad.net/juju-core/environs/filestorage 0.024s
ok launchpad.net/juju-core/environs/httpstorage 0.727s
ok launchpad.net/juju-core/environs/imagemetadata 0.415s
? launchpad.net/juju-core/environs/imagemetadata/testing [no test files]
ok launchpad.net/juju-core/environs/instances 0.043s
ok launchpad.net/juju-core/environs/jujutest 0.165s
ok launchpad.net/juju-core/environs/manual 11.828s
ok launchpad.net/juju-core/environs/simplestreams 0.291s
? launchpad.net/juju-core/environs/simplestreams/testing [no test files]
ok launchpad.net/juju-core/environs/sshstorage 0.928s
ok launchpad.net/juju-core/environs/storage 0.939s
ok launchpad.net/juju-core/environs/sync 24.748s
ok launchpad.net/juju-core/environs/testing 0.152s
ok launchpad.net/juju-core/environs/tools 4.754s
? launchpad.net/juju-core/environs/tools/testing [no test files]
ok launchpad.net/juju-core/errors 0.012s
ok launchpad.net/juju-core/instance 0.019s
? launchpad.net/juju-core/instance/testing [no test files]
ok launchpad.net/juju-core/juju 17.426s
ok launchpad.net/juju-core/juju/osen...

Revision history for this message
Go Bot (go-bot) wrote :
Download full text (10.6 KiB)

The attempt to merge lp:~thumper/juju-core/container-dir-filesystem-type into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core 0.014s
ok launchpad.net/juju-core/agent 1.260s
ok launchpad.net/juju-core/agent/mongo 0.516s
ok launchpad.net/juju-core/agent/tools 0.192s
ok launchpad.net/juju-core/bzr 5.327s
ok launchpad.net/juju-core/cert 2.582s
ok launchpad.net/juju-core/charm 0.401s
? launchpad.net/juju-core/charm/hooks [no test files]
? launchpad.net/juju-core/charm/testing [no test files]
ok launchpad.net/juju-core/cloudinit 0.037s
ok launchpad.net/juju-core/cloudinit/sshinit 0.828s
ok launchpad.net/juju-core/cmd 0.185s
ok launchpad.net/juju-core/cmd/charm-admin 0.766s
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]
ok launchpad.net/juju-core/cmd/juju 191.246s
ok launchpad.net/juju-core/cmd/jujud 63.954s
ok launchpad.net/juju-core/cmd/plugins/juju-metadata 8.680s
? launchpad.net/juju-core/cmd/plugins/juju-restore [no test files]
ok launchpad.net/juju-core/cmd/plugins/local 0.156s
? launchpad.net/juju-core/cmd/plugins/local/juju-local [no test files]
ok launchpad.net/juju-core/constraints 0.024s
ok launchpad.net/juju-core/container 0.046s
ok launchpad.net/juju-core/container/factory 0.043s
ok launchpad.net/juju-core/container/kvm 0.227s
ok launchpad.net/juju-core/container/kvm/mock 0.049s
? launchpad.net/juju-core/container/kvm/testing [no test files]
ok launchpad.net/juju-core/container/lxc 0.267s
? launchpad.net/juju-core/container/lxc/mock [no test files]
? launchpad.net/juju-core/container/lxc/testing [no test files]
? launchpad.net/juju-core/container/testing [no test files]
ok launchpad.net/juju-core/downloader 5.213s
ok launchpad.net/juju-core/environs 2.434s
ok launchpad.net/juju-core/environs/bootstrap 3.232s
ok launchpad.net/juju-core/environs/cloudinit 0.488s
ok launchpad.net/juju-core/environs/config 3.667s
ok launchpad.net/juju-core/environs/configstore 0.030s
ok launchpad.net/juju-core/environs/filestorage 0.027s
ok launchpad.net/juju-core/environs/httpstorage 0.713s
ok launchpad.net/juju-core/environs/imagemetadata 0.483s
? launchpad.net/juju-core/environs/imagemetadata/testing [no test files]
ok launchpad.net/juju-core/environs/instances 0.049s
ok launchpad.net/juju-core/environs/jujutest 0.176s
ok launchpad.net/juju-core/environs/manual 12.390s
ok launchpad.net/juju-core/environs/simplestreams 0.295s
? launchpad.net/juju-core/environs/simplestreams/testing [no test files]
ok launchpad.net/juju-core/environs/sshstorage 0.973s
ok launchpad.net/juju-core/environs/storage 0.888s
ok launchpad.net/juju-core/environs/sync 24.558s
ok launchpad.net/juju-core/environs/testing 0.126s
ok launchpad.net/juju-core/environs/tools 4.896s
? launchpad.net/juju-core/environs/tools/testing [no test files]
ok launchpad.net/juju-core/errors 0.013s
ok launchpad.net/juju-core/instance 0.020s
? launchpad.net/juju-core/instance/testing [no test files]
ok launchpad.net/juju-core/juju 20.404s
ok launchpad.net/juju-core/juju/osen...

Revision history for this message
Go Bot (go-bot) wrote :
Download full text (10.2 KiB)

The attempt to merge lp:~thumper/juju-core/container-dir-filesystem-type into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core 0.050s
ok launchpad.net/juju-core/agent 1.102s
ok launchpad.net/juju-core/agent/mongo 0.555s
ok launchpad.net/juju-core/agent/tools 0.189s
ok launchpad.net/juju-core/bzr 4.748s
ok launchpad.net/juju-core/cert 2.702s
ok launchpad.net/juju-core/charm 0.365s
? launchpad.net/juju-core/charm/hooks [no test files]
? launchpad.net/juju-core/charm/testing [no test files]
ok launchpad.net/juju-core/cloudinit 0.026s
ok launchpad.net/juju-core/cloudinit/sshinit 0.828s
ok launchpad.net/juju-core/cmd 0.142s
ok launchpad.net/juju-core/cmd/charm-admin 0.757s
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]
ok launchpad.net/juju-core/cmd/juju 190.649s
ok launchpad.net/juju-core/cmd/jujud 54.137s
ok launchpad.net/juju-core/cmd/plugins/juju-metadata 7.442s
? launchpad.net/juju-core/cmd/plugins/juju-restore [no test files]
ok launchpad.net/juju-core/cmd/plugins/local 0.156s
? launchpad.net/juju-core/cmd/plugins/local/juju-local [no test files]
ok launchpad.net/juju-core/constraints 0.020s
ok launchpad.net/juju-core/container 0.036s
ok launchpad.net/juju-core/container/factory 0.038s
ok launchpad.net/juju-core/container/kvm 0.231s
ok launchpad.net/juju-core/container/kvm/mock 0.037s
? launchpad.net/juju-core/container/kvm/testing [no test files]
ok launchpad.net/juju-core/container/lxc 0.287s
? launchpad.net/juju-core/container/lxc/mock [no test files]
? launchpad.net/juju-core/container/lxc/testing [no test files]
? launchpad.net/juju-core/container/testing [no test files]
ok launchpad.net/juju-core/downloader 5.218s
ok launchpad.net/juju-core/environs 2.055s
ok launchpad.net/juju-core/environs/bootstrap 3.364s
ok launchpad.net/juju-core/environs/cloudinit 0.510s
ok launchpad.net/juju-core/environs/config 4.091s
ok launchpad.net/juju-core/environs/configstore 0.027s
ok launchpad.net/juju-core/environs/filestorage 0.025s
ok launchpad.net/juju-core/environs/httpstorage 0.830s
ok launchpad.net/juju-core/environs/imagemetadata 0.420s
? launchpad.net/juju-core/environs/imagemetadata/testing [no test files]
ok launchpad.net/juju-core/environs/instances 0.042s
ok launchpad.net/juju-core/environs/jujutest 0.165s
ok launchpad.net/juju-core/environs/manual 9.878s
ok launchpad.net/juju-core/environs/simplestreams 0.252s
? launchpad.net/juju-core/environs/simplestreams/testing [no test files]
ok launchpad.net/juju-core/environs/sshstorage 0.924s
ok launchpad.net/juju-core/environs/storage 0.875s
ok launchpad.net/juju-core/environs/sync 24.855s
ok launchpad.net/juju-core/environs/testing 0.215s
ok launchpad.net/juju-core/environs/tools 4.985s
? launchpad.net/juju-core/environs/tools/testing [no test files]
ok launchpad.net/juju-core/errors 0.011s
ok launchpad.net/juju-core/instance 0.018s
? launchpad.net/juju-core/instance/testing [no test files]
ok launchpad.net/juju-core/juju 18.618s
ok launchpad.net/juju-core/juju/osenv...

Revision history for this message
Go Bot (go-bot) wrote :
Download full text (10.3 KiB)

The attempt to merge lp:~thumper/juju-core/container-dir-filesystem-type into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core 0.014s
ok launchpad.net/juju-core/agent 1.037s
ok launchpad.net/juju-core/agent/mongo 0.535s
ok launchpad.net/juju-core/agent/tools 0.174s
ok launchpad.net/juju-core/bzr 5.856s
ok launchpad.net/juju-core/cert 2.215s
ok launchpad.net/juju-core/charm 0.399s
? launchpad.net/juju-core/charm/hooks [no test files]
? launchpad.net/juju-core/charm/testing [no test files]
ok launchpad.net/juju-core/cloudinit 0.029s
ok launchpad.net/juju-core/cloudinit/sshinit 0.774s
ok launchpad.net/juju-core/cmd 0.174s
ok launchpad.net/juju-core/cmd/charm-admin 0.788s
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]
ok launchpad.net/juju-core/cmd/juju 197.617s
*** Test killed: ran too long (10m0s).
FAIL launchpad.net/juju-core/cmd/jujud 600.005s
ok launchpad.net/juju-core/cmd/plugins/juju-metadata 8.273s
? launchpad.net/juju-core/cmd/plugins/juju-restore [no test files]
ok launchpad.net/juju-core/cmd/plugins/local 0.177s
? launchpad.net/juju-core/cmd/plugins/local/juju-local [no test files]
ok launchpad.net/juju-core/constraints 0.026s
ok launchpad.net/juju-core/container 0.046s
ok launchpad.net/juju-core/container/factory 0.053s
ok launchpad.net/juju-core/container/kvm 0.183s
ok launchpad.net/juju-core/container/kvm/mock 0.046s
? launchpad.net/juju-core/container/kvm/testing [no test files]
ok launchpad.net/juju-core/container/lxc 0.259s
? launchpad.net/juju-core/container/lxc/mock [no test files]
? launchpad.net/juju-core/container/lxc/testing [no test files]
? launchpad.net/juju-core/container/testing [no test files]
ok launchpad.net/juju-core/downloader 5.256s
ok launchpad.net/juju-core/environs 2.329s
ok launchpad.net/juju-core/environs/bootstrap 3.247s
ok launchpad.net/juju-core/environs/cloudinit 0.499s
ok launchpad.net/juju-core/environs/config 2.591s
ok launchpad.net/juju-core/environs/configstore 0.038s
ok launchpad.net/juju-core/environs/filestorage 0.030s
ok launchpad.net/juju-core/environs/httpstorage 0.764s
ok launchpad.net/juju-core/environs/imagemetadata 0.525s
? launchpad.net/juju-core/environs/imagemetadata/testing [no test files]
ok launchpad.net/juju-core/environs/instances 0.051s
ok launchpad.net/juju-core/environs/jujutest 0.201s
ok launchpad.net/juju-core/environs/manual 11.355s
ok launchpad.net/juju-core/environs/simplestreams 0.270s
? launchpad.net/juju-core/environs/simplestreams/testing [no test files]
ok launchpad.net/juju-core/environs/sshstorage 0.955s
ok launchpad.net/juju-core/environs/storage 0.885s
ok launchpad.net/juju-core/environs/sync 24.241s
ok launchpad.net/juju-core/environs/testing 0.150s
ok launchpad.net/juju-core/environs/tools 4.917s
? launchpad.net/juju-core/environs/tools/testing [no test files]
ok launchpad.net/juju-core/errors 0.018s
ok launchpad.net/juju-core/instance 0.022s
? launchpad.net/juju-core/instance/testing [no test files]
ok launchpad.net/juju-core/juju 19.841...

Revision history for this message
Go Bot (go-bot) wrote :
Download full text (10.5 KiB)

The attempt to merge lp:~thumper/juju-core/container-dir-filesystem-type into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core 0.014s
ok launchpad.net/juju-core/agent 1.016s
ok launchpad.net/juju-core/agent/mongo 0.527s
ok launchpad.net/juju-core/agent/tools 0.220s
ok launchpad.net/juju-core/bzr 5.370s
ok launchpad.net/juju-core/cert 2.704s
ok launchpad.net/juju-core/charm 0.443s
? launchpad.net/juju-core/charm/hooks [no test files]
? launchpad.net/juju-core/charm/testing [no test files]
ok launchpad.net/juju-core/cloudinit 0.031s
ok launchpad.net/juju-core/cloudinit/sshinit 0.815s
ok launchpad.net/juju-core/cmd 0.183s
ok launchpad.net/juju-core/cmd/charm-admin 0.737s
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]
ok launchpad.net/juju-core/cmd/juju 194.819s
ok launchpad.net/juju-core/cmd/jujud 66.608s
ok launchpad.net/juju-core/cmd/plugins/juju-metadata 9.245s
? launchpad.net/juju-core/cmd/plugins/juju-restore [no test files]
ok launchpad.net/juju-core/cmd/plugins/local 0.182s
? launchpad.net/juju-core/cmd/plugins/local/juju-local [no test files]
ok launchpad.net/juju-core/constraints 0.024s
ok launchpad.net/juju-core/container 0.050s
ok launchpad.net/juju-core/container/factory 0.044s
ok launchpad.net/juju-core/container/kvm 0.181s
ok launchpad.net/juju-core/container/kvm/mock 0.052s
? launchpad.net/juju-core/container/kvm/testing [no test files]
ok launchpad.net/juju-core/container/lxc 0.267s
? launchpad.net/juju-core/container/lxc/mock [no test files]
? launchpad.net/juju-core/container/lxc/testing [no test files]
? launchpad.net/juju-core/container/testing [no test files]
ok launchpad.net/juju-core/downloader 5.298s
ok launchpad.net/juju-core/environs 2.293s
ok launchpad.net/juju-core/environs/bootstrap 3.053s
ok launchpad.net/juju-core/environs/cloudinit 0.435s
ok launchpad.net/juju-core/environs/config 3.361s
ok launchpad.net/juju-core/environs/configstore 0.042s
ok launchpad.net/juju-core/environs/filestorage 0.030s
ok launchpad.net/juju-core/environs/httpstorage 0.687s
ok launchpad.net/juju-core/environs/imagemetadata 0.452s
? launchpad.net/juju-core/environs/imagemetadata/testing [no test files]
ok launchpad.net/juju-core/environs/instances 0.043s
ok launchpad.net/juju-core/environs/jujutest 0.154s
ok launchpad.net/juju-core/environs/manual 10.446s
ok launchpad.net/juju-core/environs/simplestreams 0.267s
? launchpad.net/juju-core/environs/simplestreams/testing [no test files]
ok launchpad.net/juju-core/environs/sshstorage 0.919s
ok launchpad.net/juju-core/environs/storage 0.851s
ok launchpad.net/juju-core/environs/sync 23.140s
ok launchpad.net/juju-core/environs/testing 0.150s
ok launchpad.net/juju-core/environs/tools 4.963s
? launchpad.net/juju-core/environs/tools/testing [no test files]
ok launchpad.net/juju-core/errors 0.013s
ok launchpad.net/juju-core/instance 0.019s
? launchpad.net/juju-core/instance/testing [no test files]
ok launchpad.net/juju-core/juju 20.350s
ok launchpad.net/juju-core/juju/osen...

Revision history for this message
Go Bot (go-bot) wrote :
Download full text (26.0 KiB)

The attempt to merge lp:~thumper/juju-core/container-dir-filesystem-type into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core 0.022s
ok launchpad.net/juju-core/agent 1.346s
ok launchpad.net/juju-core/agent/mongo 0.568s
ok launchpad.net/juju-core/agent/tools 0.205s
ok launchpad.net/juju-core/bzr 5.411s
ok launchpad.net/juju-core/cert 2.619s
ok launchpad.net/juju-core/charm 0.404s
? launchpad.net/juju-core/charm/hooks [no test files]
? launchpad.net/juju-core/charm/testing [no test files]
ok launchpad.net/juju-core/cloudinit 0.030s
ok launchpad.net/juju-core/cloudinit/sshinit 0.947s
ok launchpad.net/juju-core/cmd 0.138s
ok launchpad.net/juju-core/cmd/charm-admin 0.733s
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]
ok launchpad.net/juju-core/cmd/juju 191.484s
ok launchpad.net/juju-core/cmd/jujud 64.957s
ok launchpad.net/juju-core/cmd/plugins/juju-metadata 5.916s
? launchpad.net/juju-core/cmd/plugins/juju-restore [no test files]
ok launchpad.net/juju-core/cmd/plugins/local 0.161s
? launchpad.net/juju-core/cmd/plugins/local/juju-local [no test files]
ok launchpad.net/juju-core/constraints 0.028s
ok launchpad.net/juju-core/container 0.048s
ok launchpad.net/juju-core/container/factory 0.052s
ok launchpad.net/juju-core/container/kvm 0.211s
ok launchpad.net/juju-core/container/kvm/mock 0.043s
? launchpad.net/juju-core/container/kvm/testing [no test files]
ok launchpad.net/juju-core/container/lxc 0.288s
? launchpad.net/juju-core/container/lxc/mock [no test files]
? launchpad.net/juju-core/container/lxc/testing [no test files]
? launchpad.net/juju-core/container/testing [no test files]
ok launchpad.net/juju-core/downloader 5.251s
ok launchpad.net/juju-core/environs 2.452s
ok launchpad.net/juju-core/environs/bootstrap 3.039s
ok launchpad.net/juju-core/environs/cloudinit 0.414s
ok launchpad.net/juju-core/environs/config 1.735s
ok launchpad.net/juju-core/environs/configstore 0.029s
ok launchpad.net/juju-core/environs/filestorage 0.027s
ok launchpad.net/juju-core/environs/httpstorage 0.673s
ok launchpad.net/juju-core/environs/imagemetadata 0.541s
? launchpad.net/juju-core/environs/imagemetadata/testing [no test files]
ok launchpad.net/juju-core/environs/instances 0.045s
ok launchpad.net/juju-core/environs/jujutest 0.156s
ok launchpad.net/juju-core/environs/manual 10.864s
ok launchpad.net/juju-core/environs/simplestreams 0.280s
? launchpad.net/juju-core/environs/simplestreams/testing [no test files]
ok launchpad.net/juju-core/environs/sshstorage 0.898s
ok launchpad.net/juju-core/environs/storage 0.861s
ok launchpad.net/juju-core/environs/sync 24.256s
ok launchpad.net/juju-core/environs/testing 0.167s
ok launchpad.net/juju-core/environs/tools 4.798s
? launchpad.net/juju-core/environs/tools/testing [no test files]
ok launchpad.net/juju-core/errors 0.011s
ok launchpad.net/juju-core/instance 0.017s
? launchpad.net/juju-core/instance/testing [no test files]
ok launchpad.net/juju-core/juju 17.460s
ok launchpad.net/juju-core/juju/osen...

Revision history for this message
Go Bot (go-bot) wrote :
Download full text (10.4 KiB)

The attempt to merge lp:~thumper/juju-core/container-dir-filesystem-type into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core 0.014s
ok launchpad.net/juju-core/agent 1.112s
ok launchpad.net/juju-core/agent/mongo 0.532s
ok launchpad.net/juju-core/agent/tools 0.167s
ok launchpad.net/juju-core/bzr 5.231s
ok launchpad.net/juju-core/cert 2.759s
ok launchpad.net/juju-core/charm 0.429s
? launchpad.net/juju-core/charm/hooks [no test files]
? launchpad.net/juju-core/charm/testing [no test files]
ok launchpad.net/juju-core/cloudinit 0.030s
ok launchpad.net/juju-core/cloudinit/sshinit 0.821s
ok launchpad.net/juju-core/cmd 0.156s
ok launchpad.net/juju-core/cmd/charm-admin 0.279s
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]
ok launchpad.net/juju-core/cmd/juju 189.433s
ok launchpad.net/juju-core/cmd/jujud 63.402s
ok launchpad.net/juju-core/cmd/plugins/juju-metadata 11.396s
? launchpad.net/juju-core/cmd/plugins/juju-restore [no test files]
ok launchpad.net/juju-core/cmd/plugins/local 0.198s
? launchpad.net/juju-core/cmd/plugins/local/juju-local [no test files]
ok launchpad.net/juju-core/constraints 0.024s
ok launchpad.net/juju-core/container 0.048s
ok launchpad.net/juju-core/container/factory 0.045s
ok launchpad.net/juju-core/container/kvm 0.234s
ok launchpad.net/juju-core/container/kvm/mock 0.050s
? launchpad.net/juju-core/container/kvm/testing [no test files]
ok launchpad.net/juju-core/container/lxc 0.246s
? launchpad.net/juju-core/container/lxc/mock [no test files]
? launchpad.net/juju-core/container/lxc/testing [no test files]
? launchpad.net/juju-core/container/testing [no test files]
ok launchpad.net/juju-core/downloader 5.234s
ok launchpad.net/juju-core/environs 2.164s
ok launchpad.net/juju-core/environs/bootstrap 2.930s
ok launchpad.net/juju-core/environs/cloudinit 0.423s
ok launchpad.net/juju-core/environs/config 2.117s
ok launchpad.net/juju-core/environs/configstore 0.028s
ok launchpad.net/juju-core/environs/filestorage 0.029s
ok launchpad.net/juju-core/environs/httpstorage 0.665s
ok launchpad.net/juju-core/environs/imagemetadata 0.485s
? launchpad.net/juju-core/environs/imagemetadata/testing [no test files]
ok launchpad.net/juju-core/environs/instances 0.042s
ok launchpad.net/juju-core/environs/jujutest 0.193s
ok launchpad.net/juju-core/environs/manual 13.369s
ok launchpad.net/juju-core/environs/simplestreams 0.259s
? launchpad.net/juju-core/environs/simplestreams/testing [no test files]
ok launchpad.net/juju-core/environs/sshstorage 0.934s
ok launchpad.net/juju-core/environs/storage 0.774s
ok launchpad.net/juju-core/environs/sync 24.915s
ok launchpad.net/juju-core/environs/testing 0.157s
ok launchpad.net/juju-core/environs/tools 4.957s
? launchpad.net/juju-core/environs/tools/testing [no test files]
ok launchpad.net/juju-core/errors 0.011s
ok launchpad.net/juju-core/instance 0.017s
? launchpad.net/juju-core/instance/testing [no test files]
ok launchpad.net/juju-core/juju 20.599s
ok launchpad.net/juju-core/juju/ose...

Revision history for this message
Go Bot (go-bot) wrote :
Download full text (9.8 KiB)

The attempt to merge lp:~thumper/juju-core/container-dir-filesystem-type into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core 0.014s
ok launchpad.net/juju-core/agent 1.021s
ok launchpad.net/juju-core/agent/mongo 0.715s
ok launchpad.net/juju-core/agent/tools 0.174s
ok launchpad.net/juju-core/bzr 5.223s
ok launchpad.net/juju-core/cert 2.588s
ok launchpad.net/juju-core/charm 0.412s
? launchpad.net/juju-core/charm/hooks [no test files]
? launchpad.net/juju-core/charm/testing [no test files]
ok launchpad.net/juju-core/cloudinit 0.028s
ok launchpad.net/juju-core/cloudinit/sshinit 0.756s
ok launchpad.net/juju-core/cmd 0.208s
ok launchpad.net/juju-core/cmd/charm-admin 0.755s
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]
ok launchpad.net/juju-core/cmd/juju 198.655s
ok launchpad.net/juju-core/cmd/jujud 64.200s
ok launchpad.net/juju-core/cmd/plugins/juju-metadata 7.019s
? launchpad.net/juju-core/cmd/plugins/juju-restore [no test files]
ok launchpad.net/juju-core/cmd/plugins/local 0.143s
? launchpad.net/juju-core/cmd/plugins/local/juju-local [no test files]
ok launchpad.net/juju-core/constraints 0.018s
ok launchpad.net/juju-core/container 0.037s
ok launchpad.net/juju-core/container/factory 0.058s
ok launchpad.net/juju-core/container/kvm 0.223s
ok launchpad.net/juju-core/container/kvm/mock 0.050s
? launchpad.net/juju-core/container/kvm/testing [no test files]
ok launchpad.net/juju-core/container/lxc 0.251s
? launchpad.net/juju-core/container/lxc/mock [no test files]
? launchpad.net/juju-core/container/lxc/testing [no test files]
? launchpad.net/juju-core/container/testing [no test files]
ok launchpad.net/juju-core/downloader 5.225s
ok launchpad.net/juju-core/environs 2.005s
ok launchpad.net/juju-core/environs/bootstrap 3.472s
ok launchpad.net/juju-core/environs/cloudinit 0.494s
ok launchpad.net/juju-core/environs/config 2.265s
ok launchpad.net/juju-core/environs/configstore 0.033s
ok launchpad.net/juju-core/environs/filestorage 0.026s
ok launchpad.net/juju-core/environs/httpstorage 0.727s
ok launchpad.net/juju-core/environs/imagemetadata 0.448s
? launchpad.net/juju-core/environs/imagemetadata/testing [no test files]
ok launchpad.net/juju-core/environs/instances 0.044s
ok launchpad.net/juju-core/environs/jujutest 0.186s
ok launchpad.net/juju-core/environs/manual 8.939s
ok launchpad.net/juju-core/environs/simplestreams 0.265s
? launchpad.net/juju-core/environs/simplestreams/testing [no test files]
ok launchpad.net/juju-core/environs/sshstorage 0.865s
ok launchpad.net/juju-core/environs/storage 0.858s
ok launchpad.net/juju-core/environs/sync 24.256s
ok launchpad.net/juju-core/environs/testing 0.223s
ok launchpad.net/juju-core/environs/tools 4.885s
? launchpad.net/juju-core/environs/tools/testing [no test files]
ok launchpad.net/juju-core/errors 0.011s
ok launchpad.net/juju-core/instance 0.021s
? launchpad.net/juju-core/instance/testing [no test files]
ok launchpad.net/juju-core/juju 17.524s
ok launchpad.net/juju-core/juju/osenv...

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'container/lxc/export_test.go'
2--- container/lxc/export_test.go 2014-03-07 02:44:39 +0000
3+++ container/lxc/export_test.go 2014-03-12 01:28:37 +0000
4@@ -4,8 +4,9 @@
5 package lxc
6
7 var (
8+ ContainerConfigFilename = containerConfigFilename
9+ ContainerDirFilesystem = containerDirFilesystem
10+ GenerateNetworkConfig = generateNetworkConfig
11 NetworkConfigTemplate = networkConfigTemplate
12- GenerateNetworkConfig = generateNetworkConfig
13 RestartSymlink = restartSymlink
14- ContainerConfigFilename = containerConfigFilename
15 )
16
17=== modified file 'container/lxc/lxc.go'
18--- container/lxc/lxc.go 2014-03-11 03:08:17 +0000
19+++ container/lxc/lxc.go 2014-03-12 01:28:37 +0000
20@@ -7,6 +7,7 @@
21 "fmt"
22 "io/ioutil"
23 "os"
24+ "os/exec"
25 "path/filepath"
26 "strings"
27
28@@ -33,6 +34,8 @@
29 const (
30 // DefaultLxcBridge is the package created container bridge
31 DefaultLxcBridge = "lxcbr0"
32+ // Btrfs is special as we treat it differently for create and clone.
33+ Btrfs = "btrfs"
34 )
35
36 // DefaultNetworkConfig returns a valid NetworkConfig to use the
37@@ -41,9 +44,29 @@
38 return container.BridgeNetworkConfig(DefaultLxcBridge)
39 }
40
41+// FsCommandOutput calls cmd.Output, this is used as an overloading point so
42+// we can test what *would* be run without actually executing another program
43+var FsCommandOutput = (*exec.Cmd).CombinedOutput
44+
45+func containerDirFilesystem() (string, error) {
46+ cmd := exec.Command("df", "--output=fstype", LxcContainerDir)
47+ out, err := FsCommandOutput(cmd)
48+ if err != nil {
49+ return "", err
50+ }
51+ // The filesystem is the second line.
52+ lines := strings.Split(string(out), "\n")
53+ if len(lines) < 2 {
54+ logger.Errorf("unexpected output: ", out)
55+ return "", fmt.Errorf("could not determine filesystem type")
56+ }
57+ return lines[1], nil
58+}
59+
60 type containerManager struct {
61- name string
62- logdir string
63+ name string
64+ logdir string
65+ backingFilesystem string
66 }
67
68 // containerManager implements container.Manager.
69@@ -63,11 +86,23 @@
70 if logDir == "" {
71 logDir = agent.DefaultLogDir
72 }
73+ backingFS, err := containerDirFilesystem()
74+ if err != nil {
75+ // Especially in tests, or a bot, the lxc dir may not exist
76+ // causing the test to fail. Since we only really care if the
77+ // backingFS is 'btrfs' and we treat the rest the same, just
78+ // call it 'unknown'.
79+ backingFS = "unknown"
80+ }
81+ logger.Tracef("backing filesystem: %q", backingFS)
82 for k, v := range conf {
83 logger.Warningf(`Found unused config option with key: "%v" and value: "%v"`, k, v)
84 }
85-
86- return &containerManager{name: name, logdir: logDir}, nil
87+ return &containerManager{
88+ name: name,
89+ logdir: logDir,
90+ backingFilesystem: backingFS,
91+ }, nil
92 }
93
94 func (manager *containerManager) StartContainer(
95
96=== modified file 'container/lxc/lxc_test.go'
97--- container/lxc/lxc_test.go 2014-03-11 03:08:17 +0000
98+++ container/lxc/lxc_test.go 2014-03-12 01:28:37 +0000
99@@ -41,6 +41,37 @@
100 loggo.GetLogger("juju.container.lxc").SetLogLevel(loggo.TRACE)
101 }
102
103+func (s *LxcSuite) TestContainerDirFilesystem(c *gc.C) {
104+ for i, test := range []struct {
105+ message string
106+ output string
107+ expected string
108+ errorMatch string
109+ }{{
110+ message: "btrfs",
111+ output: "Type\nbtrfs\n",
112+ expected: lxc.Btrfs,
113+ }, {
114+ message: "ext4",
115+ output: "Type\next4\n",
116+ expected: "ext4",
117+ }, {
118+ message: "not enough output",
119+ output: "foo",
120+ errorMatch: "could not determine filesystem type",
121+ }} {
122+ c.Logf("%v: %s", i, test.message)
123+ s.HookCommandOutput(&lxc.FsCommandOutput, []byte(test.output), nil)
124+ value, err := lxc.ContainerDirFilesystem()
125+ if test.errorMatch == "" {
126+ c.Check(err, gc.IsNil)
127+ c.Check(value, gc.Equals, test.expected)
128+ } else {
129+ c.Check(err, gc.ErrorMatches, test.errorMatch)
130+ }
131+ }
132+}
133+
134 func (s *LxcSuite) makeManager(c *gc.C, name string) container.Manager {
135 manager, err := lxc.NewContainerManager(container.ManagerConfig{
136 container.ConfigName: name,
137@@ -55,7 +86,7 @@
138 "shazam": "Captain Marvel",
139 })
140 c.Assert(err, gc.IsNil)
141- c.Assert(c.GetTestLog(), gc.Matches, `^.*WARNING juju.container.lxc Found unused config option with key: "shazam" and value: "Captain Marvel"\n*`)
142+ c.Assert(c.GetTestLog(), jc.Contains, `WARNING juju.container.lxc Found unused config option with key: "shazam" and value: "Captain Marvel"`)
143 }
144
145 func (s *LxcSuite) TestStartContainer(c *gc.C) {

Subscribers

People subscribed via source and target branches

to status/vote changes: