ARCH="${ARCH:-$(uname -m)}"
-IMAGE_NAME="Ubuntu 17.04 ${ARCH}"
+IMAGE_NAME="Ubuntu 16.04 ${ARCH}"
echo "Checking for ${IMAGE_NAME} in Glance"
case "${ARCH}" in
aarch64)
- FILE=ubuntu-17.04-server-cloudimg-arm64.img
+ FILE=ubuntu-16.04-server-cloudimg-arm64-disk1.img
PROPERTIES="--property hw_firmware_type=uefi --property hw_video_model=vga"
;;
armhf)
- FILE=ubuntu-17.04-server-cloudimg-armhf.img
+ FILE=ubuntu-16.04-server-cloudimg-armhf-disk1.img
;;
x86_64)
- FILE=ubuntu-17.04-server-cloudimg-amd64.img
+ FILE=ubuntu-16.04-server-cloudimg-amd64-disk1.img
;;
*)
echo "Unsupported architecture: ${ARCH}"
;;
esac
- wget --continue -q "https://cloud-images.ubuntu.com/releases/17.04/release/${FILE}"
+ echo wget --continue -q "https://cloud-images.ubuntu.com/releases/16.04/release/${FILE}"
+ wget --continue -q "https://cloud-images.ubuntu.com/releases/16.04/release/${FILE}"
+ if [ ! -e "${FILE}" ] ; then
+ echo https://cloud-images.ubuntu.com/releases/16.04/release/${FILE} not found
+ exit 1
+ fi
openstack image create "${IMAGE_NAME}" --disk-format qcow2 --public \
${PROPERTIES} \
--container-format bare --file "${FILE}"
project_domain_id=os.environ.get('OS_PROJECT_DOMAIN_ID'),
project_name=os.environ.get('OS_PROJECT_NAME'))
+ self.logger.debug("OSCreds: %s" % self.os_creds)
+
self.heat_stack = OpenStackHeatStack(self.os_creds,
self.stack_settings)
self.username = None
if time_since_check.total_seconds() < 30:
return self._cached_stack_id
- self.logger.debug("OSCreds: %s" % self.os_creds)
-
self.heat_stack.initialize()
if self.heat_stack.get_stack() is not None:
self._last_snaps_check_time = datetime.now()
res = heat_utils.get_resources(heat_cli,
self.heat_stack.get_stack().id)
self.logger.error("Stack creation failed")
+ reason = ""
+ failed = False
for resource in res:
- status = resource.status
- self.logger.error("%s: %s" % (resource.name, status))
- if status == u'CREATE_FAILED':
- self.delete_stack()
- raise Exception(resource.status_reason)
+ if resource.status == u'CREATE_FAILED':
+ failed = True
+ reason += "%s: %s " % (resource.name,
+ resource.status_reason)
+ self.logger.error("%s - %s: %s" % (resource.name,
+ resource.status,
+ resource.status_reason))
+
+ if failed:
+ try:
+ self.heat_stack.clean()
+ except Exception:
+ pass
+ raise Exception(reason)
def delete_stack(self):
if self._test_executor is not None: