juju 2.2.2.1 unable to add a unit to an existing service, no matching agent binaries found
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Expired
|
High
|
Unassigned |
Bug Description
We're in the process of trying to add arm64 units to one of our Scalingstacks, we have one unit that's been in the cloud since its initial deployment. I've recently adding several more units to the MaaS but attempting to deploy them gives me a down machine with the error "no matching agent binaries available". I'm not seeing an enormous amount of information in the controller logs even with debugging enabled, this seems to be largely the extent of it:
2017-09-01 14:18:56 DEBUG juju.environs.tools tools.go:101 finding agent binaries in stream "devel"
2017-09-01 14:18:56 DEBUG juju.environs.tools tools.go:105 reading agent binaries with major version -1
2017-09-01 14:18:56 DEBUG juju.environs.tools tools.go:111 filtering agent binaries by version: 2.2.2.1
2017-09-01 14:18:56 DEBUG juju.environs.tools tools.go:114 filtering agent binaries by series: xenial
2017-09-01 14:18:56 DEBUG juju.environs.tools tools.go:117 filtering agent binaries by architecture: arm64
2017-09-01 14:18:56 DEBUG juju.environs.tools urls.go:109 trying datasource "keystone catalog"
2017-09-01 14:18:56 DEBUG juju.environs.
That looks like it's trying to do the right thing, I never see an error from this process until the final no matching agent binaries found. The model config is all defaults. I believe this was deployed with 2.2.2 and upgraded to 2.2.2.1, it's possible it's looking for a 2.2.2.1 agent binary and not finding it, I notice there's no matching version for that in the streams.
tags: | added: upgrade-juju |
Changed in juju: | |
status: | New → Triaged |
importance: | Undecided → High |
I'm not sure what the best resolution is. The issue is that someone upgraded to a 'manually build' binary/local jujud. When doing so, that would only upload the version on your machine (thus amd64 only). And there are no binaries matching for arm64. Hence the recommendation to not use '--upload-tools' style workflow.
I believe there would be ways to build binaries for other platforms and get them uploaded, we'd have to dig into the best way to do that. A different way would be to allow you to "juju upgrade-juju" from 2.2.2.1 back to a 2.2.2 which would have official binaries.