[openstack-nova] Add global config file to keep the default values

Nikola Dipanov ndipanov at fedoraproject.org
Tue Aug 27 11:01:01 UTC 2013


commit 9987bcc0390967ca4f016bdb10583b89c806c662
Author: Xavier Queralt <xqueralt at redhat.com>
Date:   Thu Aug 8 10:03:27 2013 +0200

    Add global config file to keep the default values
    
    Ship a config file under /user/share to keep the default values.
    The file nova.conf is now documented an acts as an example config file
    that can be modified with user preferences.

 nova.conf => nova-dist.conf            |    0
 openstack-nova-api.service             |    2 +-
 openstack-nova-cells.service           |    2 +-
 openstack-nova-cert.service            |    2 +-
 openstack-nova-compute.service         |    2 +-
 openstack-nova-conductor.service       |    2 +-
 openstack-nova-console.service         |    2 +-
 openstack-nova-consoleauth.service     |    2 +-
 openstack-nova-metadata-api.service    |    2 +-
 openstack-nova-network.service         |    2 +-
 openstack-nova-objectstore.service     |    2 +-
 openstack-nova-scheduler.service       |    2 +-
 openstack-nova-spicehtml5proxy.service |    2 +-
 openstack-nova-xvpvncproxy.service     |    2 +-
 openstack-nova.spec                    |   57 ++++++++++++++++++++++++++++++--
 15 files changed, 67 insertions(+), 16 deletions(-)
---
diff --git a/nova.conf b/nova-dist.conf
similarity index 100%
rename from nova.conf
rename to nova-dist.conf
diff --git a/openstack-nova-api.service b/openstack-nova-api.service
index 7e74edc..10e3c48 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 --config-file /etc/nova/nova.conf --logfile /var/log/nova/api.log
+ExecStart=/usr/bin/nova-api --logfile /var/log/nova/api.log
 
 [Install]
 WantedBy=multi-user.target
diff --git a/openstack-nova-cells.service b/openstack-nova-cells.service
index 9688211..39ae0eb 100644
--- a/openstack-nova-cells.service
+++ b/openstack-nova-cells.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
 [Service]
 Type=simple
 User=nova
-ExecStart=/usr/bin/nova-cells --config-file /etc/nova/nova.conf --logfile /var/log/nova/cells.log
+ExecStart=/usr/bin/nova-cells --logfile /var/log/nova/cells.log
 
 [Install]
 WantedBy=multi-user.target
diff --git a/openstack-nova-cert.service b/openstack-nova-cert.service
index a61f958..fce1a9a 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 --config-file /etc/nova/nova.conf --logfile /var/log/nova/cert.log
+ExecStart=/usr/bin/nova-cert --logfile /var/log/nova/cert.log
 
 [Install]
 WantedBy=multi-user.target
diff --git a/openstack-nova-compute.service b/openstack-nova-compute.service
index 8c7992c..ac10c6b 100644
--- a/openstack-nova-compute.service
+++ b/openstack-nova-compute.service
@@ -6,7 +6,7 @@ After=syslog.target network.target
 Environment=LIBGUESTFS_ATTACH_METHOD=appliance
 Type=simple
 User=nova
-ExecStart=/usr/bin/nova-compute --config-file /etc/nova/nova.conf --logfile /var/log/nova/compute.log
+ExecStart=/usr/bin/nova-compute --logfile /var/log/nova/compute.log
 
 [Install]
 WantedBy=multi-user.target
diff --git a/openstack-nova-conductor.service b/openstack-nova-conductor.service
index c0474c8..e814fe5 100644
--- a/openstack-nova-conductor.service
+++ b/openstack-nova-conductor.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
 [Service]
 Type=simple
 User=nova
-ExecStart=/usr/bin/nova-conductor --config-file /etc/nova/nova.conf --logfile /var/log/nova/conductor.log
+ExecStart=/usr/bin/nova-conductor --logfile /var/log/nova/conductor.log
 
 [Install]
 WantedBy=multi-user.target
diff --git a/openstack-nova-console.service b/openstack-nova-console.service
index 3708c06..3f775df 100644
--- a/openstack-nova-console.service
+++ b/openstack-nova-console.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
 [Service]
 Type=simple
 User=nova
