-
Notifications
You must be signed in to change notification settings - Fork 198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to ostree-ext 0.7, add new container-encapsulate
#3478
Conversation
Skipping CI for Draft Pull Request. |
With this try e.g. |
5be6065
to
14150dc
Compare
Demos: FCOS:
I've uploaded that to quay.io/cgwalters/fcos-chunked |
dc76688
to
993418d
Compare
2e9ecbb
to
86f9375
Compare
c0ff985
to
b06b741
Compare
d084970
to
0893ca4
Compare
/test all |
0893ca4
to
257dfe3
Compare
/test all |
1 similar comment
/test all |
1395db8
to
b8a1786
Compare
/test all |
25f1507
to
85f8727
Compare
This *opts in* to using coreos/rpm-ostree#3478 so we can safely ratchet in the change, and more easily test in in non-production CI configurations but still using coreos-assembler.
This *opts in* to using coreos/rpm-ostree#3478 so we can safely ratchet in the change, and more easily test in in non-production CI configurations but still using coreos-assembler.
This *opts in* to using coreos/rpm-ostree#3478 so we can safely ratchet in the change, and more easily test in in non-production CI configurations but still using coreos-assembler.
This *opts in* to using coreos/rpm-ostree#3478 so we can safely ratchet in the change, and more easily test in in non-production CI configurations but still using coreos-assembler.
This *opts in* to using coreos/rpm-ostree#3478 so we can safely ratchet in the change, and more easily test in in non-production CI configurations but still using coreos-assembler.
This requires ostreedev/ostree-rs-ext#275 When `deploy-via-container: true` is used in combination with the new `rpm-ostree container-encapsulate` from coreos/rpm-ostree#3478 We need to use the ostree-container synthetic merge commit to find the deployment. (Actually, what we want is something more like `ostree admin status --json`, or I guess for now `rpm-ostree status --json` to work offline; but for now this is good too)
69617ec
to
250e68e
Compare
This requires ostreedev/ostree-rs-ext#275 When `deploy-via-container: true` is used in combination with the new `rpm-ostree container-encapsulate` from coreos/rpm-ostree#3478 We need to use the ostree-container synthetic merge commit to find the deployment. (Actually, what we want is something more like `ostree admin status --json`, or I guess for now `rpm-ostree status --json` to work offline; but for now this is good too)
The headlining feature here is ostreedev/ostree-rs-ext#123 which adds support for "chunked ostree". We gain a new `rpm-ostree container-encapsulate` option which is like `ostree container encapsulate`, but generates chunked images using the RPM database. And on the client side, we now know how to handle incremental updates - chunks that haven't changed won't be redownloaded.
250e68e
to
ac3d61b
Compare
container-encapsulate
Hmmmm. This stack trace implies to me the tokio handle code threading has been buggy for quite a while. But I don't understand why it's not always crashing. |
/retest |
OK this one died in the compose tests, but it can't really break those. I'd like to get this in for the next release, any review takers? |
/override continuous-integration/jenkins/pr-merge |
@cgwalters: Overrode contexts on behalf of cgwalters: continuous-integration/jenkins/pr-merge In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't review this in depth, but it's all just in the container path which makes this less risky. So LGTM overall!
Still, would be great to have tests for this since it's a lot of non-trivial logic.
@@ -954,6 +954,7 @@ get_refts_for_rootfs (const char *rootfs, GLnxTmpDir *tmpdir) | |||
gboolean | |||
rpmostree_get_refts_for_commit (OstreeRepo *repo, const char *ref, RpmOstreeRefTs **out_ts, | |||
GCancellable *cancellable, GError **error) | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor/optional: extraneous blank line.
Ok(()) | ||
} | ||
|
||
fn gv_nevra_to_string(pkg: &glib::Variant) -> String { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pretty sure we have this already on the C side. Might be worth making this public and moving over those callers.
Definitely re CI...I'm trying to figure out too how to actually share that across repos. But CI does cover the not-split case. |
The headlining feature here is ostreedev/ostree-rs-ext#123
which adds support for "chunked ostree".
We gain a new
rpm-ostree container-encapsulate
option whichis like
ostree container encapsulate
, but generates chunkedimages using the RPM database.
And on the client side, we now know how to handle incremental
updates - chunks that haven't changed won't be redownloaded.