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
=== 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-12 01:28:37 +0000
@@ -4,8 +4,9 @@
4package lxc4package lxc
55
6var (6var (
7 ContainerConfigFilename = containerConfigFilename
8 ContainerDirFilesystem = containerDirFilesystem
9 GenerateNetworkConfig = generateNetworkConfig
7 NetworkConfigTemplate = networkConfigTemplate10 NetworkConfigTemplate = networkConfigTemplate
8 GenerateNetworkConfig = generateNetworkConfig
9 RestartSymlink = restartSymlink11 RestartSymlink = restartSymlink
10 ContainerConfigFilename = containerConfigFilename
11)12)
1213
=== modified file 'container/lxc/lxc.go'
--- container/lxc/lxc.go 2014-03-11 03:08:17 +0000
+++ container/lxc/lxc.go 2014-03-12 01:28:37 +0000
@@ -7,6 +7,7 @@
7 "fmt"7 "fmt"
8 "io/ioutil"8 "io/ioutil"
9 "os"9 "os"
10 "os/exec"
10 "path/filepath"11 "path/filepath"
11 "strings"12 "strings"
1213
@@ -33,6 +34,8 @@
33const (34const (
34 // DefaultLxcBridge is the package created container bridge35 // DefaultLxcBridge is the package created container bridge
35 DefaultLxcBridge = "lxcbr0"36 DefaultLxcBridge = "lxcbr0"
37 // Btrfs is special as we treat it differently for create and clone.
38 Btrfs = "btrfs"
36)39)
3740
38// DefaultNetworkConfig returns a valid NetworkConfig to use the41// DefaultNetworkConfig returns a valid NetworkConfig to use the
@@ -41,9 +44,29 @@
41 return container.BridgeNetworkConfig(DefaultLxcBridge)44 return container.BridgeNetworkConfig(DefaultLxcBridge)
42}45}
4346
47// FsCommandOutput calls cmd.Output, this is used as an overloading point so
48// we can test what *would* be run without actually executing another program
49var FsCommandOutput = (*exec.Cmd).CombinedOutput
50
51func containerDirFilesystem() (string, error) {
52 cmd := exec.Command("df", "--output=fstype", LxcContainerDir)
53 out, err := FsCommandOutput(cmd)
54 if err != nil {
55 return "", err
56 }
57 // The filesystem is the second line.
58 lines := strings.Split(string(out), "\n")
59 if len(lines) < 2 {
60 logger.Errorf("unexpected output: ", out)
61 return "", fmt.Errorf("could not determine filesystem type")
62 }
63 return lines[1], nil
64}
65
44type containerManager struct {66type containerManager struct {
45 name string67 name string
46 logdir string68 logdir string
69 backingFilesystem string
47}70}
4871
49// containerManager implements container.Manager.72// containerManager implements container.Manager.
@@ -63,11 +86,23 @@
63 if logDir == "" {86 if logDir == "" {
64 logDir = agent.DefaultLogDir87 logDir = agent.DefaultLogDir
65 }88 }
89 backingFS, err := containerDirFilesystem()
90 if err != nil {
91 // Especially in tests, or a bot, the lxc dir may not exist
92 // causing the test to fail. Since we only really care if the
93 // backingFS is 'btrfs' and we treat the rest the same, just
94 // call it 'unknown'.
95 backingFS = "unknown"
96 }
97 logger.Tracef("backing filesystem: %q", backingFS)
66 for k, v := range conf {98 for k, v := range conf {
67 logger.Warningf(`Found unused config option with key: "%v" and value: "%v"`, k, v)99 logger.Warningf(`Found unused config option with key: "%v" and value: "%v"`, k, v)
68 }100 }
69101 return &containerManager{
70 return &containerManager{name: name, logdir: logDir}, nil102 name: name,
103 logdir: logDir,
104 backingFilesystem: backingFS,
105 }, nil
71}106}
72107
73func (manager *containerManager) StartContainer(108func (manager *containerManager) StartContainer(
74109
=== modified file 'container/lxc/lxc_test.go'
--- container/lxc/lxc_test.go 2014-03-11 03:08:17 +0000
+++ container/lxc/lxc_test.go 2014-03-12 01:28:37 +0000
@@ -41,6 +41,37 @@
41 loggo.GetLogger("juju.container.lxc").SetLogLevel(loggo.TRACE)41 loggo.GetLogger("juju.container.lxc").SetLogLevel(loggo.TRACE)
42}42}
4343
44func (s *LxcSuite) TestContainerDirFilesystem(c *gc.C) {
45 for i, test := range []struct {
46 message string
47 output string
48 expected string
49 errorMatch string
50 }{{
51 message: "btrfs",
52 output: "Type\nbtrfs\n",
53 expected: lxc.Btrfs,
54 }, {
55 message: "ext4",
56 output: "Type\next4\n",
57 expected: "ext4",
58 }, {
59 message: "not enough output",
60 output: "foo",
61 errorMatch: "could not determine filesystem type",
62 }} {
63 c.Logf("%v: %s", i, test.message)
64 s.HookCommandOutput(&lxc.FsCommandOutput, []byte(test.output), nil)
65 value, err := lxc.ContainerDirFilesystem()
66 if test.errorMatch == "" {
67 c.Check(err, gc.IsNil)
68 c.Check(value, gc.Equals, test.expected)
69 } else {
70 c.Check(err, gc.ErrorMatches, test.errorMatch)
71 }
72 }
73}
74
44func (s *LxcSuite) makeManager(c *gc.C, name string) container.Manager {75func (s *LxcSuite) makeManager(c *gc.C, name string) container.Manager {
45 manager, err := lxc.NewContainerManager(container.ManagerConfig{76 manager, err := lxc.NewContainerManager(container.ManagerConfig{
46 container.ConfigName: name,77 container.ConfigName: name,
@@ -55,7 +86,7 @@
55 "shazam": "Captain Marvel",86 "shazam": "Captain Marvel",
56 })87 })
57 c.Assert(err, gc.IsNil)88 c.Assert(err, gc.IsNil)
58 c.Assert(c.GetTestLog(), gc.Matches, `^.*WARNING juju.container.lxc Found unused config option with key: "shazam" and value: "Captain Marvel"\n*`)89 c.Assert(c.GetTestLog(), jc.Contains, `WARNING juju.container.lxc Found unused config option with key: "shazam" and value: "Captain Marvel"`)
59}90}
6091
61func (s *LxcSuite) TestStartContainer(c *gc.C) {92func (s *LxcSuite) TestStartContainer(c *gc.C) {

Subscribers

People subscribed via source and target branches

to status/vote changes: