juju 1.18 and 1.20 cannot parse simplestreams containing version "1.21-alpha1"

Bug #1367987 reported by mahmoh
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
juju-core
Fix Released
High
Ian Booth
1.20
Won't Fix
High
Andrew Wilkins
juju-release-tools
Fix Released
Critical
Curtis Hovey

Bug Description

ubuntu@ms10-01-arm64maas:~$ juju bootstrap --debug --constraints arch=arm64
2014-09-11 01:00:32 INFO juju.cmd supercommand.go:297 running juju-1.18.1-trusty-amd64 [gc]
2014-09-11 01:00:32 DEBUG juju.environs.configstore disk.go:64 Making /home/ubuntu/.juju/environments
2014-09-11 01:00:32 DEBUG juju.provider.maas environprovider.go:30 opening environment "maas".
2014-09-11 01:00:33 INFO juju.environs.bootstrap bootstrap.go:46 bootstrapping environment "maas"
2014-09-11 01:00:33 DEBUG juju.environs.bootstrap synctools.go:159 looking for bootstrap tools: series="trusty", arch=0xc210135320, version=<nil>
2014-09-11 01:00:33 INFO juju.environs.tools tools.go:186 filtering tools by released version
2014-09-11 01:00:33 INFO juju.environs.tools tools.go:86 reading tools with major.minor version 1.18
2014-09-11 01:00:33 INFO juju.environs.tools tools.go:97 filtering tools by series: trusty
2014-09-11 01:00:33 INFO juju.environs.tools tools.go:100 filtering tools by architecture: arm64
2014-09-11 01:00:33 DEBUG juju.environs.simplestreams simplestreams.go:490 fetchData failed for "tools/streams/v1/index.sjson": file '1f569d44-0f10-4a06-8dca-16f0d6fda65e-tools/streams/v1/index.sjson' not found not found
2014-09-11 01:00:33 DEBUG juju.environs.simplestreams simplestreams.go:464 cannot load index "streams/v1/index.sjson": invalid URL "tools/streams/v1/index.sjson" not found
2014-09-11 01:00:33 DEBUG juju.environs.simplestreams simplestreams.go:490 fetchData failed for "tools/streams/v1/index.json": file '1f569d44-0f10-4a06-8dca-16f0d6fda65e-tools/streams/v1/index.json' not found not found
2014-09-11 01:00:33 DEBUG juju.environs.simplestreams simplestreams.go:464 cannot load index "streams/v1/index.json": invalid URL "tools/streams/v1/index.json" not found
2014-09-11 01:00:33 INFO juju.utils http.go:55 hostname SSL verification enabled
2014-09-11 01:00:34 INFO juju.utils http.go:55 hostname SSL verification enabled
2014-09-11 01:00:34 DEBUG juju.environs.simplestreams simplestreams.go:677 using default candidate for content id "com.ubuntu.juju:released:tools" are {20140911 mirrors:1.0 content-download streams/v1/cpc-mirrors.sjson []}
2014-09-11 01:00:34 INFO juju.utils http.go:55 hostname SSL verification enabled
2014-09-11 01:00:35 DEBUG juju.environs.simplestreams simplestreams.go:548 no mirror information available for { }: mirror info with cloud { } not found
2014-09-11 01:00:35 DEBUG juju.environs.simplestreams simplestreams.go:468 read metadata index at "https://streams.canonical.com/juju/tools/streams/v1/index.sjson"
2014-09-11 01:00:35 DEBUG juju.environs.simplestreams simplestreams.go:635 candidate matches for products ["com.ubuntu.juju:14.04:arm64"] are [{Thu, 11 Sep 2014 00:12:27 +0000 products:1.0 content-download [] streams/v1/com.ubuntu.juju:released:tools.sjson [com.ubuntu.juju:12.04:amd64 com.ubuntu.juju:12.04:armhf com.ubuntu.juju:12.04:i386 com.ubuntu.juju:12.10:amd64 com.ubuntu.juju:12.10:i386 com.ubuntu.juju:13.04:amd64 com.ubuntu.juju:13.04:i386 com.ubuntu.juju:13.10:amd64 com.ubuntu.juju:13.10:armhf com.ubuntu.juju:13.10:i386 com.ubuntu.juju:14.04:amd64 com.ubuntu.juju:14.04:arm64 com.ubuntu.juju:14.04:armhf com.ubuntu.juju:14.04:i386 com.ubuntu.juju:14.04:powerpc com.ubuntu.juju:14.04:ppc64 com.ubuntu.juju:14.04:ppc64el com.ubuntu.juju:14.10:amd64 com.ubuntu.juju:14.10:arm64 com.ubuntu.juju:14.10:armhf com.ubuntu.juju:14.10:i386 com.ubuntu.juju:14.10:ppc64 com.ubuntu.juju:14.10:ppc64el]}]
2014-09-11 01:00:35 DEBUG juju.environs.simplestreams simplestreams.go:947 finding products at path "streams/v1/com.ubuntu.juju:released:tools.sjson"
2014-09-11 01:00:35 INFO juju.utils http.go:55 hostname SSL verification enabled
2014-09-11 01:00:36 DEBUG juju.environs.simplestreams simplestreams.go:985 metadata: &{map[com.ubuntu.juju:12.04:amd64:{ 1.15.0 amd64 map[20140911:0xc210368720]} com.ubuntu.juju:12.04:armhf:{ 1.16.2 armhf map[20140911:0xc210368840]} com.ubuntu.juju:12.04:i386:{ 1.15.0 i386 map[20140911:0xc210368960]} com.ubuntu.juju:13.10:amd64:{ 1.15.0 amd64 map[20140911:0xc210368f00]} com.ubuntu.juju:13.10:i386:{ 1.15.0 i386 map[20140911:0xc210368300]} com.ubuntu.juju:14.04:amd64:{ 1.16.2 amd64 map[20140911:0xc21030e120]} com.ubuntu.juju:14.04:i386:{ 1.16.2 i386 map[20140911:0xc21030e480]} com.ubuntu.juju:14.10:amd64:{ 1.18.2 amd64 map[20140911:0xc21030e960]} com.ubuntu.juju:14.10:i386:{ 1.18.2 i386 map[20140911:0xc21030ef00]} com.ubuntu.juju:12.10:amd64:{ 1.15.0 amd64 map[20140911:0xc210368a80]} com.ubuntu.juju:12.10:i386:{ 1.15.0 i386 map[20140911:0xc210368ba0]} com.ubuntu.juju:13.04:i386:{ 1.15.0 i386 map[20140911:0xc210368de0]} com.ubuntu.juju:14.04:ppc64:{ 1.18.4 ppc64 map[20140911:0xc21030e720]} com.ubuntu.juju:14.04:armhf:{ 1.16.2 armhf map[20140911:0xc21030e360]} com.ubuntu.juju:14.04:powerpc:{ 1.17.2 powerpc map[20140911:0xc21030e600]} com.ubuntu.juju:14.10:arm64:{ 1.18.4 arm64 map[20140911:0xc21030eb40]} com.ubuntu.juju:14.10:armhf:{ 1.18.2 armhf map[20140911:0xc21030ede0]} com.ubuntu.juju:14.10:ppc64:{ 1.18.4 ppc64 map[20140911:0xc210124180]} com.ubuntu.juju:13.04:amd64:{ 1.15.0 amd64 map[20140911:0xc210368cc0]} com.ubuntu.juju:13.10:armhf:{ 1.16.2 armhf map[20140911:0xc210368120]} com.ubuntu.juju:14.04:arm64:{ 1.17.2 arm64 map[20140911:0xc21030e240]} com.ubuntu.juju:14.04:ppc64el:{ 1.17.2 ppc64el map[20140911:0xc21030e840]} com.ubuntu.juju:14.10:ppc64el:{ 1.18.4 ppc64el map[20140911:0xc210124300]}] map[] Thu, 11 Sep 2014 00:12:27 +0000 products:1.0 com.ubuntu.juju:released:tools}
panic: invalid version "1.21-alpha1"

goroutine 1 [running]:
runtime.panic(0xbebf00, 0xc210441930)
 /usr/lib/go/src/pkg/runtime/panic.c:266 +0xb6
launchpad.net/juju-core/version.MustParse(0xc210338650, 0xb, 0xc21013e5a0, 0xc21013e5a0, 0xc210351c01, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/version/version.go:151 +0x81
launchpad.net/juju-core/environs/tools.appendMatchingTools(0x7f155aaaf0d8, 0xc210168e40, 0xc2104418f0, 0x1, 0x1, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/environs/tools/simplestreams.go:224 +0x330
launchpad.net/juju-core/environs/simplestreams.GetLatestMetadata(0xc2100d6940, 0x7f155aaaf118, 0xc21013e5a0, 0x7f155aaaf0d8, 0xc210168e40, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/environs/simplestreams/simplestreams.go:1023 +0x76c
launchpad.net/juju-core/environs/simplestreams.(*IndexReference).getLatestMetadataWithFormat(0xc2100fac60, 0x7f155aaaf118, 0xc21013e5a0, 0xd9f1d0, 0xc, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/environs/simplestreams/simplestreams.go:986 +0x1a5
launchpad.net/juju-core/environs/simplestreams.getMaybeSignedMetadata(0x7f155aaaf0d8, 0xc210168e40, 0xdfa530, 0x10, 0x7f155aaaf118, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/environs/simplestreams/simplestreams.go:469 +0x5e9
launchpad.net/juju-core/environs/simplestreams.GetMetadata(0xc210152e20, 0x2, 0x2, 0xdfa530, 0x10, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/environs/simplestreams/simplestreams.go:426 +0x12e
launchpad.net/juju-core/environs/tools.Fetch(0xc210152e20, 0x2, 0x2, 0xdfa530, 0x10, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/environs/tools/simplestreams.go:182 +0x16a
launchpad.net/juju-core/environs/tools.FindToolsForCloud(0xc210152e20, 0x2, 0x2, 0x0, 0x0, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/environs/tools/tools.go:121 +0x15f
launchpad.net/juju-core/environs/tools.FindTools(0x7f155aaaf020, 0xc2100f7660, 0x1, 0x12, 0x1, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/environs/tools/tools.go:106 +0x5aa
launchpad.net/juju-core/environs/tools.FindBootstrapTools(0x7f155aaaf020, 0xc2100f7660, 0x0, 0xc210135320, 0xc210000d40, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/environs/tools/tools.go:189 +0x351
launchpad.net/juju-core/environs/bootstrap.EnsureToolsAvailability(0x7f155aaaafc0, 0xc2100b5730, 0x7f155aaad868, 0xc2100f7660, 0xc210000d40, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/environs/bootstrap/synctools.go:168 +0x2a6
launchpad.net/juju-core/provider/common.EnsureBootstrapTools(0x7f155aaaafc0, 0xc2100b5730, 0x7f155aaad868, 0xc2100f7660, 0xc210000d40, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/provider/common/bootstrap.go:407 +0x74
launchpad.net/juju-core/provider/common.Bootstrap(0x7f155aaaafc0, 0xc2100b5730, 0x7f155aaad868, 0xc2100f7660, 0xc210135320, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/provider/common/bootstrap.go:45 +0x16b
launchpad.net/juju-core/provider/maas.(*maasEnviron).Bootstrap(0xc2100f7660, 0x7f155aaaafc0, 0xc2100b5730, 0xc210135320, 0x0, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/provider/maas/environ.go:87 +0x72
launchpad.net/juju-core/environs/bootstrap.Bootstrap(0x7f155aaaafc0, 0xc2100b5730, 0x7f155aaad868, 0xc2100f7660, 0xc210135320, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/environs/bootstrap/bootstrap.go:47 +0x5e3
main.(*BootstrapCommand).Run(0xc210112c00, 0xc2100b5730, 0xc210038d00, 0x0)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/cmd/juju/bootstrap.go:143 +0x67f
main.envCmdWrapper.Run(0x7f155aaa9198, 0xc210112c00, 0xc2100b5730, 0x7f155a9031d8, 0x2)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/cmd/juju/main.go:158 +0x48
main.(*envCmdWrapper).Run(0xc21007ebe0, 0xc2100b5730, 0x14, 0x7f155a9031d8)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/cmd/juju/addmachine.go:1 +0x9a
launchpad.net/juju-core/cmd.(*SuperCommand).Run(0xc210112b80, 0xc2100b5730, 0xc2100b5730, 0x0)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/cmd/supercommand.go:298 +0x439
launchpad.net/juju-core/cmd.Main(0x7f155aaaac00, 0xc210112b80, 0xc2100b5730, 0xc21000a010, 0x4, ...)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/cmd/cmd.go:244 +0x283
main.Main(0xc21000a000, 0x5, 0x5)
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/cmd/juju/main.go:131 +0x439d
main.main()
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/cmd/juju/main.go:173 +0x44

goroutine 3 [syscall]:
os/signal.loop()
 /usr/lib/go/src/pkg/os/signal/signal_unix.go:21 +0x1e
created by os/signal.init·1
 /usr/lib/go/src/pkg/os/signal/signal_unix.go:27 +0x31

goroutine 9 [runnable]:
main.func·002()
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/cmd/juju/bootstrap.go:111 +0x45
created by main.(*BootstrapCommand).Run
 /build/buildd/juju-core-1.18.1/src/launchpad.net/juju-core/cmd/juju/bootstrap.go:114 +0x236

goroutine 32 [syscall]:
runtime.goexit()
 /usr/lib/go/src/pkg/runtime/proc.c:1394
ubuntu@ms10-01-arm64maas:~$ dpkg -l | grep juju
ii juju 1.18.1-0ubuntu1 all next generation service orchestration system
ii juju-core 1.18.1-0ubuntu1 amd64 Juju is devops distilled - client
ubuntu@ms10-01-arm64maas:~$
ubuntu@ms10-01-arm64maas:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty
ubuntu@ms10-01-arm64maas:~$ dpkg -l | grep maas
ii maas 1.6.0+bzr2545-0ubuntu1~ppa1 all MAAS server all-in-one metapackage
ii maas-cli 1.6.0+bzr2545-0ubuntu1~ppa1 all MAAS command line API tool
ii maas-cluster-controller 1.6.0+bzr2545-0ubuntu1~ppa1 all MAAS server cluster controller
ii maas-common 1.6.0+bzr2545-0ubuntu1~ppa1 all MAAS server common files
ii maas-dhcp 1.6.0+bzr2545-0ubuntu1~ppa1 all MAAS DHCP server
ii maas-dns 1.6.0+bzr2545-0ubuntu1~ppa1 all MAAS DNS server
ii maas-region-controller 1.6.0+bzr2545-0ubuntu1~ppa1 all MAAS server complete region controller
ii maas-region-controller-min 1.6.0+bzr2545-0ubuntu1~ppa1 all MAAS Server minimum region controller
ii python-django-maas 1.6.0+bzr2545-0ubuntu1~ppa1 all MAAS server Django web framework
ii python-maas-client 1.6.0+bzr2545-0ubuntu1~ppa1 all MAAS python API client
ii python-maas-provisioningserver 1.6.0+bzr2545-0ubuntu1~ppa1 all MAAS server provisioning libraries

Related branches

Revision history for this message
Sean Feole (sfeole) wrote :
Download full text (14.2 KiB)

I have verified that this also occurs on 1.18.1 for x64

2014-09-11 00:29:07 INFO juju.cmd supercommand.go:297 running juju-1.18.1-trusty-amd64 [gc]
2014-09-11 00:29:07 WARNING juju.cmd.juju common.go:40 ignoring environments.yaml: using bootstrap config in file "/home/botuser/.juju/environments/maas.jenv"
2014-09-11 00:29:07 DEBUG juju.environs open.go:86 ConfigForName found bootstrap config map[string]interface {}{"bootstrap-addresses-delay":10, "default-series":"trusty", "development":false, "logging-config":"<root>=WARNING;unit=DEBUG", "maas-server":"http://10.228.65.102/MAAS", "bootstrap-retry-delay":5, "syslog-port":6514, "tools-url":"", "api-port":17070, "authorized-keys":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeAr+6koYzHa/LCEKAFTLtbY1dOWTKVb+hUpLS8USCYn7ZmKF8a4i4cO6wCUIwAEEOLKSkGEJEHlXIwBXtfeT2CXgsTsDmC8FQh2CQoGBi/kFuQcKg1DMX7O3CQfRP1ZUGUH1+vpkf8qTzVKzl4X97G9XNQzbcugn2Uq4RvPU6A7PNwq3U6PANVjs2Xkf7xtJYCnKP94EP6cEjTkAUZSTu8llVGrbf7PnTt713RxoqfEOGKtVNylMPX0yBdXx/t20teUPhN3MQWflBLvSYvSWBYY3uwyaGUiTnR/7W77pJXZMvAntpdQlPhfb0DeJGgqeEQzuki+qlSuVkKi7cfPe3 juju-client-key\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDlw9nRnWJnFZZ8/0cgbwSzbps3F9x3/vTlPhkalSPb08ArtaIbrgy7jubyBjzqEpF7G21hn0sVLPbZroRfAxIdzwFBlp4MomeCR1mmstFv3YmqKPtagRoDgvlaoqlSkl07rvLeVatemPzAz6Yx167JJq5zSgViaNOwdUu68e2XlaCyj4j4qnuGeBAklyDiRJzsH8Lzgh4fv2F+EbBFVYvWO0EW3e/emv9ubETWxsxTEYKh+Pp0xBzlFwavqUe/K64ksUgMM4X3ac67F+sTQnbLKoKfzpUZnPVcI/AIO5oh/vuVmyMbn25Dbia0TPNGIXrTKyOM90NN1SWQ+32QNUcV botuser@virt2\n", "firewall-mode":"instance", "https-proxy":"http://10.228.0.2:3128", "maas-oauth":"VqqdsvxD8Ykj5LmneH:TnLPvfXELAQU3XrYNA:D2e9s9dvnP3ffHBJuyQ2aj43eyV2M8T3", "type":"maas", "ca-cert":"-----BEGIN CERTIFICATE-----\nMIICWTCCAcSgAwIBAgIBADALBgkqhkiG9w0BAQUwQjENMAsGA1UEChMEanVqdTEx\nMC8GA1UEAwwoanVqdS1nZW5lcmF0ZWQgQ0EgZm9yIGVudmlyb25tZW50ICJtYWFz\nIjAeFw0xNDA5MTEwMDE1NTFaFw0yNDA5MTEwMDIwNTFaMEIxDTALBgNVBAoTBGp1\nanUxMTAvBgNVBAMMKGp1anUtZ2VuZXJhdGVkIENBIGZvciBlbnZpcm9ubWVudCAi\nbWFhcyIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMzANp3zLcl/mzXDYkDD\nNBEnftipY/4MJmYm9DWCeD6aGufFUq/zSMK2NxcOGsq6V6VZEmFtAND7MspqPGys\ndLdbJ9+4HJV6XW43eoT5LljjiHaMWP+3n1wHK+Zk9hIe+9F60GN/zf+jJrhCtWXv\nU/1TPwfdBULFxtJy+PnxdW7/AgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIApDAPBgNV\nHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS5tGFM2GOczsypmNP/3oYVLSR4yjAfBgNV\nHSMEGDAWgBS5tGFM2GOczsypmNP/3oYVLSR4yjALBgkqhkiG9w0BAQUDgYEAANKr\nnz5qlWp1ZTRgJ+DDwtDBg5UUwduhr/zCqP2dp6ZDGXq5ETOK/OJGA35OK1f5Lu3V\nWFtq49C1lZaL+Y536/XtiX94XuvgHsD+AynvjDiLBlxmWr7RcAhmCgBz6Iau+VXF\nT4urqVy7/s2/ht0g2ITjjKuHNQCE+i40hzMppx4=\n-----END CERTIFICATE-----\n", "http-proxy":"http://10.228.0.2:3128", "image-metadata-url":"", "admin-secret":"4d528e9fd6bc30c35c5457b703613824", "maas-agent-name":"25a9b1d7-ec16-44c2-8e12-942b9a9dacfe", "name":"maas", "state-port":37017, "tools-metadata-url":"", "bootstrap-timeout":600, "ca-private-key":"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDMwDad8y3Jf5s1w2JAwzQRJ37YqWP+DCZmJvQ1gng+mhrnxVKv\n80jCtjcXDhrKulelWRJhbQDQ+zLKajxsrHS3WyffuByVel1uN3qE+S5Y44h2jFj/\nt59cByvmZPYSHvvRetBjf83/oya4QrVl71P9Uz8H3QVCxcbScvj58XVu/wIDAQAB\nAoGAFmTvlFcEqwVJ9JdqJ6syBq5LMWdViHPLv2CDVVbvz+kLCE6MvLHfQ2yqmdrx\nEztOWsdjO0Sw0iqnY3w7H6e9HB6KP40wxNbO20o+lOZkviTZeWK5eijjMZrKu1CM\n...

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

pastebin output for comment #1

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

tags: added: hs-arm64
Ian Booth (wallyworld)
Changed in juju-core:
milestone: none → 1.21-alpha1
summary: - panic: invalid version "1.21-alpha1" on arm64
+ juju 1.18 cannot parse simplestreams containing version "1.21-alpha1"
Changed in juju-core:
importance: Undecided → Critical
status: New → Triaged
Revision history for this message
Ian Booth (wallyworld) wrote : Re: juju 1.18 cannot parse simplestreams containing version "1.21-alpha1"

The solution is to publish new simplestreams metadata for 1.21-aplpha1 and later releases to
http://streams.canonical.com/juju/tools/streams/v2/

The above path will contain tools metadata for all releases (old and new) from here on. 1.21 and 1.20 releases will be patched to look at this new URL.

The 1.18 release will continue to look at http://streams.canonical.com/juju/tools/streams/v1/
The v1 metadata will not be updated to contain releases newer than 1.20.x

1.18 will need to upgrade to 1.20 before being able to then upgrade to newer releases.

Revision history for this message
Robie Basak (racb) wrote :

> 1.18 will need to upgrade to 1.20 before being able to then upgrade to newer releases.

Would this be an issue if we, say, pushed 1.22 back into Trusty, and so a user would end up updating from 1.18 to 1.22 (on the client) in one go?

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

@Robie, any time we need to release an alpha, beta, rc version of Juju, 1.18 installs will not be able to upgrade even to 1.20 as they do read and parse all the metadata and will fall over. Even if 1.22 were in trusty, there may be folks who choose not to upgrade to that version and are still on 1.18. Then when we add 1.23-beta1, they 1.18 people will still be stuck.

The best approach to not break 1.18 Juju is to start using a v2 streams path going forward, and not publishing anything past 1.20 to the v1 path.

Revision history for this message
Robie Basak (racb) wrote :

Thanks Ian, that makes it clear.

I had thought the 1.18 upgrade issue was a caveat to the v2 path solution, hence my confusion. Now I understand the v2 path to be a solution to the upgrade issue :)

Curtis Hovey (sinzui)
Changed in juju-core:
milestone: 1.21-alpha1 → 1.21-alpha2
Curtis Hovey (sinzui)
Changed in juju-release-tools:
importance: Undecided → Critical
assignee: nobody → Curtis Hovey (sinzui)
Changed in juju-core:
milestone: 1.21-alpha2 → next-stable
Changed in juju-release-tools:
status: New → In Progress
Revision history for this message
Ian Booth (wallyworld) wrote :

Taking into account the desire for different tools streams, and the advantage of
providing the ability to maintain a single source tree for tools metadata,
here's a slightly revised implementation plan:

The tools metadata will live in this location:

http://streams.canonical.com/juju/tools/<tag>/streams/v1

where <tag> is one of:
- released
- proposed
- devel
- testing

Just as we currently have an "image-stream" config setting for simplestreams
image metadata, there will be an equivalent "tools-stream" setting for tools
metadata to specify the tag. This keeps everything nice and consistent. The new
tools metadata is in a different location to what exists today, so 1.18 Juju can
still upgrade.

Note: the file paths inside the json metadata will need to contain the full path under tools
ie
streams/v1/cpc-mirrors.json becomes <tag>/treams/v1/cpc-mirrors.json etc

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

We released 1.21-alpha1 using
    http://streams.canonical.com/juju/devel/tools/
as the streams because it reused the well tested pattern that the juju-release-tools support.

I would like to to change the streams enpoints to match Ian's proposal. I will talk with Ben Howard and Co. about this feature.

Changed in juju-release-tools:
status: In Progress → Fix Released
Curtis Hovey (sinzui)
Changed in juju-core:
importance: Critical → High
Ian Booth (wallyworld)
Changed in juju-core:
assignee: nobody → Ian Booth (wallyworld)
status: Triaged → In Progress
summary: - juju 1.18 cannot parse simplestreams containing version "1.21-alpha1"
+ juju 1.18 and 1.20 cannot parse simplestreams containing version
+ "1.21-alpha1"
Ian Booth (wallyworld)
Changed in juju-core:
status: In Progress → Fix Committed
Curtis Hovey (sinzui)
Changed in juju-core:
milestone: next-stable → 1.21-alpha2
Curtis Hovey (sinzui)
tags: added: landscape ubuntu-engineering
Revision history for this message
Curtis Hovey (sinzui) wrote :

Ubuntu representative are concerned that adding support for a new option to select devel and proposed streams is a feature, not a bug fix. Adding a feature to a micro-release will require a lot of justification and testing to get the release into ubuntu.

I have marked this issue as wont fix. We can reopen this for 1.20 is we believe 1.20 users need to the set "proposed" instead of the url for now.

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.