forked from redhat-cip/software-factory
-
Notifications
You must be signed in to change notification settings - Fork 0
/
publish_roles.sh
executable file
·31 lines (25 loc) · 1.09 KB
/
publish_roles.sh
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
#!/bin/bash
# publish code borrowed from publish_docs script
# TODO: puppetize enocloud access
source /etc/sf-dom-enocloud.openrc
set -e
set -x
. ./role_configrc
CONTAINER="edeploy-roles"
cd ${INST}
TEMP_DIR=$(mktemp -d /tmp/edeploy-check-XXXXX)
for role_name in softwarefactory; do
role=${role_name}-${SF_VER}
echo "[+] Check if ${role} have changed"
curl -s -o ${TEMP_DIR}/${role}.md5 ${SWIFT_SF_URL}/${role}.md5 || true
[ "$(cat ${TEMP_DIR}/${role}.md5)" == "$(cat ${role}.md5)" ] && continue
echo "[+] Upstream is out dated, creating edeploy tarball"
(cd ${role_name}; sudo tar czf ../${role}.edeploy *)
md5sum ${role}.edeploy | sudo tee ${role}.edeploy.md5
for OBJECT in ${role}.edeploy ${role}.edeploy.md5 ${role}.md5 ${role}.img.qcow2 ${role}.img.qcow2.md5; do
SWIFT_PATH="/v1/AUTH_${SWIFT_ACCOUNT}/${CONTAINER}/${OBJECT}"
TEMPURL=`swift tempurl PUT 3600 ${SWIFT_PATH} ${SWIFT_SECRET}`
curl -f -i -X PUT --upload-file "$OBJECT" "${SWIFT_BASE_URL}${TEMPURL}" &> /dev/null && echo -n '.' || { echo 'Fail !'; exit 1; }
done
done
rm -Rf ${TEMP_DIR}