Skip to content

Conversation

@cgwalters
Copy link
Member

I'd like to rework our build process to use kola qemuexec
and complete the move all the core qemu logic into mantle.

Today our build logic ends up hardcoding specific devices like
/dev/sdb1 which is extremely fragile. Let's use labels instead,
and start with the cache device.

Rename the cache to cache2.qcow2 and remove the old one so we
can reliably find the label.

I'd like to rework our build process to use `kola qemuexec`
and complete the move all the core qemu logic into mantle.

Today our build logic ends up hardcoding specific devices like
`/dev/sdb1` which is extremely fragile.  Let's use labels instead,
and start with the cache device.

Rename the cache to `cache2.qcow2` and remove the old one so we
can reliably find the label.
@ashcrow
Copy link
Member

ashcrow commented Apr 13, 2020

/lgtm

@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ashcrow, cgwalters

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-robot openshift-merge-robot merged commit ab2972f into coreos:master Apr 13, 2020
cgwalters added a commit to cgwalters/coreos-assembler that referenced this pull request Apr 13, 2020
This is a followup to:
coreos#1342
which is part of:
coreos#1289

Our builds right now run qemu in a way that's highly sensitive
to changes in device ordering.

SCSI hardware supports a [world wide name](https://en.wikipedia.org/wiki/World_Wide_Name);
change our qemu invocation to use `42` (in decimal) for that.

Unfortunately because we're not using udev in our supermin
VM right now we don't get the nice `/dev/disk/by-id` symlink
to it.  Instead just walk `/sys/block` manually.
cgwalters added a commit to cgwalters/coreos-assembler that referenced this pull request Apr 13, 2020
This is a followup to:
coreos#1342
which is part of:
coreos#1289

Our builds right now run qemu in a way that's highly sensitive
to changes in device ordering.

SCSI hardware supports a [world wide name](https://en.wikipedia.org/wiki/World_Wide_Name);
change our qemu invocation to use `42` (in decimal) for that.

Unfortunately because we're not using udev in our supermin
VM right now we don't get the nice `/dev/disk/by-id` symlink
to it.  Instead just walk `/sys/block` manually.
cgwalters added a commit to cgwalters/coreos-assembler that referenced this pull request Apr 13, 2020
Regression from: coreos#1342
We'd die in pid 1 if the cache disk isn't found, which happens in
the privileged case.
cgwalters added a commit to cgwalters/coreos-assembler that referenced this pull request Apr 13, 2020
This is a followup to:
coreos#1342
which is part of:
coreos#1289

Our builds right now run qemu in a way that's highly sensitive
to changes in device ordering.

SCSI hardware supports a [world wide name](https://en.wikipedia.org/wiki/World_Wide_Name);
change our qemu invocation to use `42` (in decimal) for that.

Unfortunately because we're not using udev in our supermin
VM right now we don't get the nice `/dev/disk/by-id` symlink
to it.  Instead just walk `/sys/block` manually.
openshift-merge-robot pushed a commit that referenced this pull request Apr 14, 2020
Regression from: #1342
We'd die in pid 1 if the cache disk isn't found, which happens in
the privileged case.
cgwalters added a commit to cgwalters/coreos-assembler that referenced this pull request Apr 22, 2020
And this final commit gets rid of almost all the core qemu logic in
cmdlib, so e.g. architecture specific changes only need to happen
in one place.  The only special casing left is `$devtype` and
the terminal.

First, change how we identify devices.
This is a followup to: coreos#1342
which is part of:
coreos#1289

Our builds right now run qemu in a way that's highly sensitive
to changes in device ordering.

SCSI hardware supports a [world wide name](https://en.wikipedia.org/wiki/World_Wide_Name);
change our qemu invocation to use `42` (in decimal) for that.

Unfortunately because we're not using udev in our supermin
VM right now we don't get the nice `/dev/disk/by-id` symlink
to it.  Instead just walk `/sys/block` manually.

Next, use `kola qemuexec`.  We inherit the virtio-rand setup, CPU calculations etc.

And now we can just use virtio for the root disk
and the cache disk, which drops all the eyeball-glazing
scsi incantations.

(Well, of course arch changes also end up in libvirt which we
 use indirectly too, but at least *we* only have one place)
cgwalters added a commit to cgwalters/coreos-assembler that referenced this pull request Apr 22, 2020
This is a followup to:
coreos#1342
which is part of:
coreos#1289

Our builds right now run qemu in a way that's highly sensitive
to changes in device ordering.

SCSI hardware supports a [world wide name](https://en.wikipedia.org/wiki/World_Wide_Name);
change our qemu invocation to use `42` (in decimal) for that.

Unfortunately because we're not using udev in our supermin
VM right now we don't get the nice `/dev/disk/by-id` symlink
to it.  Instead just walk `/sys/block` manually.
openshift-merge-robot pushed a commit that referenced this pull request Apr 22, 2020
This is a followup to:
#1342
which is part of:
#1289

Our builds right now run qemu in a way that's highly sensitive
to changes in device ordering.

SCSI hardware supports a [world wide name](https://en.wikipedia.org/wiki/World_Wide_Name);
change our qemu invocation to use `42` (in decimal) for that.

Unfortunately because we're not using udev in our supermin
VM right now we don't get the nice `/dev/disk/by-id` symlink
to it.  Instead just walk `/sys/block` manually.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants