In CLI tests set merge_stderr to False by default

Ignore stderr by default, unless merge_stderr=True. ignoring stderr by
default makes the output more deterministic since stderr can contain
random log output (especially in *-manage commands)

Change-Id: I849444b8416e75c0383132ff2f93bd6d92df60f1
diff --git a/cli/__init__.py b/cli/__init__.py
index e244811..5d986c0 100644
--- a/cli/__init__.py
+++ b/cli/__init__.py
@@ -61,7 +61,7 @@
             'nova', action, flags, params, admin, fail_ok)
 
     def nova_manage(self, action, flags='', params='', fail_ok=False,
-                    merge_stderr=True):
+                    merge_stderr=False):
         """Executes nova-manage command for the given action."""
         return self.cmd(
             'nova-manage', action, flags, params, fail_ok, merge_stderr)
@@ -83,8 +83,7 @@
         return self.cmd(cmd, action, flags, params, fail_ok)
 
     def cmd(self, cmd, action, flags='', params='', fail_ok=False,
-            merge_stderr=True):
-        #TODO(jogo): make merge_stderr default to False.
+            merge_stderr=False):
         """Executes specified command for the given action."""
         cmd = ' '.join([CONF.cli.cli_dir + cmd,
                         flags, action, params])
@@ -94,7 +93,8 @@
             if merge_stderr:
                 result = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
             else:
-                result = subprocess.check_output(cmd)
+                devnull = open('/dev/null', 'w')
+                result = subprocess.check_output(cmd, stderr=devnull)
         except subprocess.CalledProcessError, e:
             LOG.error("command output:\n%s" % e.output)
             raise
diff --git a/cli/simple_read_only/test_compute_manage.py b/cli/simple_read_only/test_compute_manage.py
index 0fa84bd..650ef10 100644
--- a/cli/simple_read_only/test_compute_manage.py
+++ b/cli/simple_read_only/test_compute_manage.py
@@ -51,9 +51,10 @@
 
     def test_version_flag(self):
         # Bug 1159957: nova-manage --version writes to stderr
-        self.assertNotEqual("", self.nova_manage('', '--version'))
+        self.assertNotEqual("", self.nova_manage('', '--version',
+                                                 merge_stderr=True))
         self.assertEqual(self.nova_manage('version'),
-                         self.nova_manage('', '--version'))
+                         self.nova_manage('', '--version', merge_stderr=True))
 
     def test_debug_flag(self):
         self.assertNotEqual("", self.nova_manage('instance_type list',
@@ -69,9 +70,8 @@
 
     def test_flavor_list(self):
         self.assertNotEqual("", self.nova_manage('flavor list'))
-        self.assertEqual(self.nova_manage('instance_type list',
-                                          merge_stderr=False),
-                         self.nova_manage('flavor list', merge_stderr=False))
+        self.assertEqual(self.nova_manage('instance_type list'),
+                         self.nova_manage('flavor list'))
 
     def test_db_archive_deleted_rows(self):
         # make sure command doesn't error out