Support the new channels.json format in a backward compatible way
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu system image |
Fix Released
|
Critical
|
Barry Warsaw |
Bug Description
To allow for the new channel alias feature and for hidden channels, we need to change the channels.json format to be more flexible.
An example of the new syntax is as follow:
{
"daily": {
"alias": "saucy",
"devices": {
},
},
"mako": {
},
}
}
},
"saucy": {
"devices": {
},
},
"mako": {
},
}
}
},
"saucy-
"hidden": true,
"devices": {
},
},
"mako": {
},
}
}
}
}
There are three main changes:
- Addition of "hidden", boolean, defaults to false. When set to true, the client shouldn't include that channel in any user visible list, though it should still allow updating to/within that channel.
- Addition of "alias", string, defaults to non-existent. When set, points to the name of the channel this alias is based on. It's currently safe for the client to ignore this and just consider the channel as a regular channel.
- All the devices are moved from directly within the channel dict to a sub-dict called "devices", syntax within it remains unchanged.
This needs to be supported in system-image-cli ASAP as the planned cut-off is Thursday next week (12th of September) and we need to allow users to update to a newer system-image-cli before that (so that their device understand both formats and can deal with the change).
Changed in ubuntu-system-image: | |
status: | New → Triaged |
importance: | Undecided → Critical |
assignee: | nobody → Barry Warsaw (barry) |
tags: | added: client |
Changed in ubuntu-system-image: | |
milestone: | none → 1.5 |
status: | Triaged → In Progress |
Changed in ubuntu-system-image: | |
status: | In Progress → Fix Committed |
Changed in ubuntu-system-image: | |
status: | Fix Committed → Fix Released |
For the record and verification, if a channel has a device specific keyring, it'll still show up in under the 'keyring' field as before ('keyring' is a sibling of 'index').