Skip to content

create_disk: Pull ostree-container over 9p, instead of pull-local#2764

Merged
cgwalters merged 1 commit intocoreos:mainfrom
cgwalters:create-disk-container
Mar 22, 2022
Merged

create_disk: Pull ostree-container over 9p, instead of pull-local#2764
cgwalters merged 1 commit intocoreos:mainfrom
cgwalters:create-disk-container

Conversation

@cgwalters
Copy link
Copy Markdown
Member

This should fix openshift/os#594

Basically I think 9p has a bug where under memory pressure, having
it free an inode requires allocation, which can fail.

This works around that bug by pulling the ostree-container archive
instead, which is a single big file.

Note that this code path does not change the semantics at all
for the generated disk. The information about the pulled container
is discarded and lost. Actually making use of the container bits
natively is the deploy-via-container image option which is
still experimental, but will be used when we progress the
ostree native containers work.

This should fix openshift/os#594

Basically I think 9p has a bug where under memory pressure, having
it *free* an inode requires allocation, which can fail.

This works around that bug by pulling the ostree-container archive
instead, which is a single big file.

Note that this code path does *not* change the semantics at all
for the generated disk.  The information about the pulled container
is discarded and lost.  Actually making use of the container bits
natively is the `deploy-via-container` image option which is
still experimental, but will be used when we progress the
ostree native containers work.
mrcxavier added a commit to mrcxavier/coreos-assembler that referenced this pull request Mar 17, 2022
Same approuch of coreos#2764

Signed-off-by: Marcio Xavier <marcioas@br.ibm.com>
Comment thread src/create_disk.sh
bootfs=$(getconfig "bootfs")
grub_script=$(getconfig "grub-script")
ostree=$(getconfig "ostree-repo")
ostree_container=$(getconfig "ostree-container")
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another angle to look at this from is that we are dropping another dependency in the code on an unpacked ostree repository, moving to where "source of truth" is a container image (that has an ostree commit inside still).

@cgwalters
Copy link
Copy Markdown
Member Author

/retest

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Mar 17, 2022

@cgwalters: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/rhcos 1ba9c41 link true /test rhcos

Full PR test history. Your PR dashboard.

Details

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. I understand the commands that are listed here.

Copy link
Copy Markdown
Member

@jlebon jlebon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Tested this locally too (wanted to sanity-check the refs).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Composes sometimes hitting error: fstatat(<checksum>.filez): Cannot allocate memory or error: openat(<checksum>.filez): Invalid argument

2 participants