-
Notifications
You must be signed in to change notification settings - Fork 212
Expand file tree
/
Copy pathrhcos.sh
More file actions
87 lines (77 loc) · 6.18 KB
/
Copy pathrhcos.sh
File metadata and controls
87 lines (77 loc) · 6.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
if $OPENSHIFT_INSTALLER coreos print-stream-json >/dev/null 2>&1; then
$OPENSHIFT_INSTALLER coreos print-stream-json > "$OCP_DIR/rhcos.json"
TOP_LEVEL_FORMAT="$(jq -r ".architectures.$(uname -m).artifacts.openstack.formats | keys[]" "$OCP_DIR/rhcos.json" | head -n1)"
MACHINE_OS_INSTALLER_IMAGE_URL=$(jq -r ".architectures.$(uname -m).artifacts.openstack.formats[\"${TOP_LEVEL_FORMAT}\"].disk.location" "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_IMAGE_URL
MACHINE_OS_INSTALLER_IMAGE_SHA256=$(jq -r ".architectures.$(uname -m).artifacts.openstack.formats[\"${TOP_LEVEL_FORMAT}\"].disk[\"sha256\"]" "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_IMAGE_SHA256
export MACHINE_OS_IMAGE_URL=${MACHINE_OS_IMAGE_URL:-${MACHINE_OS_INSTALLER_IMAGE_URL}}
MACHINE_OS_IMAGE_NAME=$(basename "${MACHINE_OS_IMAGE_URL}")
export MACHINE_OS_IMAGE_NAME
export MACHINE_OS_IMAGE_SHA256=${MACHINE_OS_IMAGE_SHA256:-${MACHINE_OS_INSTALLER_IMAGE_SHA256}}
MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_URL=$(jq -r ".architectures.$(uname -m).artifacts.qemu.formats[\"${TOP_LEVEL_FORMAT}\"].disk.location" "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_URL
MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_SHA256=$(jq -r ".architectures.$(uname -m).artifacts.qemu.formats[\"${TOP_LEVEL_FORMAT}\"].disk[\"sha256\"]" "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_SHA256
export MACHINE_OS_BOOTSTRAP_IMAGE_URL=${MACHINE_OS_BOOTSTRAP_IMAGE_URL:-${MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_URL}}
MACHINE_OS_BOOTSTRAP_IMAGE_NAME=$(basename "${MACHINE_OS_BOOTSTRAP_IMAGE_URL}")
export MACHINE_OS_BOOTSTRAP_IMAGE_NAME
export MACHINE_OS_BOOTSTRAP_IMAGE_URL=${MACHINE_OS_BOOTSTRAP_IMAGE_URL:-${MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_URL}}
export MACHINE_OS_BOOTSTRAP_IMAGE_SHA256=${MACHINE_OS_BOOTSTRAP_IMAGE_SHA256:-${MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_SHA256}}
MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_UNCOMPRESSED_SHA256=$(jq -r ".architectures.$(uname -m).artifacts.qemu.formats[\"${TOP_LEVEL_FORMAT}\"].disk[\"uncompressed-sha256\"]" "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_UNCOMPRESSED_SHA256
export MACHINE_OS_BOOTSTRAP_IMAGE_UNCOMPRESSED_SHA256=${MACHINE_OS_BOOTSTRAP_IMAGE_UNCOMPRESSED_SHA256:-${MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_UNCOMPRESSED_SHA256}}
if [[ "${BOOTSTRAP_IN_PLACE:-false}" == "true" ]]; then
MACHINE_OS_INSTALLER_LIVE_ISO_URL=$(jq -r ".architectures.$(uname -m).artifacts.metal.formats.iso.disk.location" "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_LIVE_ISO_URL
MACHINE_OS_INSTALLER_LIVE_ISO_SHA256=$(jq -r ".architectures.$(uname -m).artifacts.metal.formats.iso.disk[\"sha256\"]" "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_LIVE_ISO_SHA256
export MACHINE_OS_LIVE_ISO_URL=${MACHINE_OS_LIVE_ISO_URL:-${MACHINE_OS_INSTALLER_LIVE_ISO_URL}}
export MACHINE_OS_LIVE_ISO_SHA256=${MACHINE_OS_LIVE_ISO_SHA256:-${MACHINE_OS_INSTALLER_LIVE_ISO_SHA256}}
fi
else
if [[ ! -f "$OCP_DIR/rhcos.json" ]]; then
if [[ -v JOB_NAME ]] && [[ "$JOB_NAME" =~ "openshift-installer" ]]; then
# Get the SHA from the PR if we're in CI
OPENSHIFT_INSTALL_COMMIT=${PULL_PULL_SHA:-$(echo "$JOB_SPEC" | jq -r '.refs.pulls[0].sha')}
else
# Get the git commit that the openshift installer was built from
OPENSHIFT_INSTALL_COMMIT=$($OPENSHIFT_INSTALLER version | grep commit | cut -d' ' -f4)
fi
# Get the git commit that the openshift installer was built from
OPENSHIFT_INSTALL_COMMIT=$($OPENSHIFT_INSTALLER version | grep commit | cut -d' ' -f4)
# Get the rhcos.json for that commit
OPENSHIFT_INSTALLER_MACHINE_OS=${OPENSHIFT_INSTALLER_MACHINE_OS:-https://raw.githubusercontent.com/openshift/installer/$OPENSHIFT_INSTALL_COMMIT/data/data/rhcos.json}
# Get the rhcos.json for that commit, and find the baseURI and openstack image path
curl -o "$OCP_DIR/rhcos.json" "${OPENSHIFT_INSTALLER_MACHINE_OS}"
fi
MACHINE_OS_INSTALLER_IMAGE_URL=$(jq -r '.baseURI + .images.openstack.path' "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_IMAGE_URL
MACHINE_OS_INSTALLER_IMAGE_SHA256=$(jq -r '.images.openstack.sha256' "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_IMAGE_SHA256
export MACHINE_OS_IMAGE_URL=${MACHINE_OS_IMAGE_URL:-${MACHINE_OS_INSTALLER_IMAGE_URL}}
MACHINE_OS_IMAGE_NAME=$(basename "${MACHINE_OS_IMAGE_URL}")
export MACHINE_OS_IMAGE_NAME
export MACHINE_OS_IMAGE_SHA256=${MACHINE_OS_IMAGE_SHA256:-${MACHINE_OS_INSTALLER_IMAGE_SHA256}}
MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_URL=$(jq -r '.baseURI + .images.qemu.path' "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_URL
MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_SHA256=$(jq -r '.images.qemu.sha256' "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_SHA256
export MACHINE_OS_BOOTSTRAP_IMAGE_URL=${MACHINE_OS_BOOTSTRAP_IMAGE_URL:-${MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_URL}}
MACHINE_OS_BOOTSTRAP_IMAGE_NAME=$(basename "${MACHINE_OS_BOOTSTRAP_IMAGE_URL}")
export MACHINE_OS_BOOTSTRAP_IMAGE_NAME
export MACHINE_OS_BOOTSTRAP_IMAGE_SHA256=${MACHINE_OS_BOOTSTRAP_IMAGE_SHA256:-${MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_SHA256}}
# FIXME the installer cache expects an uncompressed sha256
# https://github.com/openshift/installer/issues/2845
MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_UNCOMPRESSED_SHA256=$(jq -r '.images.qemu["uncompressed-sha256"]' "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_UNCOMPRESSED_SHA256
export MACHINE_OS_BOOTSTRAP_IMAGE_UNCOMPRESSED_SHA256=${MACHINE_OS_BOOTSTRAP_IMAGE_UNCOMPRESSED_SHA256:-${MACHINE_OS_INSTALLER_BOOTSTRAP_IMAGE_UNCOMPRESSED_SHA256}}
if [[ "${BOOTSTRAP_IN_PLACE:-false}" == "true" ]]; then
MACHINE_OS_INSTALLER_LIVE_ISO_URL=$(jq -r '.baseURI + .images.iso.path' "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_LIVE_ISO_URL
MACHINE_OS_INSTALLER_LIVE_ISO_SHA256=$(jq -r '.images.iso.sha256' "$OCP_DIR/rhcos.json")
export MACHINE_OS_INSTALLER_LIVE_ISO_SHA256
export MACHINE_OS_LIVE_ISO_URL=${MACHINE_OS_LIVE_ISO_URL:-${MACHINE_OS_INSTALLER_LIVE_ISO_URL}}
export MACHINE_OS_LIVE_ISO_SHA256=${MACHINE_OS_LIVE_ISO_SHA256:-${MACHINE_OS_INSTALLER_LIVE_ISO_SHA256}}
fi
fi