JuJu does not appear to support --constraints arch=arm64

Bug #1362856 reported by Sean Feole
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
juju-core
Triaged
High
Unassigned

Bug Description

$ apt-cache policy juju-core
juju-core:
  Installed: 1.20.5-0ubuntu1~14.04.1~juju1

We have started to enable arm64 nodes on a MaaS 1.6 server and now attempting to utilize them with juju. It appears that the latest stable build of juju does not understand " --constraints arch=arm64" when trying to bootstrap a MaaS environment

We have temporarily resolved the constraints problem by using a custom hacked version of juju 1.18.1.

 Candidate: 1.20.5-0ubuntu1~14.04.1~juju1
  Version table:
 *** 1.20.5-0ubuntu1~14.04.1~juju1 0
        500 http://ppa.launchpad.net/juju/stable/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status
     1.19.4-0ubuntu1~14.04.1~juju1 0
        500 http://ppa.launchpad.net/juju/devel/ubuntu/ trusty/main amd64 Packages
     1.18.1-0ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages

sfeole@ubuntu-feole:~$ juju bootstrap --debug --constraints arch=arm64
2014-08-28 23:21:41 INFO juju.cmd supercommand.go:37 running juju [1.20.5-trusty-amd64 gc]
2014-08-28 23:21:41 DEBUG juju.environs.configstore disk.go:69 Making /home/sfeole/.juju/environments
2014-08-28 23:21:41 DEBUG juju.provider.maas environprovider.go:30 opening environment "maas".
2014-08-28 23:21:41 DEBUG juju.environs.simplestreams simplestreams.go:389 fetchData failed for "images/streams/v1/index.sjson": file 'ec7a36bd-5783-4f86-88a9-9e4592ee3db1-images/streams/v1/index.sjson' not found not found
2014-08-28 23:21:41 DEBUG juju.environs.simplestreams simplestreams.go:363 cannot load index "streams/v1/index.sjson": invalid URL "images/streams/v1/index.sjson" not found
2014-08-28 23:21:42 DEBUG juju.environs.simplestreams simplestreams.go:389 fetchData failed for "images/streams/v1/index.json": file 'ec7a36bd-5783-4f86-88a9-9e4592ee3db1-images/streams/v1/index.json' not found not found
2014-08-28 23:21:42 DEBUG juju.environs.simplestreams simplestreams.go:363 cannot load index "streams/v1/index.json": invalid URL "images/streams/v1/index.json" not found
2014-08-28 23:21:42 INFO juju.utils http.go:59 hostname SSL verification enabled
2014-08-28 23:21:42 INFO juju.utils http.go:59 hostname SSL verification enabled
2014-08-28 23:21:42 DEBUG juju.environs.simplestreams simplestreams.go:389 fetchData failed for "http://cloud-images.ubuntu.com/releases/streams/v1/mirrors.sjson": cannot find URL "http://cloud-images.ubuntu.com/releases/streams/v1/mirrors.sjson" not found
2014-08-28 23:21:42 DEBUG juju.environs.simplestreams simplestreams.go:466 no mirror index file found
2014-08-28 23:21:42 DEBUG juju.environs.simplestreams simplestreams.go:367 read metadata index at "http://cloud-images.ubuntu.com/releases/streams/v1/index.sjson"
2014-08-28 23:21:42 DEBUG juju.environs.simplestreams simplestreams.go:534 candidate matches for products ["com.ubuntu.cloud:server:12.04:amd64" "com.ubuntu.cloud:server:12.04:i386" "com.ubuntu.cloud:server:12.04:armhf" "com.ubuntu.cloud:server:12.04:arm64" "com.ubuntu.cloud:server:12.04:ppc64el" "com.ubuntu.cloud:server:12.10:amd64" "com.ubuntu.cloud:server:12.10:i386" "com.ubuntu.cloud:server:12.10:armhf" "com.ubuntu.cloud:server:12.10:arm64" "com.ubuntu.cloud:server:12.10:ppc64el" "com.ubuntu.cloud:server:13.04:amd64" "com.ubuntu.cloud:server:13.04:i386" "com.ubuntu.cloud:server:13.04:armhf" "com.ubuntu.cloud:server:13.04:arm64" "com.ubuntu.cloud:server:13.04:ppc64el" "com.ubuntu.cloud:server:13.10:amd64" "com.ubuntu.cloud:server:13.10:i386" "com.ubuntu.cloud:server:13.10:armhf" "com.ubuntu.cloud:server:13.10:arm64" "com.ubuntu.cloud:server:13.10:ppc64el" "com.ubuntu.cloud:server:14.04:amd64" "com.ubuntu.cloud:server:14.04:i386" "com.ubuntu.cloud:server:14.04:armhf" "com.ubuntu.cloud:server:14.04:arm64" "com.ubuntu.cloud:server:14.04:ppc64el" "com.ubuntu.cloud:server:14.10:amd64" "com.ubuntu.cloud:server:14.10:i386" "com.ubuntu.cloud:server:14.10:armhf" "com.ubuntu.cloud:server:14.10:arm64" "com.ubuntu.cloud:server:14.10:ppc64el"] are [{Tue, 08 Jul 2014 15:49:14 +0000 products:1.0 image-ids joyent [{eu-ams-1 https://eu-ams-1.api.joyentcloud.com} {us-sw-1 https://us-sw-1.api.joyentcloud.com} {us-east-1 https://us-east-1.api.joyentcloud.com} {us-west-1 https://us-west-1.api.joyentcloud.com}] streams/v1/com.ubuntu.cloud:released:joyent.sjson [com.ubuntu.cloud:server:13.10:amd64 com.ubuntu.cloud:server:12.04:amd64 com.ubuntu.cloud:server:14.04:amd64]} {Thu, 28 Aug 2014 16:25:45 +0000 products:1.0 image-ids aws [{us-east-1 https://ec2.us-east-1.amazonaws.com} {ap-northeast-1 https://ec2.ap-northeast-1.amazonaws.com} {eu-west-1 https://ec2.eu-west-1.amazonaws.com} {ap-southeast-1 https://ec2.ap-southeast-1.amazonaws.com} {ap-southeast-2 https://ec2.ap-southeast-2.amazonaws.com} {us-west-2 https://ec2.us-west-2.amazonaws.com} {us-west-1 https://ec2.us-west-1.amazonaws.com} {sa-east-1 https://ec2.sa-east-1.amazonaws.com}] streams/v1/com.ubuntu.cloud:released:aws.sjson [com.ubuntu.cloud:server:13.10:amd64 com.ubuntu.cloud:server:13.04:amd64 com.ubuntu.cloud:server:12.10:i386 com.ubuntu.cloud:server:12.04:i386 com.ubuntu.cloud:server:14.04:i386 com.ubuntu.cloud:server:13.10:i386 com.ubuntu.cloud:server:10.04:amd64 com.ubuntu.cloud:server:10.04:i386 com.ubuntu.cloud:server:14.04:amd64 com.ubuntu.cloud:server:12.10:amd64 com.ubuntu.cloud:server:13.04:i386 com.ubuntu.cloud:server:11.10:amd64 com.ubuntu.cloud:server:12.04:amd64 com.ubuntu.cloud:server:11.10:i386 com.ubuntu.cloud:server:14.10:amd64 com.ubuntu.cloud:server:14.10:i386]} {Thu, 28 Aug 2014 06:58:50 +0000 products:1.0 image-ids brightbox [{gb1 https://api.gb1.brightbox.com}] streams/v1/com.brightbox:official.sjson [com.ubuntu.cloud:server:12.04:amd64 com.ubuntu.cloud:server:14.04:amd64 com.ubuntu.cloud:server:12.04:i386 com.ubuntu.cloud:server:14.04:i386]} {Fri, 08 Aug 2014 01:46:47 +0000 products:1.0 image-ids hpcloud [{region-b.geo-1 https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0/} {region-a.geo-1 https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/}] streams/v1/com.ubuntu.cloud:released:hpcloud.sjson [com.ubuntu.cloud:server:12.04:amd64 com.ubuntu.cloud:server:13.10:amd64 com.ubuntu.cloud:server:14.04:amd64 com.ubuntu.cloud:server:12.10:amd64]} {Thu, 28 Aug 2014 16:05:36 +0000 products:1.0 image-ids azure [{Japan West https://management.core.windows.net/} {West Europe https://management.core.windows.net/} {East US 2 https://management.core.windows.net/} {Southeast Asia https://management.core.windows.net/} {South Central US https://management.core.windows.net/} {Australia Southeast https://management.core.windows.net/} {Australia East https://management.core.windows.net/} {East Asia https://management.core.windows.net/} {East US https://management.core.windows.net/} {Central US https://management.core.windows.net/} {West US https://management.core.windows.net/} {North Europe https://management.core.windows.net/} {North Central US https://management.core.windows.net/} {Japan East https://management.core.windows.net/} {China East https://management.core.chinacloudapi.cn/} {China North https://management.core.chinacloudapi.cn/} {Brazil South https://management.core.windows.net/}] streams/v1/com.ubuntu.cloud:released:azure.sjson [com.ubuntu.cloud:server:12.04:amd64 com.ubuntu.cloud:server:14.04:amd64 com.ubuntu.cloud:server:12.10:amd64 com.ubuntu.cloud:server:14.10:amd64]} {Thu, 28 Aug 2014 16:12:26 +0000 products:1.0 image-ids aws-govcloud [{us-gov-west-1 https://ec2.us-gov-west-1.amazonaws-govcloud.com}] streams/v1/com.ubuntu.cloud:released:aws-govcloud.sjson [com.ubuntu.cloud:server:13.10:amd64 com.ubuntu.cloud:server:12.04:i386 com.ubuntu.cloud:server:14.04:i386 com.ubuntu.cloud:server:13.10:i386 com.ubuntu.cloud:server:10.04:amd64 com.ubuntu.cloud:server:14.04:amd64 com.ubuntu.cloud:server:10.04:i386 com.ubuntu.cloud:server:12.04:amd64]} {Sat, 26 Jul 2014 01:44:05 +0000 products:1.0 image-ids aws-cn [{cn-north-1 https://ec2.cn-north-1.amazonaws-cn.com.cn}] streams/v1/com.ubuntu.cloud:released:aws-cn.sjson [com.ubuntu.cloud:server:13.10:amd64 com.ubuntu.cloud:server:12.04:i386 com.ubuntu.cloud:server:14.04:i386 com.ubuntu.cloud:server:13.10:i386 com.ubuntu.cloud:server:14.04:amd64 com.ubuntu.cloud:server:12.04:amd64]}]
2014-08-28 23:21:42 DEBUG juju.environs.simplestreams simplestreams.go:847 finding products at path "streams/v1/com.ubuntu.cloud:released:joyent.sjson"
2014-08-28 23:21:42 INFO juju.utils http.go:59 hostname SSL verification enabled
2014-08-28 23:21:42 DEBUG juju.environs.simplestreams simplestreams.go:885 metadata: &{map[com.ubuntu.cloud:server:13.10:amd64:{saucy 13.10 amd64 map[20140227:0xc21017d9c0 20140608:0xc21017dae0 20140519:0xc21017dba0 20140410:0xc21017dc60]} com.ubuntu.cloud:server:12.04:amd64:{precise 12.04 amd64 map[20140408:0xc21017dd80 20140227:0xc21017de40 20140608:0xc21017df00 20140519:0xc210107000]} com.ubuntu.cloud:server:14.04:amd64:{trusty 14.04 amd64 map[20140416:0xc210107120 20140519:0xc2101071e0 20140608:0xc2101072a0]}] map[crsn:map[euww1:map[region:eu-ams-1 endpoint:https://eu-ams-1.api.joyentcloud.com] ussw1:map[region:us-sw-1 endpoint:https://us-sw-1.api.joyentcloud.com] usww1:map[region:us-west-1 endpoint:https://us-west-1.api.joyentcloud.com] usee1:map[region:us-east-1 endpoint:https://us-east-1.api.joyentcloud.com]]] Tue, 08 Jul 2014 15:49:14 +0000 products:1.0 com.ubuntu.cloud:released:joyent }
2014-08-28 23:21:42 INFO juju.cmd cmd.go:113 Bootstrap failed, destroying environment
2014-08-28 23:21:42 INFO juju.provider.common destroy.go:15 destroying environment "maas"
2014-08-28 23:21:42 ERROR juju.cmd supercommand.go:323 invalid constraint value: arch=arm64
valid values are: [amd64]

Sean Feole (sfeole)
tags: added: hs-arm64
Robie Basak (racb)
affects: juju-core (Ubuntu) → juju-core
Revision history for this message
Ian Booth (wallyworld) wrote :

arch constraints are now validated against those as defined in the image metadata. If there are no listed images for the specified arch, the arch is rejected because it is impossible to start an image of the requested arch. Can you please confirm that your image metadata lists available images for arm64?

Revision history for this message
Sean Feole (sfeole) wrote :

Hey Ian,

I have verified that arm64 does exist in the image metadata lists. (http://hyperscale.ubuntu.com/maas/streams/v1/) and I am successfully able to bootstrap with '--constraints arch=arm64' when using juju-core 1.18.1-0ubuntu1 from universe.

ubuntu@ubuntu:~$ apt-cache policy juju-core
juju-core:
  Installed: 1.18.1-0ubuntu1
  Candidate: 1.20.7-0ubuntu1~14.04.1~juju1
  Version table:
     1.20.7-0ubuntu1~14.04.1~juju1 0
        500 http://ppa.launchpad.net/juju/stable/ubuntu/ trusty/main amd64 Packages
 *** 1.18.1-0ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
        100 /var/lib/dpkg/status

Revision history for this message
Dave Cheney (dave-cheney) wrote : Re: [Bug 1362856] Re: JuJu does not appear to support --constraints arch=arm64
Download full text (10.9 KiB)

Sean, are you trying to bootstrap a trusty or a precise environment.
That simple streams data you linked only has trusty images and I'm
pretty sure Juju will still prefer precise unless instructed
otherwise.

On Mon, Sep 8, 2014 at 2:13 PM, Sean Feole <email address hidden> wrote:
> Hey Ian,
>
> I have verified that arm64 does exist in the image metadata lists.
> (http://hyperscale.ubuntu.com/maas/streams/v1/) and I am successfully
> able to bootstrap with '--constraints arch=arm64' when using juju-core
> 1.18.1-0ubuntu1 from universe.
>
>
> ubuntu@ubuntu:~$ apt-cache policy juju-core
> juju-core:
> Installed: 1.18.1-0ubuntu1
> Candidate: 1.20.7-0ubuntu1~14.04.1~juju1
> Version table:
> 1.20.7-0ubuntu1~14.04.1~juju1 0
> 500 http://ppa.launchpad.net/juju/stable/ubuntu/ trusty/main amd64 Packages
> *** 1.18.1-0ubuntu1 0
> 500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
> 100 /var/lib/dpkg/status
>
> --
> You received this bug notification because you are subscribed to juju-
> core.
> Matching subscriptions: MOAR JUJU SPAM!
> https://bugs.launchpad.net/bugs/1362856
>
> Title:
> JuJu does not appear to support --constraints arch=arm64
>
> Status in juju-core:
> New
>
> Bug description:
> $ apt-cache policy juju-core
> juju-core:
> Installed: 1.20.5-0ubuntu1~14.04.1~juju1
>
> We have started to enable arm64 nodes on a MaaS 1.6 server and now
> attempting to utilize them with juju. It appears that the latest
> stable build of juju does not understand " --constraints arch=arm64"
> when trying to bootstrap a MaaS environment
>
> We have temporarily resolved the constraints problem by using a custom
> hacked version of juju 1.18.1.
>
> Candidate: 1.20.5-0ubuntu1~14.04.1~juju1
> Version table:
> *** 1.20.5-0ubuntu1~14.04.1~juju1 0
> 500 http://ppa.launchpad.net/juju/stable/ubuntu/ trusty/main amd64 Packages
> 100 /var/lib/dpkg/status
> 1.19.4-0ubuntu1~14.04.1~juju1 0
> 500 http://ppa.launchpad.net/juju/devel/ubuntu/ trusty/main amd64 Packages
> 1.18.1-0ubuntu1 0
> 500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
>
>
> sfeole@ubuntu-feole:~$ juju bootstrap --debug --constraints arch=arm64
> 2014-08-28 23:21:41 INFO juju.cmd supercommand.go:37 running juju [1.20.5-trusty-amd64 gc]
> 2014-08-28 23:21:41 DEBUG juju.environs.configstore disk.go:69 Making /home/sfeole/.juju/environments
> 2014-08-28 23:21:41 DEBUG juju.provider.maas environprovider.go:30 opening environment "maas".
> 2014-08-28 23:21:41 DEBUG juju.environs.simplestreams simplestreams.go:389 fetchData failed for "images/streams/v1/index.sjson": file 'ec7a36bd-5783-4f86-88a9-9e4592ee3db1-images/streams/v1/index.sjson' not found not found
> 2014-08-28 23:21:41 DEBUG juju.environs.simplestreams simplestreams.go:363 cannot load index "streams/v1/index.sjson": invalid URL "images/streams/v1/index.sjson" not found
> 2014-08-28 23:21:42 DEBUG juju.environs.simplestreams simplestreams.go:389 fetchData failed for "images/streams/v1/index.json": file 'ec7a36bd-5783-4f86-88a9-9e4592ee3db1-images/streams/v1/index.js...

Revision history for this message
Sean Feole (sfeole) wrote :

Dave, I do have 'default-series=trusty' in my Enviornments.yaml. So I am instructing juju to bootstrap trusty.

maas:
        http-proxy: http://10.228.0.2:3128
        https-proxy: http://10.228.0.2:3128
        type: maas
        default-series: trusty

        # maas-server specifies the location of the MAAS server. It must
        # specify the base path.
        #
        maas-server: 'http://10.228.65.102/MAAS/'

        # maas-oauth holds the OAuth credentials from MAAS.
        #
        maas-oauth:'<MYKEYGOESHERE>'

John George (jog)
Changed in juju-core:
importance: Undecided → High
tags: added: bootstrap maas-provider
Changed in juju-core:
status: New → Triaged
Curtis Hovey (sinzui)
tags: added: constraints
Revision history for this message
Curtis Hovey (sinzui) wrote :

I see joyent's images being searching in the description. Surely this maas is not in joyent and joyent doesn't support arm64. Was the wrong mirror/endpoint selected to match os images?

Changed in juju-core:
milestone: none → next-stable
Revision history for this message
Sean Feole (sfeole) wrote :

As of this afternoon, juju 1.18.1-0ubuntu1 0 no longer appears to bootstrap arm64 nodes.

Please see

https://pastebin.canonical.com/116716/

After asking for some assistance on IRC it was suggested to try and bootstrap with ' --upload-tools' this appears to be a temporary workaround and only works with amd64 / i386 clients.

arm64 now appears to be hosed, After bootstrapping to amd64, issuing 'juju add-machine --constraints arch=arm64' results with the following:

https://pastebin.canonical.com/116718/

It appears that the - alpha 1.21 is causing an issue with the streams data.

Revision history for this message
Sean Feole (sfeole) wrote :

A new bug has been created for the issues mentioned in comment #6

https://bugs.launchpad.net/juju-core/+bug/1367987

Revision history for this message
Ian Booth (wallyworld) wrote :

I've looked further into this and it does look like a Juju issue.
See comment https://bugs.launchpad.net/juju-core/+bug/1365135/comments/10

I've also filed a MAAS bug to ask for the API Juju needs to provide the required functionality.
https://bugs.launchpad.net/maas/+bug/1368480

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.