-ExecStart=/usr/bin/nova-console --config-file /etc/nova/nova.conf --logfile /var/log/nova/console.log
+ExecStart=/usr/bin/nova-console --logfile /var/log/nova/console.log
 
 [Install]
 WantedBy=multi-user.target
diff --git a/openstack-nova-consoleauth.service b/openstack-nova-consoleauth.service
index 59af037..d125afb 100644
--- a/openstack-nova-consoleauth.service
+++ b/openstack-nova-consoleauth.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
 [Service]
 Type=simple
 User=nova
-ExecStart=/usr/bin/nova-consoleauth --config-file /etc/nova/nova.conf --logfile /var/log/nova/consoleauth.log
+ExecStart=/usr/bin/nova-consoleauth --logfile /var/log/nova/consoleauth.log
 
 [Install]
 WantedBy=multi-user.target
diff --git a/openstack-nova-metadata-api.service b/openstack-nova-metadata-api.service
index c9a3be4..8ac901c 100644
--- a/openstack-nova-metadata-api.service
+++ b/openstack-nova-metadata-api.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
 [Service]
 Type=simple
 User=nova
-ExecStart=/usr/bin/nova-api-metadata --config-file /etc/nova/nova.conf --logfile /var/log/nova/metadata-api.log
+ExecStart=/usr/bin/nova-api-metadata --logfile /var/log/nova/metadata-api.log
 
 [Install]
 WantedBy=multi-user.target
diff --git a/openstack-nova-network.service b/openstack-nova-network.service
index 40a9ceb..83bbbeb 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 --config-file /etc/nova/nova.conf --logfile /var/log/nova/network.log
+ExecStart=/usr/bin/nova-network --logfile /var/log/nova/network.log
 
 # Don't kill dnsmasq on shutdown (#805947)
 KillMode=process
diff --git a/openstack-nova-objectstore.service b/openstack-nova-objectstore.service
index cc24aea..00b3abf 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 --config-file /etc/nova/nova.conf --logfile /var/log/nova/objectstore.log
+ExecStart=/usr/bin/nova-objectstore --logfile /var/log/nova/objectstore.log
 
 [Install]
 WantedBy=multi-user.target
diff --git a/openstack-nova-scheduler.service b/openstack-nova-scheduler.service
index 398fcc1..57ccbdc 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 --config-file /etc/nova/nova.conf --logfile /var/log/nova/scheduler.log
+ExecStart=/usr/bin/nova-scheduler --logfile /var/log/nova/scheduler.log
 
 [Install]
 WantedBy=multi-user.target
diff --git a/openstack-nova-spicehtml5proxy.service b/openstack-nova-spicehtml5proxy.service
index 29f74c9..01bef0e 100644
--- a/openstack-nova-spicehtml5proxy.service
+++ b/openstack-nova-spicehtml5proxy.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
 [Service]
 Type=simple
 User=nova
-ExecStart=/usr/bin/nova-spicehtml5proxy --config-file /etc/nova/nova.conf --logfile /var/log/nova/spicehtml5proxy.log
+ExecStart=/usr/bin/nova-spicehtml5proxy --logfile /var/log/nova/spicehtml5proxy.log
 
 [Install]
 WantedBy=multi-user.target
diff --git a/openstack-nova-xvpvncproxy.service b/openstack-nova-xvpvncproxy.service
index db5a0d5..17f93ff 100644
--- a/openstack-nova-xvpvncproxy.service
+++ b/openstack-nova-xvpvncproxy.service
@@ -5,7 +5,7 @@ After=syslog.target network.target
 [Service]
 Type=simple
 User=nova
-ExecStart=/usr/bin/nova-xvpvncproxy --config-file /etc/nova/nova.conf --logfile /var/log/nova/xvpvncproxy.log
+ExecStart=/usr/bin/nova-xvpvncproxy --logfile /var/log/nova/xvpvncproxy.log
 
 [Install]
 WantedBy=multi-user.target
diff --git a/openstack-nova.spec b/openstack-nova.spec
index 9985131..059a38e 100644
--- a/openstack-nova.spec
+++ b/openstack-nova.spec
@@ -2,7 +2,7 @@
 
 Name:             openstack-nova
 Version:          2013.2
-Release:          0.9.b2%{?dist}
+Release:          0.10.b2%{?dist}
 Summary:          OpenStack Compute (nova)
 
 Group:            Applications/System
