[openstack-nova] support fully transparent handling of the new ini config file
Pádraig Brady
pbrady at fedoraproject.org
Tue Mar 6 09:35:32 UTC 2012
commit 0db031184e2597206fe0425f076e8872ce4616ea
Author: Pádraig Brady <P at draigBrady.com>
Date: Tue Mar 6 09:00:26 2012 +0000
support fully transparent handling of the new ini config file
This includes a patch from upstream that defers to ini format
if the config file doesn't start with '--'.
This allows us to remove the nova-manage format detection hack,
and the --flagfile=/dev/null hacks from the service files.
...-new-style-config-to-be-used-for-flagfile.patch | 58 ++++++++++++++++++++
...manage-to-auto-support-the-new-cfg-format.patch | 36 ------------
openstack-nova-ajax-console-proxy.service | 2 +-
openstack-nova-api.service | 2 +-
openstack-nova-cert.service | 2 +-
openstack-nova-compute.service | 2 +-
openstack-nova-direct-api.service | 2 +-
openstack-nova-network.service | 2 +-
openstack-nova-objectstore.service | 2 +-
openstack-nova-scheduler.service | 2 +-
openstack-nova-vncproxy.service | 2 +-
openstack-nova-volume.service | 2 +-
openstack-nova.spec | 3 +-
13 files changed, 70 insertions(+), 47 deletions(-)
---
diff --git a/0004-Allows-new-style-config-to-be-used-for-flagfile.patch b/0004-Allows-new-style-config-to-be-used-for-flagfile.patch
new file mode 100644
index 0000000..87ea13e
--- /dev/null
+++ b/0004-Allows-new-style-config-to-be-used-for-flagfile.patch
@@ -0,0 +1,58 @@
+From e2fb4f440b81b31fcf88dd5ea62eb6efff81d953 Mon Sep 17 00:00:00 2001
+From: Vishvananda Ishaya <vishvananda at gmail.com>
+Date: Mon, 5 Mar 2012 16:54:57 -0800
+Subject: [PATCH] Allows new style config to be used for --flagfile
+
+ * includes tests
+ * fixes bug 947549
+
+Change-Id: Ibf319ea75a2d6156c5d8f1112cd58a33e5a98fe0
+---
+ nova/compat/flagfile.py | 4 ++++
+ nova/tests/test_compat_flagfile.py | 9 +++++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/nova/compat/flagfile.py b/nova/compat/flagfile.py
+index 02d571c..3b5845c 100644
+--- a/nova/compat/flagfile.py
++++ b/nova/compat/flagfile.py
+@@ -97,6 +97,10 @@ def _read_flagfile(arg, next_arg, tempdir=None):
+
+ args = _read_lines(flagfile)
+
++ if args and not args[0].startswith('--'):
++ # This is a config file, not a flagfile, so return it.
++ return ['--config-file=' + flagfile] + argp[1:]
++
+ #
+ # We're recursing here to convert any --flagfile arguments
+ # read from this flagfile into --config-file arguments
+diff --git a/nova/tests/test_compat_flagfile.py b/nova/tests/test_compat_flagfile.py
+index 1635e83..e787f37 100644
+--- a/nova/tests/test_compat_flagfile.py
++++ b/nova/tests/test_compat_flagfile.py
+@@ -18,7 +18,6 @@ import contextlib
+ import os
+ import shutil
+ import StringIO
+-import stubout
+ import textwrap
+ import tempfile
+ import unittest
+@@ -154,9 +153,15 @@ class CompatFlagfileTestCase(unittest.TestCase):
+ self._do_test_flagfile('--noverbose', 'verbose=false\n')
+
+ def test_flagfile_comments(self):
+- self._do_test_flagfile('--bar=foo\n#foo\n--foo=bar\n//bar',
++ self._do_test_flagfile(' \n\n#foo\n--bar=foo\n--foo=bar\n//bar',
+ 'bar=foo\nfoo=bar\n')
+
++ def test_flagfile_is_config(self):
++ self.files['foo.flags'] = '\n\n#foo\n//bar\n[DEFAULT]\nbar=foo'
++ before = ['--flagfile=foo.flags']
++ after = flagfile.handle_flagfiles(before, tempdir=self.tempdir)
++ self.assertEquals(after, ['--config-file=foo.flags'])
++
+ def test_flagfile_nested(self):
+ self.files['bar.flags'] = '--foo=bar'
+
diff --git a/openstack-nova-ajax-console-proxy.service b/openstack-nova-ajax-console-proxy.service
index ea6f55c..1c9d699 100644
--- a/openstack-nova-ajax-console-proxy.service
+++ b/openstack-nova-ajax-console-proxy.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
[Service]
Type=simple
User=nova
-ExecStart=/usr/bin/nova-ajax-console-proxy --flagfile /dev/null --config-file /etc/nova/nova.conf --logfile /var/log/nova/ajax-console-proxy.log
+ExecStart=/usr/bin/nova-ajax-console-proxy --config-file /etc/nova/nova.conf --logfile /var/log/nova/ajax-console-proxy.log
[Install]
WantedBy=multi-user.target
diff --git a/openstack-nova-api.service b/openstack-nova-api.service
index 46f38ce..7e74edc 100644
--- a/openstack-nova-api.service
+++ b/openstack-nova-api.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
[Service]
Type=simple
User=nova
-ExecStart=/usr/bin/nova-api --flagfile /dev/null --config-file /etc/nova/nova.conf --logfile /var/log/nova/api.log
+ExecStart=/usr/bin/nova-api --config-file /etc/nova/nova.conf --logfile /var/log/nova/api.log
[Install]
WantedBy=multi-user.target
diff --git a/openstack-nova-cert.service b/openstack-nova-cert.service
index 2d7bcdd..a61f958 100644
--- a/openstack-nova-cert.service
+++ b/openstack-nova-cert.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
[Service]
Type=simple
User=nova
-ExecStart=/usr/bin/nova-cert --flagfile /dev/null --config-file /etc/nova/nova.conf --logfile /var/log/nova/cert.log
+ExecStart=/usr/bin/nova-cert --config-file /etc/nova/nova.conf --logfile /var/log/nova/cert.log
[Install]
WantedBy=multi-user.target
diff --git a/openstack-nova-compute.service b/openstack-nova-compute.service
index 1a29743..258475b 100644
--- a/openstack-nova-compute.service
+++ b/openstack-nova-compute.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
[Service]
Type=simple
User=nova
-ExecStart=/usr/bin/nova-compute --flagfile /dev/null --config-file /etc/nova/nova.conf --logfile /var/log/nova/compute.log
+ExecStart=/usr/bin/nova-compute --config-file /etc/nova/nova.conf --logfile /var/log/nova/compute.log
[Install]
WantedBy=multi-user.target
diff --git a/openstack-nova-direct-api.service b/openstack-nova-direct-api.service
index 93d24f0..531b0cd 100644
--- a/openstack-nova-direct-api.service
+++ b/openstack-nova-direct-api.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
[Service]
Type=simple
User=nova
-ExecStart=/usr/bin/nova-direct-api --flagfile /dev/null --config-file /etc/nova/nova.conf --logfile /var/log/nova/direct-api.log
+ExecStart=/usr/bin/nova-direct-api --config-file /etc/nova/nova.conf --logfile /var/log/nova/direct-api.log
[Install]
WantedBy=multi-user.target
diff --git a/openstack-nova-network.service b/openstack-nova-network.service
index 90f5efd..542ddb1 100644
--- a/openstack-nova-network.service
+++ b/openstack-nova-network.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
[Service]
Type=simple
User=nova
-ExecStart=/usr/bin/nova-network --flagfile /dev/null --config-file /etc/nova/nova.conf --logfile /var/log/nova/network.log
+ExecStart=/usr/bin/nova-network --config-file /etc/nova/nova.conf --logfile /var/log/nova/network.log
[Install]
WantedBy=multi-user.target
diff --git a/openstack-nova-objectstore.service b/openstack-nova-objectstore.service
index c69ba4b..cc24aea 100644
--- a/openstack-nova-objectstore.service
+++ b/openstack-nova-objectstore.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
[Service]
Type=simple
User=nova
-ExecStart=/usr/bin/nova-objectstore --flagfile /dev/null --config-file /etc/nova/nova.conf --logfile /var/log/nova/objectstore.log
+ExecStart=/usr/bin/nova-objectstore --config-file /etc/nova/nova.conf --logfile /var/log/nova/objectstore.log
[Install]
WantedBy=multi-user.target
diff --git a/openstack-nova-scheduler.service b/openstack-nova-scheduler.service
index 6edb87d..398fcc1 100644
--- a/openstack-nova-scheduler.service
+++ b/openstack-nova-scheduler.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
[Service]
Type=simple
User=nova
-ExecStart=/usr/bin/nova-scheduler --flagfile /dev/null --config-file /etc/nova/nova.conf --logfile /var/log/nova/scheduler.log
+ExecStart=/usr/bin/nova-scheduler --config-file /etc/nova/nova.conf --logfile /var/log/nova/scheduler.log
[Install]
WantedBy=multi-user.target
diff --git a/openstack-nova-vncproxy.service b/openstack-nova-vncproxy.service
index c6e5905..ede2030 100644
--- a/openstack-nova-vncproxy.service
+++ b/openstack-nova-vncproxy.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
[Service]
Type=simple
User=nova
-ExecStart=/usr/bin/nova-vncproxy --flagfile /dev/null --config-file /etc/nova/nova.conf --logfile /var/log/nova/vncproxy.log
+ExecStart=/usr/bin/nova-vncproxy --config-file /etc/nova/nova.conf --logfile /var/log/nova/vncproxy.log
[Install]
WantedBy=multi-user.target
diff --git a/openstack-nova-volume.service b/openstack-nova-volume.service
index 254d974..375a2dd 100644
--- a/openstack-nova-volume.service
+++ b/openstack-nova-volume.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
[Service]
Type=simple
User=nova
-ExecStart=/usr/bin/nova-volume --flagfile /dev/null --config-file /etc/nova/nova.conf --logfile /var/log/nova/volume.log
+ExecStart=/usr/bin/nova-volume --config-file /etc/nova/nova.conf --logfile /var/log/nova/volume.log
[Install]
WantedBy=multi-user.target
diff --git a/openstack-nova.spec b/openstack-nova.spec
index 3438c87..b625799 100644
--- a/openstack-nova.spec
+++ b/openstack-nova.spec
@@ -37,7 +37,7 @@ Source23: openstack-nova-db-setup
Patch0001: 0001-Ensure-we-don-t-access-the-net-when-building-docs.patch
Patch0002: 0002-Add-VIF-and-interface-drivers-for-the-Linux-Bridge-p.patch
Patch0003: 0003-Adds-soft-reboot-support-to-libvirt.patch
-Patch0004: 0004-allow-nova-manage-to-auto-support-the-new-cfg-format.patch
+Patch0004: 0004-Allows-new-style-config-to-be-used-for-flagfile.patch
BuildArch: noarch
BuildRequires: intltool
@@ -369,6 +369,7 @@ fi
%changelog
* Fri Mar 6 2012 Pádraig Brady <P at draigBrady.com> - 2012.1-0.6.e4
- Depend on bridge-utils
+- Support fully transparent handling of the new ini config file
* Fri Mar 2 2012 Pádraig Brady <P at draigBrady.com> - 2012.1-0.5.e4
- Update to Essex milestone 4.
More information about the scm-commits
mailing list