Skip to content
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

sys-block/open-iscsi: Migrate coreos-stable to portage-stable, 2.1.10 #2261

Merged
merged 1 commit into from
Sep 3, 2024

Conversation

chewi
Copy link
Contributor

@chewi chewi commented Aug 29, 2024

open-iscsi: Migrate to portage-stable, 2.1.10 bump

The old version 2.1.4 does not cross-compile without help from QEMU that we cannot rely on going forwards. 2.1.10 is Meson-based and handles this much better.

Rather than update the package in-place, migrate it to portage-stable and cover the differences with a small patch and env script. Upstream now carries the systemd files, so we do not need to add these.

How to use

  1. Boot up Flatcar under QEMU.
  2. sudo systemctl start iscsid
  3. Check the name in /etc/iscsi/initiatorname.iscsi.
  4. Install targetcli on the host.
  5. Set up a test target:
backstores/fileio create test /tmp/test.img 100m
iscsi/ create iqn.2006-04.com.example:test-target
cd iscsi/iqn.2006-04.com.example:test-target/tpg1/
luns/ create /backstores/fileio/test
set attribute generate_node_acls=1
acls/ create <initiator name>
exit
  1. Return to Flatcar.
  2. sudo iscsiadm -m discovery -t sendtargets -p <host LAN IP>
  3. sudo iscsiadm -m node -l -T <target from above> -p <host LAN IP>
  4. Play around with /dev/sda.
  5. sudo systemctl enable iscsi
  6. Reboot and check /dev/sda is still there.

Testing done

I did the above. I also ran a Jenkins job against qemu_uefi. It was suggested that I add a Kola test. The usual way to write a test like this would be to spin up two instances as the client and server. I'd like to do this, but targetcli, which manages the Linux server, is written in Python, which Flatcar doesn't have.

  • Changelog entries added in the respective changelog/ directory (user-facing change, bug fix, security fix, update)
  • Inspected CI output for image differences: /boot and /usr size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.

@chewi chewi requested a review from a team August 29, 2024 11:29
@chewi chewi self-assigned this Aug 29, 2024
Copy link
Member

@krnowak krnowak left a comment

Choose a reason for hiding this comment

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

An entry for sys-block/open-iscsi in .github/workflows/portage-stable-packages-list is missing.

The old version 2.1.4 does not cross-compile without help from QEMU that
we cannot rely on going forwards. 2.1.10 is Meson-based and handles this
much better.

Rather than update the package in-place, migrate it to portage-stable
and cover the differences with a small patch and env script.

Upstream now carries the systemd files, so we do not need to add these.

/etc is now automatically moved to /usr/share/flatcar/etc, so we no
longer need any special handling for that here, but I have added a
compatibility symlink for iscsid.conf.

Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
@chewi chewi changed the title sys-block/open-iscsi: Migrate coreos-stable to portage-stable, 2.1.9 sys-block/open-iscsi: Migrate coreos-stable to portage-stable, 2.1.10 Sep 3, 2024
@chewi
Copy link
Contributor Author

chewi commented Sep 3, 2024

Took a few goes to get it right, but it's looking good now. gen_tmpfiles.py takes care of the tmpfiles stuff now, so the env script is shorter. 2.1.10 got stabilised in the meantime.

@chewi chewi requested a review from krnowak September 3, 2024 11:19
Copy link

github-actions bot commented Sep 3, 2024

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

Successfully merging this pull request may close these issues.

4 participants