ubuntu devel macos win: panic: osVersion reported an error: Could not determine series

Bug #1465317 reported by Curtis Hovey
38
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Canonical Juju
Won't Fix
Low
Unassigned
juju-core
Won't Fix
Undecided
Unassigned
1.24
Won't Fix
Undecided
Unassigned
1.25
Won't Fix
Undecided
Unassigned
juju-release-tools
Fix Released
Critical
Curtis Hovey

Bug Description

The wily build in Lp failed when the script that creates the help docs which in turn call the new juju.

HOME=debian/home /build/buildd/juju-core-1.22.5/src/github.com/juju/juju/scripts/generate-docs.py man -o juju.1
panic: osVersion reported an error: Could not determine series

This issue was fixed in the past for 1.20 and 1.21. This might be a new manifestation.

This issue blocked 1.22.5 from building in Ubuntu.

This issue relates to bug 1316593

Revision history for this message
Curtis Hovey (sinzui) wrote :
Revision history for this message
Curtis Hovey (sinzui) wrote :

Ubuntu is concerned about the future rebuild case. When Ubuntu need to rebuild an old juju for a series, They expect it to work, a code change to juju is indicative of bad design.

Martin and I believe adding distro-info as a build-depends requirement in the package control-file will address this concern.

Revision history for this message
Curtis Hovey (sinzui) wrote :

I updated build-depends to include distro-info and we see Lp builds now succeed. This issue is addressed for Ubuntu. Other Oses are be affected, such as OS X which are require native builsd.

Changed in juju-release-tools:
assignee: nobody → Curtis Hovey (sinzui)
status: New → In Progress
importance: Undecided → Critical
Curtis Hovey (sinzui)
Changed in juju-release-tools:
status: In Progress → Fix Released
Revision history for this message
Curtis Hovey (sinzui) wrote :

I think the "high" priority of this bug is addressed for now, Ubuntu package building rules will always supply a series. Juju will fail when OS X El Capitan is released and the version is not hard coded into juju versions.

Curtis Hovey (sinzui)
no longer affects: juju-core/1.24
no longer affects: juju-core/1.22
Changed in juju-core:
milestone: 1.25.0 → none
importance: High → Medium
Revision history for this message
Khairul Aizat Kamarudzzaman (fenris) wrote :

MacBook-Pro:~ fenris$ brew uninstall juju
Uninstalling /usr/local/Cellar/juju/1.24.3... (4 files, 113M)
juju 1.16.5, 1.16.6, 1.18.3, 1.20.1, 1.20.10, 1.20.11, 1.20.13, 1.20.14, 1.20.7, 1.20.8, 1.21.1, 1.21.3, 1.22.0, 1.22.1, 1.23.3, 1.24.0 are still installed.
Remove them all with `brew uninstall --force juju`.
MacBook-Pro:~ fenris$ brew uninstall --force juju
Uninstalling juju... (59 files, 752M)
MacBook-Pro:~ fenris$ juju
-bash: /usr/local/bin/juju: No such file or directory
MacBook-Pro:~ fenris$ brew install juju
Warning: You are using OS X 10.11.
We do not provide support for this pre-release version.
You may encounter build failures or other breakage.
==> Downloading https://launchpad.net/juju-core/1.24/1.24.3/+download/juju-core_1.24.3.tar.gz
Already downloaded: /Library/Caches/Homebrew/juju-1.24.3.tar.gz
==> go build github.com/juju/juju/cmd/juju
==> go build github.com/juju/juju/cmd/plugins/juju-metadata
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺 /usr/local/Cellar/juju/1.24.3: 4 files, 113M, built in 2.9 minutes
MacBook-Pro:~ fenris$ juju
panic: osVersion reported an error: unknown series ""

goroutine 1 [running]:
github.com/juju/juju/version.mustOSVersion(0x0, 0x0)
 /private/tmp/juju20150801-78149-8o11fr/juju-core_1.24.3/src/github.com/juju/juju/version/osversion.go:26 +0xed
github.com/juju/juju/version.init()
 /private/tmp/juju20150801-78149-8o11fr/juju-core_1.24.3/src/github.com/juju/juju/version/version.go:36 +0x478
github.com/juju/juju/tools.init()
 /private/tmp/juju20150801-78149-8o11fr/juju-core_1.24.3/src/github.com/juju/juju/tools/tools.go:20 +0x54
main.init()
 /private/tmp/juju20150801-78149-8o11fr/juju-core_1.24.3/src/github.com/juju/juju/cmd/juju/upgradejuju.go:417 +0x50

MacBook-Pro:~ fenris$ uname -a
Darwin MacBook-Pro.local 15.0.0 Darwin Kernel Version 15.0.0: Tue Jul 21 21:47:25 PDT 2015; root:xnu-3247.1.68~32/RELEASE_X86_64 x86_64

Curtis Hovey (sinzui)
Changed in juju-core:
importance: Medium → High
milestone: none → 1.25.0
Curtis Hovey (sinzui)
tags: added: osx
Revision history for this message
Jorge Castro (jorge) wrote :

This breaks us on Windows 10 too:

C:\ProgramData\Chocolatey\lib\ConsoleZ.1.10.0.14089\tools>juju
panic: osVersion reported an error: unknown series "Windows 10 Home"

goroutine 1 [running]:
runtime.panic(0x103bf80, 0x16b00478)
        /var/lib/jenkins/curtis/golang-1.2.1/src/pkg/runtime/panic.c:266 +0xa6
github.com/juju/juju/version.mustOSVersion(0x15889f8, 0x6)
        /tmp/tmpCtVVJX/juju-core_1.24.3/src/github.com/juju/juju/version/osversi
on.go:26 +0x9a
github.com/juju/juju/version.init()
        /tmp/tmpCtVVJX/juju-core_1.24.3/src/github.com/juju/juju/version/version
.go:36 +0x38d
github.com/juju/juju/tools.init()
        /tmp/tmpCtVVJX/juju-core_1.24.3/src/github.com/juju/juju/tools/tools.go:
20 +0x4d
main.init()
        /tmp/tmpCtVVJX/juju-core_1.24.3/src/github.com/juju/juju/cmd/juju/upgrad
ejuju.go:417 +0x43

Curtis Hovey (sinzui)
tags: added: windows
Curtis Hovey (sinzui)
description: updated
Curtis Hovey (sinzui)
summary: - Wily builds fail: panic: osVersion reported an error: Could not
- determine series
+ Wily osx win: panic: osVersion reported an error: Could not determine
+ series
Curtis Hovey (sinzui)
Changed in juju-core:
milestone: 1.25-alpha1 → 1.25-beta1
Revision history for this message
Khairul Aizat Kamarudzzaman (fenris) wrote : Re: Wily osx win: panic: osVersion reported an error: Could not determine series

juju for windows 10 already working in 1.25-alpha1

https://github.com/juju/juju/issues/3179

Revision history for this message
Curtis Hovey (sinzui) wrote :

This bug is not about enabling a specific version on an OS. We know this bug is fixed when a user can install juju, upgrade to a beta version of an OS and juju keeps working. Since Juju is (no jujud) is a client, it does not matter what version of OS the host is.

Changed in juju-core:
milestone: 1.25-beta1 → 1.26-alpha1
Tim Penhey (thumper)
Changed in juju-core:
status: Triaged → In Progress
assignee: nobody → Dave Cheney (dave-cheney)
Revision history for this message
Curtis Hovey (sinzui) wrote :

Homebrew will not accept Juju 1.24.6 because it fails on El Capitan
https://github.com/Homebrew/homebrew/pull/44285

Revision history for this message
Cheryl Jennings (cherylj) wrote :

Dave, is this currently being worked? I see that it's been In Progress for a while and was set by thumper.

Curtis Hovey (sinzui)
Changed in juju-core:
milestone: 1.26-alpha1 → 1.26-alpha2
Changed in juju-core:
status: In Progress → Triaged
assignee: Dave Cheney (dave-cheney) → nobody
milestone: 1.26-alpha2 → 1.26-beta1
Changed in juju-core:
milestone: 1.26-beta1 → 2.0-alpha2
Revision history for this message
Adam Israel (aisrael) wrote :

