summaryrefslogtreecommitdiffstats
path: root/nova/flags.py
diff options
context:
space:
mode:
authorDan Prince <dan.prince@rackspace.com>2011-05-26 09:05:14 -0400
committerDan Prince <dan.prince@rackspace.com>2011-05-26 09:05:14 -0400
commita021b43b7d45f8cc803721002a0b2e7d9ea9a06d (patch)
tree6c3f6274d91a511a04a322a46d8678f4ad18d71a /nova/flags.py
parent9d2513ea3a6d586e1fe3deae778a02bb089b9a5e (diff)
parentdb18a792414240cbdb1221d0e79e8a63313f103e (diff)
downloadnova-a021b43b7d45f8cc803721002a0b2e7d9ea9a06d.tar.gz
nova-a021b43b7d45f8cc803721002a0b2e7d9ea9a06d.tar.xz
nova-a021b43b7d45f8cc803721002a0b2e7d9ea9a06d.zip
Merge w/ trunk.
Diffstat (limited to 'nova/flags.py')
-rw-r--r--nova/flags.py31
1 files changed, 23 insertions, 8 deletions
diff --git a/nova/flags.py b/nova/flags.py
index f011ab383..9eaac5596 100644
--- a/nova/flags.py
+++ b/nova/flags.py
@@ -16,9 +16,13 @@
# License for the specific language governing permissions and limitations
# under the License.
-"""
+"""Command-line flag library.
+
+Wraps gflags.
+
Package-level global flags are defined here, the rest are defined
where they're used.
+
"""
import getopt
@@ -106,7 +110,7 @@ class FlagValues(gflags.FlagValues):
return name in self.__dict__['__dirty']
def ClearDirty(self):
- self.__dict__['__is_dirty'] = []
+ self.__dict__['__dirty'] = []
def WasAlreadyParsed(self):
return self.__dict__['__was_already_parsed']
@@ -115,11 +119,12 @@ class FlagValues(gflags.FlagValues):
if '__stored_argv' not in self.__dict__:
return
new_flags = FlagValues(self)
- for k in self.__dict__['__dirty']:
+ for k in self.FlagDict().iterkeys():
new_flags[k] = gflags.FlagValues.__getitem__(self, k)
+ new_flags.Reset()
new_flags(self.__dict__['__stored_argv'])
- for k in self.__dict__['__dirty']:
+ for k in new_flags.FlagDict().iterkeys():
setattr(self, k, getattr(new_flags, k))
self.ClearDirty()
@@ -145,10 +150,12 @@ class FlagValues(gflags.FlagValues):
class StrWrapper(object):
- """Wrapper around FlagValues objects
+ """Wrapper around FlagValues objects.
Wraps FlagValues objects for string.Template so that we're
- sure to return strings."""
+ sure to return strings.
+
+ """
def __init__(self, context_objs):
self.context_objs = context_objs
@@ -169,6 +176,7 @@ def _GetCallingModule():
We generally use this function to get the name of the module calling a
DEFINE_foo... function.
+
"""
# Walk down the stack to find the first globals dict that's not ours.
for depth in range(1, sys.getrecursionlimit()):
@@ -192,6 +200,7 @@ def __GetModuleName(globals_dict):
Returns:
A string (the name of the module) or None (if the module could not
be identified.
+
"""
for name, module in sys.modules.iteritems():
if getattr(module, '__dict__', None) is globals_dict:
@@ -316,7 +325,7 @@ DEFINE_string('null_kernel', 'nokernel',
'kernel image that indicates not to use a kernel,'
' but to use a raw disk image instead')
-DEFINE_string('vpn_image_id', 'ami-cloudpipe', 'AMI for cloudpipe vpn server')
+DEFINE_integer('vpn_image_id', 0, 'integer id for cloudpipe vpn server')
DEFINE_string('vpn_key_suffix',
'-vpn',
'Suffix to add to project name for vpn key and secgroups')
@@ -326,7 +335,7 @@ DEFINE_integer('auth_token_ttl', 3600, 'Seconds for auth tokens to linger')
DEFINE_string('state_path', os.path.join(os.path.dirname(__file__), '../'),
"Top-level directory for maintaining nova's state")
DEFINE_string('lock_path', os.path.join(os.path.dirname(__file__), '../'),
- "Directory for lock files")
+ 'Directory for lock files')
DEFINE_string('logdir', None, 'output to a per-service log file in named '
'directory')
@@ -361,6 +370,12 @@ DEFINE_string('host', socket.gethostname(),
DEFINE_string('node_availability_zone', 'nova',
'availability zone of this node')
+DEFINE_string('notification_driver',
+ 'nova.notifier.no_op_notifier',
+ 'Default driver for sending notifications')
+DEFINE_list('memcached_servers', None,
+ 'Memcached servers or None for in process cache.')
+
DEFINE_string('zone_name', 'nova', 'name of this zone')
DEFINE_list('zone_capabilities',
['hypervisor=xenserver;kvm', 'os=linux;windows'],