oxidecomputer / omicron

Omicron: Oxide control plane
Mozilla Public License 2.0
244 stars 38 forks source link

Update System: Tracking Issue #250

Open smklein opened 3 years ago

smklein commented 3 years ago

This issue tracks the work mentioned in RFD 183. Resolving these issues will likely result in subsequent RFDs.

Creating and Hosting Packages

Getting Updates to the Rack

Communicating Update Status to the API / Console

Pushing Updates from Nexus to Everything Else

Validating that this Process Works

smklein commented 3 years ago

Hey @iliana - if it would help to break this into a different structure, I'm happy to edit.

Also, I'm happy to help with adjusting Sled Agent / Nexus interfaces + implementations to make uploading/storing/applying updates a bit easier. I'm a lot less certain where the TUF logic lives (like, where + how do we validate updates when they're received by Nexus?) but it's easy for me to prod at the DB to store any necessary metadata we need.

If sub-pieces of this would be better suited to smaller issues, we can track those too. Feel free to assign portions of this back to me; I'm happy to help.

iliana commented 3 years ago

Looks like I can edit as necessary, too. This roughly maps to what I have in my head so it's a pretty good first go at a tracking issue :)

An early implementation of the update service will just be a static HTTP service. I'm assuming we can re-use pkg.oxide.computer for this?

smklein commented 3 years ago

I think so - I don't actually own that URL, maybe @jclulow can confirm?

zephraph commented 2 years ago

@smklein, I think changelogs are missing here. I know it's likely implied, but it's worth acknowledging given that there will be explicit work required. @rcgoodfellow had added some good thoughts around this in RFD-290 which can be found in https://github.com/oxidecomputer/rfd/issues/477 now. I've still got a TODO to either drive that RFD or to bribe someone else to... but again, there will be some specific work around being able to inform customer's what have changed.

One of the biggest reasons I bring this up is that writing helpful changelogs is as much a cultural thing as anything else. Given in a lot of our repositories we're not in the habit of doing so it'll necessitate a change in our process.

askfongjojo commented 1 year ago

Linking #2483 and #2754 here to better support sled reboots