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

MTL-1876 pre-signed URLs #53

Merged
merged 1 commit into from
Aug 23, 2022
Merged

MTL-1876 pre-signed URLs #53

merged 1 commit into from
Aug 23, 2022

Conversation

rustydb
Copy link
Contributor

@rustydb rustydb commented Aug 23, 2022

Summary and Scope

Issue Type

  • RFE Pull Request

This adds support for pre-signed URLs which contain the name of the squashFS file.

A successful test was carried out on drax using a pre-signed URL:

ncn-w003:~ # cat /proc/cmdline
kernel initrd=initrd biosdevname=1 ifname=hsn1:98:03:9b:7f:bd:20 ip=hsn1:auto6 ifname=hsn0:98:03:9b:7f:bd:1c ip=hsn0:auto6 ifname=lan1:e0:d5:5e:65:91:63 ip=lan1:auto6 ifname=lan0:e0:d5:5e:65:91:62 ip=lan0:auto6 ifname=mgmt0:b8:59:9f:1d:d8:e2 ip=mgmt0:dhcp ifname=mgmt1:b8:59:9f:1d:d8:e3 ip=mgmt1:auto6 psi=1 pcie_ports=native transparent_hugepage=never console=tty0 console=ttyS0,115200 iommu=pt metal.server=http://rgw-vip.nmn/boot-images/k8s/rusty/filesystem.squashfs?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=NUKSKGZGE1V32708BV04%2F20220809%2Fdefault%2Fs3%2Faws4_request&X-Amz-Date=20220809T193141Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=cdc6ff172cd35bb320a822d1dbd8ff87c8fae3e25be7cfd1a396f6ead240c01f metal.no-wipe=0 ds=nocloud-net;s=http://10.92.100.81:8888/ rootfallback=LABEL=BOOTRAID rd.live.dir=1.3.0-alpha.36 root=live:LABEL=SQFSRAID rd.live.ram=0 rd.writable.fsimg=0 rd.skipfsck rd.live.squashimg=filesystem.squashfs rd.live.overlay=LABEL=ROOTRAID rd.live.overlay.thin=1 rd.live.overlay.overlayfs=1 rd.luks=0 rd.luks.crypttab=0 rd.lvm.conf=0 rd.lvm=1 rd.auto=1 rd.md=1 rd.dm=0 rd.neednet=0 rd.peerdns=0 rd.md.waitclean=1 rd.multipath=0 rd.md.conf=1 rd.bootif=0 hostname=ncn-w003 rd.net.timeout.carrier=120 rd.net.timeout.ifup=120 rd.net.timeout.iflink=120 rd.net.dhcp.retry=5 rd.net.timeout.ipv6auto=0 rd.net.timeout.ipv6dad=0 append nosplash quiet crashkernel=360M log_buf_len=1 rd.retry=10 rd.shell rd.debug=1 xname=x3000c0s11b0n0 nid=100006 bss_referral_token=5a811a39-4ba2-4b80-94a3-8d559786b1cf
ncn-w003:~ # ls -l /run/initramfs/live/*
total 6437828
-rw-r--r-- 1 root root        712 Aug  9 19:32 download.stderr
-rw-r--r-- 1 root root          0 Aug  9 19:32 download.stdout
-rw-r--r-- 1 root root 6592331776 Aug  9 19:32 filesystem.squashfs

This is backwards compatible with non-pre-signed URLs for bootstrapping from the PIT node. Successful tests for backwards compatibility were carried out on redbull.

Prerequisites

  • I have included documentation in my PR (or it is not required)
  • I tested this on internal system (if yes, please include results or a description of the test)
  • I tested this on a vshasta system (if yes, please include results or a description of the test)

Idempotency

Risks and Mitigations

This change allows pre-signed URLs to be used for acquriing the squashFS
image.

This also ceases requiring to download the initrd and kernel in dracut,
which makes this module more flexible in community use cases.
@rustydb rustydb requested a review from a team as a code owner August 23, 2022 06:41
@rustydb rustydb merged commit 381c84d into main Aug 23, 2022
@rustydb rustydb deleted the MTL-1876-pre-signed-urls branch August 23, 2022 18:22
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.

2 participants