]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Fix generate conf script can't handle multistropt
authorXingchao Yu <xingchao@unitedstack.com>
Fri, 18 Oct 2013 05:50:18 +0000 (13:50 +0800)
committerXingchao Yu <xingchao@unitedstack.com>
Sat, 19 Oct 2013 02:09:31 +0000 (10:09 +0800)
In case MultiStrOpt option's value is empty list, current extract_opts.py
logic will ignore it. This patch aims to update func _print_opt:

add the multistropt's option_name in conf even its value is empty list.

This bug also affects https://bugs.launchpad.net/cinder/+bug/1240783

Closes-bug: #1241348

Change-Id: Ica1da0cd20c97a587964cb0059836d609a440145

etc/cinder/cinder.conf.sample
tools/conf/extract_opts.py

index 1cedb846be5dc403166afec8dc351a4be63cdc8c..451c5243d00e14eb90c476950502aa24d4db0f28 100644 (file)
 
 # Driver or drivers to handle sending notifications (multi
 # valued)
+#notification_driver=
 
 # Default notification level for outgoing notifications
 # (string value)
index 73f0dcb08e0690bfbeb7e35fa988d106fd947843..141cc75d24b21805771048e770d195e536c4e367 100644 (file)
@@ -177,8 +177,11 @@ def _print_opt(opt):
             print('#%s=%s' % (opt_name, ','.join(opt_default)))
         elif opt_type == MULTISTROPT:
             assert(isinstance(opt_default, list))
-            for default in opt_default:
-                print('#%s=%s' % (opt_name, default))
+            if opt_default:
+                for default in opt_default:
+                    print('#%s=%s' % (opt_name, default))
+            else:
+                print('#%s=' % (opt_name))
         print()
     except Exception:
         sys.stderr.write('Error in option "%s"\n' % opt_name)