<div dir="ltr">What is the order of priority between the same option defined in two files with --config-dir? <div><br></div><div>With '--config-file' args it seemed that it was that the latter ones took priority over the earlier ones. So an admin previously had the ability to abuse that by putting all of the desired global settings in one of the earlier loaded configs and then add some node-specific overrides to the ones loaded later.</div><div><br></div><div>Will there still be the ability to do that with RDO?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 13, 2015 at 8:25 AM, Ihar Hrachyshka <span dir="ltr"><<a href="mailto:ihrachys@redhat.com" target="_blank">ihrachys@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
</span>Hi,<br>
<br>
RDO/master (aka Delorean) moved neutron l3 agent to this configuration<br>
scheme, configuring l3 (and vpn) agent with --config-dir [1][2][3].<br>
<br>
We also provided a way to configure neutron services without ever<br>
touching a single configuration file from the package [4] where each<br>
service has a config-dir located under<br>
/etc/neutron/conf.d/<service-name> that can be populated by *.conf<br>
files that will be automatically read by services during startup.<br>
<br>
All other distributions are welcome to follow the path. Please don't<br>
introduce your own alternative to /etc/neutron/conf.d/... directory to<br>
avoid unneeded platform dependent differences in deployment tools.<br>
<br>
As for devstack, it's not really feasible to introduce such a change<br>
there (at least from my perspective), so it's downstream only.<br>
<br>
[1]:<br>
<a href="https://github.com/openstack-packages/neutron/blob/f20-master/openstack-
neutron.spec#L602" target="_blank">https://github.com/openstack-packages/neutron/blob/f20-master/openstack-<br>
neutron.spec#L602</a><br>
[2]:<br>
<a href="https://github.com/openstack-packages/neutron/blob/f20-master/neutron-l3" target="_blank">https://github.com/openstack-packages/neutron/blob/f20-master/neutron-l3</a><br>
- -agent.service#L8<br>
[3]:<br>
<a href="https://github.com/openstack-packages/neutron-vpnaas/blob/f20-master/ope
nstack-neutron-vpnaas.spec#L97" target="_blank">https://github.com/openstack-packages/neutron-vpnaas/blob/f20-master/ope<br>
nstack-neutron-vpnaas.spec#L97</a><br>
[4]: <a href="https://review.gerrithub.io/#/c/229162/" target="_blank">https://review.gerrithub.io/#/c/229162/</a><br>
<br>
Thanks,<br>
/Ihar<br>
<span class=""><br>
On 03/13/2015 03:11 PM, Ihar Hrachyshka wrote:<br>
> Hi all,<br>
><br>
> (I'm starting a new [packaging] tag in this mailing list to reach<br>
> out people who are packaging our software in distributions and<br>
> whatnot.)<br>
><br>
> Neutron vendor split [1] introduced situations where the set of<br>
> configuration files for L3/VPN agent is not stable and depends on<br>
> which packages are installed in the system. Specifically,<br>
> fwaas_driver.ini file is now shipped in neutron_fwaas tarball<br>
> (openstack-neutron-fwaas package in RDO), and so<br>
</span><span class="">> --config-file=/etc/neutron/fwaas_driver.ini argument should be<br>
> passed to L3/VPN agent *only* when the new package with the file is<br>
> installed.<br>
><br>
> In devstack, we solve the problem by dynamically generating CLI<br>
> arguments list based on which services are configured in<br>
> local.conf [2]. It's not a viable approach in proper distribution<br>
> packages though, where we usually hardcode arguments [3] in our<br>
> service manifests (systemd unit files, in case of RDO).<br>
><br>
> The immediate solution to solve the issue would be to use<br>
> --config-dir argument that is also provided to us by oslo.config<br>
</span>> instead of --config-file, and put auxiliary files there [4] (those<br>
<div><div class="h5">> may be just symbolic links to actual files).<br>
><br>
> I initially thought to put the directory under /etc/neutron/, but<br>
> then realized we may be interested in keeping it out of user sight<br>
> while it only references stock (upstream) configuration files.<br>
><br>
> But then a question arises: whether it's useful just for this<br>
> particular case? Maybe there is value in using --config-dir outside<br>
> of it? And in that case, maybe the approach should be replicated to<br>
> other services?<br>
><br>
> AFAIU --config-dir could actually be useful to configure services.<br>
> Now instead of messing with configuration files that are shipped<br>
> with packages (and handling .rpmnew files [5] that are generated on<br>
> upgrade when local changes to those files are detected), users (or<br>
> deployment/installation tools) could instead drop a *.conf file in<br>
> that configuration directory, being sure their stock configuration<br>
> file is always current, and no .rpmnew files are there to manually<br>
> solve conflicts).<br>
><br>
> We can also use two --config-dir arguments, one for stock/upstream<br>
> configuration files, located out of /etc/neutron/, and another one<br>
> available for population with user configuration files, under<br>
> /etc/neutron/. This is similar to how we put settings considered to<br>
> be 'sane distro defaults' in neutron-dist.conf file that is not<br>
> available for modification [6][7].<br>
><br>
> Of course users would still be able to set up their deployment the<br>
> old way. In that case, nothing will change for them. So the<br>
> approach is backwards compatible.<br>
><br>
> I wonder whether the idea seems reasonable and actually useful for<br>
> people. If so, we may want to come up with some packaging<br>
> standards (on where to put those config-dir(s), how to name them,<br>
> how to maintain symbolic links inside them) to avoid more work for<br>
> deployment tools.<br>
><br>
> [1]:<br>
> <a href="https://blueprints.launchpad.net/neutron/+spec/core-vendor-decompositi" target="_blank">https://blueprints.launchpad.net/neutron/+spec/core-vendor-decompositi</a><br>
on<br>
><br>
><br>
[2]:<br>
> <a href="http://git.openstack.org/cgit/openstack-dev/devstack/tree/lib/neutron#
n393" target="_blank">http://git.openstack.org/cgit/openstack-dev/devstack/tree/lib/neutron#<br>
n393</a><br>
><br>
><br>
[3]:<br>
> <a href="https://github.com/openstack-packages/neutron/blob/f20-master/neutron-
l3-agent.service#L8" target="_blank">https://github.com/openstack-packages/neutron/blob/f20-master/neutron-<br>
l3-agent.service#L8</a><br>
><br>
><br>
[4]: <a href="https://review.gerrithub.io/#/c/218562/" target="_blank">https://review.gerrithub.io/#/c/218562/</a><br>
> [5]:<br>
> <a href="https://ask.fedoraproject.org/en/question/25722/what-are-rpmnew-files/" target="_blank">https://ask.fedoraproject.org/en/question/25722/what-are-rpmnew-files/</a><br>
><br>
><br>
[6]:<br>
> <a href="https://github.com/openstack-packages/neutron/blob/f20-master/neutron-" target="_blank">https://github.com/openstack-packages/neutron/blob/f20-master/neutron-</a><br>
dist.conf<br>
><br>
><br>
[7]:<br>
> <a href="https://github.com/openstack-packages/neutron/blob/f20-master/openstac
k-neutron.spec#L700" target="_blank">https://github.com/openstack-packages/neutron/blob/f20-master/openstac<br>
k-neutron.spec#L700</a><br>
><br>
>  Regards, /Ihar<br>
><br>
> /Ihar<br>
><br>
</div></div>> ______________________________________________________________________<br>
<span class="">____<br>
><br>
><br>
OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe:<br>
> <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
</span>-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v2<br>
<br>
iQEcBAEBAgAGBQJVK9/9AAoJEC5aWaUY1u57phQIAJIy4Q/cnINfS5UPDSv65I59<br>
+lQKu9HXX/hEI0A1wVtpjXEsXiyUWlyZTBTYPmRXEH1nhhznCO5dRPtJ0I9N9NoZ<br>
CA04bdxnJll8PYp16+i9YCdCQoE9DSoT1Qr4JimMFA2ZVS4E0P3WP486s1tMmoaL<br>
mLKBPrm8Y0YGsJYOENG8aeMuNI16pjdWRYx9icxUdpD3lOZc/kzxbaBf595jIUUn<br>
VHGJCUTUBsI/0S0gCDe7B046JCFnDfxfza/WlCzHXOjZ+fPJCgl/+RzsjPJ7k4Q+<br>
Eu7JQEHMQ3tY0bR5DHuBseVmuRlfvztx7i6EdrWTvdm4LH5Q3QqdA0vHr6tZ/qk=<br>
=y8b1<br>
<div class="HOEnZb"><div class="h5">-----END PGP SIGNATURE-----<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div>Kevin Benton</div></div>
</div>