Commit c25db415 authored by Nikos Skalkotos's avatar Nikos Skalkotos
Browse files

Merge branch 'master' into debian-trusty

parents a82958a4 a6160c57
2014-10-14, v0.16.2
* Fix a bug in img_properties handling introduced in v0.16.1
* Update the documentation
2014-10-13, v0.16.1
* Add an option for controlling pithcat's umask
* HELPER: prevent configuration tasks from running if no image property
is defined
2014-09-22, v0.16
* Add support for Desktop variants of Windows
* Add support for archipelago images
......
......@@ -80,6 +80,10 @@ some external programs in ``/etc/default/snf-image``:
# PITHOS_ARCHIPELAGO_CONF: Archipelago configuration file
# PITHOS_ARCHIPELAGO_CONF="/etc/archipelago/archipelago.conf"
# PITHCAT_UMASK: If set, it will change the file mode mask of the pithcat
# process to the specified one.
# PITHCAT_UMASK=<not set>
# PROGRESS_MONITOR: External program that monitors the progress of the image
# deployment. The snf-image monitor messages will be redirected to the standard
# input of this program.
......
......@@ -122,6 +122,11 @@ Mandatory properties (for diskdump only)
earlier, for now, only primary partitions are supported. This property is
trivial for *{ext,ntfs}dump* formats (they only host one partition).
.. note:: On a diskdump image if no image property is defined, the deployment
will not fail. This situation is treated as a special case. All
configuration tasks will be prevented from running and the helper VM will
report SUCCESS after creating a warning about this.
Optional properties
+++++++++++++++++++
......
__version__ = "0.16"
__version__ = "0.16.2"
......@@ -98,6 +98,10 @@ if [ -z "$RUN_PARTS" ]; then
log_error "run-parts program is missing from the system"
fi
if [ $(set | { grep ^SNF_IMAGE_PROPERTY_ || true; } | wc -l) -eq 0 ]; then
warn "No image properties are defined. VM configuration will not be performed."
export SNF_IMAGE_PROPERTY_EXCLUDE_ALL_TASKS=yes
fi
if [ -z "$SNF_IMAGE_PROPERTY_EXCLUDE_ALL_TASKS" ]; then
......@@ -134,6 +138,8 @@ if [ -z "$SNF_IMAGE_PROPERTY_EXCLUDE_ALL_TASKS" ]; then
# Reset the handler to its original value
trap report_error ERR
else
warn "EXCLUDE_ALL_TASKS: All configuration tasks were prevented from running."
fi
......
......@@ -123,7 +123,11 @@ case $BACKEND_TYPE in
export PITHCAT_RADOS_POOL_MAPS="$PITHOS_RADOS_POOL_MAPS"
export PITHCAT_RADOS_POOL_BLOCKS="$PITHOS_RADOS_POOL_BLOCKS"
export PITHCAT_ARCHIPELAGO_CONF="$PITHOS_ARCHIPELAGO_CONF"
cmd_args="$(printf "%q" "${IMAGE_NAME}")"
cmd_args=""
if [ -n "${PITHCAT_UMASK+dummy}" ]; then
cmd_args="--umask=$PITHCAT_UMASK"
fi
cmd_args+=" $(printf "%q" "${IMAGE_NAME}")"
image_cmd="./pithcat $cmd_args"
image_size=$(./pithcat -s $cmd_args)
;;
......
......@@ -71,6 +71,10 @@
# PITHOS_ARCHIPELAGO_CONF: Archipelago configuration file
# PITHOS_ARCHIPELAGO_CONF="@sysconfdir@/archipelago/archipelago.conf"
# PITHCAT_UMASK: If set, it will change the file mode mask of the pithcat
# process to the specified one.
# PITHCAT_UMASK=<not set>
# PROGRESS_MONITOR: External program that monitors the progress of the image
# deployment. The snf-image monitor messages will be redirected to the standard
# input of this program.
......
......@@ -27,7 +27,7 @@ the URL as the user when connecting to the backend.
from optparse import OptionParser, OptionGroup
from sys import exit, stdout, stderr
from os import environ
from os import environ, umask
from binascii import hexlify, unhexlify
from collections import namedtuple
from pkg_resources import parse_version
......@@ -96,6 +96,9 @@ parser.add_option('-s', action='store_true', dest='size', default=False,
parser.add_option('--db', dest='db', metavar='URI',
help='SQLAlchemy URI of the database [DANGEROUS: Do not use,'
'see NOTE below]', default=None)
parser.add_option('--umask', dest='umask', metavar='UMASK', type='int',
default=None,
help='change the process\' file mode mask to UMASK')
LocationURL = namedtuple('LocationURL', ['account', 'container', 'object'])
HashmapURL = namedtuple('HashmapURL', ['hash', 'size'])
......@@ -164,6 +167,9 @@ def main():
parser.print_help()
exit(1)
if options.umask is not None:
umask(options.umask)
url = parse_url(args[0])
data_path = None
......
......@@ -45,22 +45,6 @@ check_required() {
exit 1
fi
done
case $IMG_FORMAT in
extdump|ntfsdump)
;;
diskdump)
if [ -z "$IMG_PROPERTIES" ]; then
log_error "\`img_properties' parameter must be present when"
log_error "using \`diskdump' format."
exit 1
fi
;;
*)
log_error "Unknown Image format: \`$IMAGE_TYPE'"
exit 1
;;
esac
}
if [ -z "$OSP_CONFIG_URL" ]; then
......
m4_define([devflow_version], [0.16])
m4_define([devflow_version], [0.16.2])
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment