Merge pull request #243 from marineam/groups

More release/build script updates for beta prep
This commit is contained in:
Michael Marineau 2014-05-06 21:15:35 -07:00
commit 25aad16c38
3 changed files with 23 additions and 32 deletions

View File

@ -81,8 +81,7 @@ install_dev_packages() {
# Setup portage for emerge and gmerge
configure_dev_portage "${root_fs_dir}" "${devserver}"
sudo mkdir -p "${root_fs_dir}/etc/coreos"
sudo_clobber "${root_fs_dir}/etc/coreos/update.conf" <<EOF
sudo_append "${root_fs_dir}/etc/coreos/update.conf" <<EOF
SERVER=${auserver}
# For gmerge

View File

@ -26,13 +26,9 @@ ROOT_FS_DIR="$FLAGS_root"
[ -d "$ROOT_FS_DIR" ] || die "Root FS does not exist? ($ROOT_FS_DIR)"
COREOS_VERSION_NAME="CoreOS"
COREOS_VERSION_AUSERVER=""
if [[ -n "${FLAGS_group}" ]]; then
COREOS_VERSION_AUSERVER="https://public.update.core-os.net/v1/update/"
fi
# DISTRIB_* are the standard lsb-release names
sudo mkdir -p "${ROOT_FS_DIR}/usr/share/coreos" "${ROOT_FS_DIR}/etc"
sudo mkdir -p "${ROOT_FS_DIR}/usr/share/coreos" "${ROOT_FS_DIR}/etc/coreos"
sudo_clobber "${ROOT_FS_DIR}/usr/share/coreos/lsb-release" <<EOF
DISTRIB_ID=$COREOS_VERSION_NAME
DISTRIB_RELEASE=$COREOS_VERSION_STRING
@ -63,7 +59,12 @@ COREOS_RELEASE_VERSION=$COREOS_VERSION_STRING
COREOS_RELEASE_BOARD=$FLAGS_board
EOF
# TODO: update to beta, and then stable once those actually exist
sudo_clobber "${ROOT_FS_DIR}/usr/share/coreos/update.conf" <<EOF
SERVER=$COREOS_VERSION_AUSERVER
SERVER=https://public.update.core-os.net/v1/update/
GROUP=alpha
EOF
sudo_clobber "${ROOT_FS_DIR}/etc/coreos/update.conf" <<EOF
GROUP=$FLAGS_group
EOF

View File

@ -12,10 +12,10 @@ export GCLIENT_ROOT=$(readlink -f "${SCRIPT_ROOT}/../../")
DEFINE_string board "amd64-usr" \
"Board type of the image"
DEFINE_string group "alpha" \
"Group that this update goes into."
DEFINE_string image "coreos_production_image.bin" \
"Path to the production image (not base/dev/qemu/xen/etc)"
DEFINE_string payload "coreos_production_update.gz" \
"Path to the update payload"
DEFINE_string metadata "coreos_production_update.meta" \
"Path to the update metadata"
DEFINE_string version "${COREOS_VERSION_STRING}" \
"Version number of this build."
DEFINE_string app_id "e96281a6-d1af-4bde-9a0a-97b76e56dc57" \
@ -27,10 +27,8 @@ DEFINE_string api_key "" \
"API key for roller."
DEFINE_string endpoint "https://public.update.core-os.net" \
"Roller endpoint to update."
DEFINE_boolean update_storage ${FLAGS_FALSE} \
"Update image download location for group on storage.core-os.net."
DEFINE_string storage "gs://update-storage.core-os.net" \
"Google Storage location to host the payload."
FLAGS_HELPS="usage: $SCRIPTNAME [flags]
@ -38,8 +36,6 @@ Setting everything up for use\n
1) Run 'gsutil config' and use project id coreos.com:core-update-storage\n
2) Ensure rollerctl is installed in your path\n
NOTE: Use the coreos_production_image.bin not base, developer, vm, etc...
"
# Parse flags
@ -50,25 +46,20 @@ switch_to_strict_mode
[[ -z "${FLAGS_api_key}" ]] && die "--api_key is required"
[[ -z "${FLAGS_user}" ]] && die "--user is required"
MD5SUM=$(md5sum ${FLAGS_image} | cut -f1 -d" ")
[[ -z "$MD5SUM" ]] && die "Failed to hash ${FLAGS_image}"
URL="update-storage.core-os.net/${FLAGS_board}/${FLAGS_group}/$MD5SUM/update.gz"
gsutil cp "update.gz" gs://${URL}
# Ensure GS URL doesn't have a trailing /
FLAGS_storage="${FLAGS_storage%%/}"
GS_URL="${FLAGS_storage}/${FLAGS_board}/${FLAGS_version}/update.gz"
HTTP_URL="http://${GS_URL#gs://}"
gsutil cp "${FLAGS_payload}" "${GS_URL}"
rollerctl \
-s ${FLAGS_endpoint} \
-u ${FLAGS_user} \
-k ${FLAGS_api_key} \
new-package \
--url "http://${URL}" \
--file "update.gz" \
--meta "update.meta" \
--url "${HTTP_URL}" \
--file "${FLAGS_payload}" \
--meta "${FLAGS_metadata}" \
--version "${FLAGS_version}" \
"${FLAGS_app_id}"
# Copy the vagrant boxes and pre-built images over to the group mirror
if [[ "${FLAGS_update_storage}" -eq "${FLAGS_TRUE}" ]]; then
gsutil cp \
"${COREOS_UPLOAD_ROOT}/${FLAGS_board}/${FLAGS_version}/*" \
"${COREOS_UPLOAD_ROOT}/${FLAGS_board}/${FLAGS_group}/"
fi