As far as El Capitan goes, support was merged in August (see https://github.com/juju/juju/pull/2969). Brew currently has Juju 1.25.0 packaged. I'll submit a PR to update that to 1.25.2

Revision history for this message
Dave Cheney (dave-cheney) wrote :

AFIAC this bug is fixed, although fixing it may have moved the problem elsewhere.

juju/juju/version no longer needs to know the series or the architecture of the host, only the version number.

With that said, os parsing was moved to juju/utils/os. On linux, that now returned os.Unknown if the operating system is not known, ie some linux variant we haven't encountered before. OSX and Windows just return their respective constants.

The last element is juju/utils/series, which currently panics if the series of the machine cannot be determined. The solution to that would be to add some kind of Unknown value to that package. This is probably reasonably safe to do as it would permit the client to "work", ie, not panic on startup, although anything that used the series from that client would fail. This would probably mean that the client couldn't bootstrap environments without passing flags to say "make this a linux/centos environment" from a OSX machine -- but that is probably necessary now.

Changed in juju-core:
milestone: 2.0-alpha2 → 2.0-alpha3
Changed in juju-core:
milestone: 2.0-alpha3 → 2.0-beta4
Changed in juju-core:
milestone: 2.0-beta4 → 2.0.0
Revision history for this message
Mark Ramm (mark-ramm) wrote :

Dave,

Would it make sense to use 16.04 to bootstrap if the series in juju/utils/series is "unknown"

This could be updated in a later version of juju.

Revision history for this message
Dave Cheney (dave-cheney) wrote : Re: [Bug 1465317] Re: Wily osx win: panic: osVersion reported an error: Could not determine series

Seems reasonable.

On Fri, Jun 3, 2016 at 10:36 AM, Mark Ramm
<email address hidden> wrote:
> Dave,
>
> Would it make sense to use 16.04 to bootstrap if the series in
> juju/utils/series is "unknown"
>
> This could be updated in a later version of juju.
>
> --
> You received this bug notification because you are a bug assignee.
> https://bugs.launchpad.net/bugs/1465317
>
> Title:
> Wily osx win: panic: osVersion reported an error: Could not determine
> series
>
> Status in juju-core:
> Triaged
> Status in juju-core 1.24 series:
> Won't Fix
> Status in juju-core 1.25 series:
> Triaged
> Status in juju-release-tools:
> Fix Released
>
> Bug description:
> The wily build in Lp failed when the script that creates the help docs
> which in turn call the new juju.
>
> HOME=debian/home /build/buildd/juju-core-1.22.5/src/github.com/juju/juju/scripts/generate-docs.py man -o juju.1
> panic: osVersion reported an error: Could not determine series
>
> This issue was fixed in the past for 1.20 and 1.21. This might be a
> new manifestation.
>
> This issue blocked 1.22.5 from building in Ubuntu.
>
> This issue relates to bug 1316593
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/juju-core/+bug/1465317/+subscriptions

Revision history for this message
Anastasia (anastasia-macmood) wrote : Re: Wily osx win: panic: osVersion reported an error: Could not determine series

@Curtis
We have done a lot of work in the area. Does CI still experience this failure?

Changed in juju-core:
status: Triaged → Incomplete
affects: juju-core → juju
Changed in juju:
milestone: 2.0.0 → none
milestone: none → 2.0.0
Changed in juju-core:
status: New → Won't Fix
Revision history for this message
Menno Finlay-Smits (menno.smits) wrote :

This should be fixed by the work done for bug 1616531.

Marking as Fix Released. Please reopen if there's still a problem.

Changed in juju:
status: Incomplete → Fix Released
Revision history for this message
Curtis Hovey (sinzui) wrote :

Users who upgrade to MacOS Sierra are reporting this bug. I will ask them to retest with rc2

Changed in juju:
status: Fix Released → Triaged
importance: High → Critical
status: Triaged → Fix Released
Revision history for this message
Curtis Hovey (sinzui) wrote :

This is not fixed, users upgrading to MacOS Sierra have broken jujus. rc1 and rc2 fail. This is the failure from The homebrew I just built for rc2 (We cannot submit this to homebrew, they want a fix).

panic: unable to determine host series: unknown series ""

goroutine 1 [running]:
panic(0x12fd540, 0xc4201c1570)
 /usr/local/Cellar/go/1.7.1/libexec/src/runtime/panic.go:500 +0x1a1
github.com/juju/utils/series.hostSeries.func1()
 /private/tmp/juju2-20161001-4716-35z5fh/juju-core_2.0-rc2/src/github.com/juju/utils/series/series.go:36 +0xfd
sync.(*Once).Do(0x22af1f0, 0x183c388)
 /usr/local/Cellar/go/1.7.1/libexec/src/sync/once.go:44 +0xdb
github.com/juju/utils/series.hostSeries(0x16d0125, 0x8)
 /private/tmp/juju2-20161001-4716-35z5fh/juju-core_2.0-rc2/src/github.com/juju/utils/series/series.go:38 +0x39
github.com/juju/juju/api.init()
 /private/tmp/juju2-20161001-4716-35z5fh/juju-core_2.0-rc2/src/github.com/juju/juju/api/certpool.go:19 +0x19b
github.com/juju/juju/cmd/modelcmd.init()
 /private/tmp/juju2-20161001-4716-35z5fh/juju-core_2.0-rc2/src/github.com/juju/juju/cmd/modelcmd/modelcommand.go:364 +0x80
github.com/juju/juju/cmd/juju/block.init()
 /private/tmp/juju2-20161001-4716-35z5fh/juju-core_2.0-rc2/src/github.com/juju/juju/cmd/juju/block/protection.go:123 +0x58
github.com/juju/juju/cmd/juju/commands.init()
 /private/tmp/juju2-20161001-4716-35z5fh/juju-core_2.0-rc2/src/github.com/juju/juju/cmd/juju/commands/upgradejuju.go:597 +0x6a
main.init()
 /private/tmp/juju2-20161001-4716-35z5fh/juju-core_2.0-rc2/src/github.com/juju/juju/cmd/juju/main.go:29 +0x53

Changed in juju:
status: Fix Released → In Progress
status: In Progress → Triaged
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

Oh, I know this one. Only binaries built with Go 1.7.1 work on macOS sierra.

Revision history for this message
Jay R. Wren (evarlast) wrote : Re: [Bug 1465317] Re: Wily osx win: panic: osVersion reported an error: Could not determine series

It really is:

$ git diff
diff --git a/series/series.go b/series/series.go
index 35202ca..1ff651a 100644
--- a/series/series.go
+++ b/series/series.go
@@ -80,6 +80,7 @@ func macOSXSeriesFromKernelVersion(getKernelVersion
func() (string, error)) (str
 // macOSXSeries maps from the Darwin Kernel Major Version to the Mac OSX
 // series.
 var macOSXSeries = map[int]string{
+ 16: "sierra",
        15: "elcapitan",
        14: "yosemite",
        13: "mavericks",

As the comment says:

// TODO(jam): 2014-05-06 https://launchpad.net/bugs/1316593
// we should have a system file that we can read so this can be updated
without
// recompiling Juju. For now, this is a lot easier, and also solves the fact
// that we want to populate HostSeries during init() time, before
// we've potentially read that information from anywhere else
// macOSXSeries maps from the Darwin Kernel Major Version to the Mac OSX
// series.

On Sun, Oct 2, 2016 at 6:39 PM, Michael Hudson-Doyle <
<email address hidden>> wrote:

> Oh, I know this one. Only binaries built with Go 1.7.1 work on macOS
> sierra.
>
> --
> You received this bug notification because you are subscribed to a
> duplicate bug report (1483889).
> https://bugs.launchpad.net/bugs/1465317
>
> Title:
> Wily osx win: panic: osVersion reported an error: Could not determine
> series
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/juju/+bug/1465317/+subscriptions
>

Revision history for this message
Jay R. Wren (evarlast) wrote :

https://github.com/juju/utils/pull/244

On Mon, Oct 3, 2016 at 10:38 AM, Jay Wren <email address hidden> wrote:

> It really is:
>
> $ git diff
> diff --git a/series/series.go b/series/series.go
> index 35202ca..1ff651a 100644
> --- a/series/series.go
> +++ b/series/series.go
> @@ -80,6 +80,7 @@ func macOSXSeriesFromKernelVersion(getKernelVersion
> func() (string, error)) (str
> // macOSXSeries maps from the Darwin Kernel Major Version to the Mac OSX
> // series.
> var macOSXSeries = map[int]string{
> + 16: "sierra",
> 15: "elcapitan",
> 14: "yosemite",
> 13: "mavericks",
>
> As the comment says:
>
> // TODO(jam): 2014-05-06 https://launchpad.net/bugs/1316593
> // we should have a system file that we can read so this can be updated
> without
> // recompiling Juju. For now, this is a lot easier, and also solves the
> fact
> // that we want to populate HostSeries during init() time, before
> // we've potentially read that information from anywhere else
> // macOSXSeries maps from the Darwin Kernel Major Version to the Mac OSX
> // series.
>
>
> On Sun, Oct 2, 2016 at 6:39 PM, Michael Hudson-Doyle <
> <email address hidden>> wrote:
>
>> Oh, I know this one. Only binaries built with Go 1.7.1 work on macOS
>> sierra.
>>
>> --
>> You received this bug notification because you are subscribed to a
>> duplicate bug report (1483889).
>> https://bugs.launchpad.net/bugs/1465317
>>
>> Title:
>> Wily osx win: panic: osVersion reported an error: Could not determine
>> series
>>
>> To manage notifications about this bug go to:
>> https://bugs.launchpad.net/juju/+bug/1465317/+subscriptions
>>
>
>

Revision history for this message
Alexis Bruemmer (alexis-bruemmer) wrote : Re: Wily osx win: panic: osVersion reported an error: Could not determine series

https://github.com/juju/utils/pull/241

merged PR, thanks to James Beedy!

Changed in juju:
status: Triaged → Fix Committed
Curtis Hovey (sinzui)
Changed in juju:
status: Fix Committed → Fix Released
Revision history for this message
Filip Dabrowski (filipdabrowski) wrote :

For MacOS Sierra this issue still exists.

Juju installed by Homebrew.
Juju version: juju-1.25.6
Error: "panic: osVersion reported an error: unknown series"

Any chance for fix?

Revision history for this message
Filip Dabrowski (filipdabrowski) wrote :

Just a sec ago installed homebrew/devel-only/juju2-2.0-beta13 using command:
brew install --devel homebrew/devel-only/juju2

Have same error as with juju-1.25.6

Changed in juju:
status: Fix Released → Triaged
milestone: 2.0-rc3 → 2.0.1
Revision history for this message
Anastasia (anastasia-macmood) wrote :

MacOs Sierra has been fixed by this bug https://bugs.launchpad.net/juju/+bug/1633495

Changed in juju:
status: Triaged → Fix Committed
assignee: nobody → Katherine Cox-Buday (cox-katherine-e)
Revision history for this message
Curtis Hovey (sinzui) wrote :

This bug will be fixed when we don't require a code change to support the next Windows or MacOS version. the specific issue is users will upgrade their OS and the client stops working. There is no justifiable reason for the client to break.

Changed in juju:
status: Fix Committed → Triaged
Revision history for this message
Richard Harding (rharding) wrote : Re: [Bug 1465317] Re: Wily osx win: panic: osVersion reported an error: Could not determine series

The fix for that is in progress. Katherine is making sure that a new OSX
release can go out without requiring a new Juju to be built and shipped.

On Tue, Oct 18, 2016 at 11:16 AM Curtis Hovey <email address hidden> wrote:

> This bug will be fixed when we don't require a code change to support
> the next Windows or MacOS version. the specific issue is users will
> upgrade their OS and the client stops working. There is no justifiable
> reason for the client to break.
>
> ** Changed in: juju
> Status: Fix Committed => Triaged
>
> --
> You received this bug notification because you are subscribed to juju-
> core.
> https://bugs.launchpad.net/bugs/1465317
>
> Title:
> Wily osx win: panic: osVersion reported an error: Could not determine
> series
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/juju/+bug/1465317/+subscriptions
>

Changed in juju:
status: Triaged → In Progress
Curtis Hovey (sinzui)
Changed in juju:
milestone: 2.0.1 → none
Curtis Hovey (sinzui)
summary: - Wily osx win: panic: osVersion reported an error: Could not determine
- series
+ ubutu devel macos win: panic: osVersion reported an error: Could not
+ determine series
Changed in juju:
assignee: Katherine Cox-Buday (cox-katherine-e) → nobody
status: In Progress → Triaged
Revision history for this message
Curtis Hovey (sinzui) wrote : Re: ubutu devel macos win: panic: osVersion reported an error: Could not determine series

As we delivered patches for homebrew, I think we can say the issue is now high. We know the clients will break with the next releases of macos and windows, so we need 2.1 to be support unknown versions.

Changed in juju:
milestone: none → 2.1-rc1
importance: Critical → High
Revision history for this message
Anastasia (anastasia-macmood) wrote :

As it impact adoption, raising it back to Critical.

Changed in juju:
importance: High → Critical
Revision history for this message
Ian Booth (wallyworld) wrote :

Moving to 2.2 as 2.1 binaries work with release win and macos versions.

Changed in juju:
milestone: 2.1-rc1 → 2.2.0-alpha1
Changed in juju:
importance: Critical → High
importance: High → Critical
Changed in juju:
assignee: nobody → Reed O'Brien (reedobrien)
status: Triaged → In Progress
Ian Booth (wallyworld)
Changed in juju:
assignee: Reed O'Brien (reedobrien) → nobody
Revision history for this message
Reed O'Brien (reedobrien) wrote :
Revision history for this message
Reed O'Brien (reedobrien) wrote :

Think those changes might work for osx and windows, but haven't tested.

Changed in juju:
status: In Progress → Triaged
Revision history for this message
Curtis Hovey (sinzui) wrote :

I am lowering this to High because there is no commitment to work on this. We still know that Juju clients will break with the next release of Windows and MacOS.

Changed in juju:
importance: Critical → High
Curtis Hovey (sinzui)
summary: - ubutu devel macos win: panic: osVersion reported an error: Could not
+ ubuntu devel macos win: panic: osVersion reported an error: Could not
determine series
Changed in juju:
milestone: 2.2-alpha1 → none
Revision history for this message
Joseph Phillips (manadart) wrote :

Marked won't fix due to age.

Changed in juju:
status: Triaged → Won't Fix
importance: High → Low
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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