Comment 18 for bug 1347715

Revision history for this message
Menno Finlay-Smits (menno.smits) wrote :

To reproduce, with current trunk:

1. Have an instance ready somewhere (e.g. EC2) to use with the manual provider.

2. include "logging-config: <root>=DEBUG" in the environment section in environments.yaml. Mine looked like:

  manual-ec2:
    type: manual
    bootstrap-host: blah-blah.us-west-2.compute.amazonaws.com
    bootstrap-user: ubuntu
    logging-config: <root>=DEBUG

- juju bootstrap --upload-tools

SSH to the bootstrap node and you'll see a panic along the lines of:

panic: interface conversion: interface is float64, not int

goroutine 160 [running]:
runtime.panic(0xdfeb40, 0xc21033e100)
        /usr/lib/go/src/pkg/runtime/panic.c:266 +0xb6
github.com/juju/juju/provider/manual.(*environConfig).storageAddr(0xc2101baef0, 0xc20ce0, 0xc2101910f0)
        /home/menno/go/src/github.com/juju/juju/provider/manual/config.go:73 +0xe3
github.com/juju/juju/provider/manual.(*manualEnviron).SetConfig(0xc210351540, 0xc2101b1770, 0x0, 0x0)
        /home/menno/go/src/github.com/juju/juju/provider/manual/environ.go:190 +0x627
github.com/juju/juju/provider/manual.manualProvider.open(0xc2101b8b10, 0xc2101b8b10, 0xc2101b8b00, 0x0, 0x0)
        /home/menno/go/src/github.com/juju/juju/provider/manual/provider.go:84 +0x63
github.com/juju/juju/provider/manual.manualProvider.Open(0xc2101b1770, 0xf57b60, 0x4, 0xc21018f3d0, 0x6)
        /home/menno/go/src/github.com/juju/juju/provider/manual/provider.go:78 +0xc1
github.com/juju/juju/provider/manual.manualProvider.Open·i(0x10, 0xc2101b1770, 0x7f9f1d44cf48, 0x10, 0x0, ...)
        /home/menno/go/src/github.com/juju/juju/provider/manual/config.go:1 +0x34
github.com/juju/juju/environs.New(0xc2101b1770, 0xc2101b1770, 0x0, 0x0, 0xc200000001)
        /home/menno/go/src/github.com/juju/juju/environs/open.go:165 +0x8e
github.com/juju/juju/worker.WaitForEnviron(0x7f9f1d45f860, 0xc2102e7f50, 0x7f9f1d46b4f0, 0xc210151180, 0xc2102f5900, ...)
        /home/menno/go/src/github.com/juju/juju/worker/environ.go:52 +0x1cb
github.com/juju/juju/worker/provisioner.(*environProvisioner).loop(0xc21023ab00, 0x0, 0x0)
        /home/menno/go/src/github.com/juju/juju/worker/provisioner/provisioner.go:158 +0x191
github.com/juju/juju/worker/provisioner.func·002()
        /home/menno/go/src/github.com/juju/juju/worker/provisioner/provisioner.go:144 +0x59
created by github.com/juju/juju/worker/provisioner.NewEnvironProvisioner
        /home/menno/go/src/github.com/juju/juju/worker/provisioner/provisioner.go:145 +0x191

Somehow the storage port is ending up a float where an int is expected. There are tests around this but they obviously don't cover this case. I haven't figured out how the float value makes it in.

I will attach the full machine-0.log.