diff --git a/core_roller_upload b/core_roller_upload index 63a6604d2a..ddece71ff9 100755 --- a/core_roller_upload +++ b/core_roller_upload @@ -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