upgrader startup failure with local provider

Bug #1231543 reported by Dimiter Naydenov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
juju-core
Fix Released
Critical
Tim Penhey

Bug Description

http://paste.ubuntu.com/6159055/

Steps to reproduce:
1. Use trunk (my revision is currently 1888)
2. Make sure do go install . in cmd/juju/ and cmd/jujud/
3. Bootstrap a local environment with --upload-tools and the default boilerplate config (nothing else than admin-secret and type).
4. After the bootstrap is done, try juju deploy anything (wordpress will do)
5. Look in ~/.juju/local/log/all-machines.log to see the error as pasted above.

Tags: regression

Related branches

Revision history for this message
Dimiter Naydenov (dimitern) wrote :

After investigating, it turns out the regression was introduced in r1877. Still investigating the exact cause.

Curtis Hovey (sinzui)
Changed in juju-core:
status: New → In Progress
milestone: none → 1.15.0
assignee: nobody → Dimiter Naydenov (dimitern)
Curtis Hovey (sinzui)
tags: added: regression
Revision history for this message
Dimiter Naydenov (dimitern) wrote :

So in r1877 the upgrader error started to appear. But the other error:

ERROR juju.provider.local environ.go:180 failed to create new environ config: storage-port: expected int, got 8040

was not there, so I'll continue to investigate further Paste of my machine-0.log from this run:
http://paste.ubuntu.com/6159692/

Revision history for this message
Dimiter Naydenov (dimitern) wrote :

The other 3 errors:

2013-09-26 18:04:58 ERROR juju.provider.local environ.go:180 failed to create new environ config: storage-port: expected int, got 8040
2013-09-26 18:04:58 ERROR juju.provider.local environprovider.go:48 failure setting config: storage-port: expected int, got 8040
2013-09-26 18:04:58 ERROR juju environ.go:48 worker: loaded invalid environment configuration: storage-port: expected int, got 8040

start to show in r1884 (one of mine, when we switch the provisioner to the API). Apparently somehow the "storage-port" environment setting gets coerced from int to string. Not sure why yet, still investigating. We don't change the environment config in any way when we return it from ProvisionerAPI.EnvironConfig() (it's map[string]interface{}, as config.Config.AllAttrs() returns).

Revision history for this message
Tim Penhey (thumper) wrote :

Due to changes in how the config was passed, it is now going through json, which changes the int to a float64.

APIPort uses schema.ForceInt

The local provider was just using schema.Int.

Changed in juju-core:
assignee: Dimiter Naydenov (dimitern) → Tim Penhey (thumper)
Tim Penhey (thumper)
Changed in juju-core:
status: In Progress → Fix Committed
Curtis Hovey (sinzui)
Changed in juju-core:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.