generate-tools breaks scripted and documented behaviour
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Fix Released
|
Critical
|
Nate Finch |
Bug Description
recent changes to metadata generate-tools breaks the behaviour of 1.15.0..1.20.x. The new behaviour is to claim the agents are in a directory named after the purpose (released, devel, proposed, with the default being released) instead of "releases". Since 1.20.x and older require anyone with private streams to create a dir structure of
<tools-
<tools-
this tree would be uploaded to the stream location.
The new behaviour is to list a location that does not exist on disk. instead of "releases", the com file (product file) says "released". No agents are uploaded to the
location listed in the product file....boot straps fail.
Anyone getting a new juju overnight will have broken streams. Consider that machines in
an enterprises will update is a rolling fashion.
In summary, "releases/" must be used be default when the purpose is NOT explicitly passed. When we say we are using agents in dir "released" or dir "devel" the paths in the product file should list said dirs.
I do not see any new options to explicitly state which dir to get the agents from. It is not possible to specify the dir that has the agents.
Changed in juju-core: | |
status: | New → Triaged |
importance: | Undecided → High |
importance: | High → Critical |
tags: | added: ci metadata regression |
Changed in juju-core: | |
assignee: | nobody → Nate Finch (natefinch) |
Changed in juju-core: | |
status: | Fix Committed → Fix Released |
juju-1. 21-alpha3/ bin/juju metadata generate-tools -help
usage: juju metadata generate-tools [options]
purpose: generate simplestreams tools metadata
options:
-d (= "")
local directory in which to store metadata
-e, --environment (= "")
juju environment to operate in
--public (= false)
tools are for a public cloud, so generate mirrors information
^ when we run the generate-tools command we see jenkins/ streams/ juju-dist/ testing
Finding tools in /var/lib/
^ Obviously tools (agents) were found in releases/ but the out put didn't say that the product file requires those agents to be in a dir named released.