@@ -10,7 +10,7 @@ License:          ASL 2.0
 URL:              http://openstack.org/projects/compute/
 Source0:	  https://launchpad.net/nova/havana/havana-1/+download/nova-%{version}.b2.tar.gz
 
-Source1:          nova.conf
+Source1:          nova-dist.conf
 Source6:          nova.logrotate
 
 Source10:         openstack-nova-api.service
@@ -415,6 +415,52 @@ openstack-config --del etc/nova/api-paste.ini filter:authtoken auth_host
 openstack-config --del etc/nova/api-paste.ini filter:authtoken auth_port
 openstack-config --del etc/nova/api-paste.ini filter:authtoken auth_protocol
 openstack-config --del etc/nova/api-paste.ini filter:authtoken signing_dir
+openstack-config --del etc/nova/api-paste.ini filter:authtoken auth_version
+
+
+echo '
+#
+# Options to be passed to keystoneclient.auth_token middleware
+# NOTE: These options are not defined in nova but in keystoneclient
+#
+[keystone_authtoken]
+
+# the name of the admin tenant (string value)
+#admin_tenant_name=
+
+# the keystone admin username (string value)
+#admin_user=
+
+# the keystone admin password (string value)
+#admin_password=
+
+# the keystone host (string value)
+#auth_host=
+
+# the keystone port (integer value)
+#auth_port=
+
+# protocol to be used for auth requests http/https (string value)
+#auth_protocol=
+
+# Workaround for https://bugs.launchpad.net/nova/+bug/1154809
+#auth_version=
+
+# signing_dir is configurable, but the default behavior of the authtoken
+# middleware should be sufficient.  It will create a temporary directory
+# in the home directory for the user the nova process is running as.
+#signing_dir=/var/lib/nova/keystone-signing
+' >> etc/nova/nova.conf.sample
+
+# Programmatically update defaults in sample config
+# which is installed at /etc/nova/nova.conf
+# TODO: Make this more robust
+# Note it only edits the first occurance, so assumes a section ordering in sample
+# and also doesn't support multi-valued variables like dhcpbridge_flagfile.
+while read name eq value; do
+  test "$name" && test "$value" || continue
+  sed -i "0,/^# *$name=/{s!^# *$name=.*!#$name=$value!}" etc/nova/nova.conf.sample
+done < %{SOURCE1}
 
 %install
 %{__python} setup.py install -O1 --skip-build --root %{buildroot}
@@ -459,7 +505,8 @@ touch %{buildroot}%{_sharedstatedir}/nova/CA/private/cakey.pem
 
 # Install config files
 install -d -m 755 %{buildroot}%{_sysconfdir}/nova
-install -p -D -m 640 %{SOURCE1} %{buildroot}%{_sysconfdir}/nova/nova.conf
+install -p -D -m 640 %{SOURCE1} %{buildroot}%{_datadir}/nova/nova-dist.conf
+install -p -D -m 640 etc/nova/nova.conf.sample  %{buildroot}%{_sysconfdir}/nova/nova.conf
 install -p -D -m 640 etc/nova/rootwrap.conf %{buildroot}%{_sysconfdir}/nova/rootwrap.conf
 install -p -D -m 640 etc/nova/api-paste.ini %{buildroot}%{_sysconfdir}/nova/api-paste.ini
 install -p -D -m 640 etc/nova/policy.json %{buildroot}%{_sysconfdir}/nova/policy.json
@@ -741,6 +788,7 @@ fi
 %doc LICENSE
 %dir %{_sysconfdir}/nova
 %{_sysconfdir}/nova/release
+%attr(-, root, nova) %{_datadir}/nova/nova-dist.conf
 %config(noreplace) %attr(-, root, nova) %{_sysconfdir}/nova/nova.conf
 %config(noreplace) %attr(-, root, nova) %{_sysconfdir}/nova/api-paste.ini
 %config(noreplace) %attr(-, root, nova) %{_sysconfdir}/nova/rootwrap.conf
@@ -849,6 +897,9 @@ fi
 %endif
 
 %changelog
+* Wed Aug 07 2013 Xavier Queralt <xqueralt at redhat.com> - 2013.2-0.10.b2
+- Create a nova-dist.conf file with default values under /usr/share
+
 * Sat Aug 03 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2013.2-0.9.b2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
 


More information about the scm-commits mailing list