<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>
<div>Matt,</div>
<div><br>
</div>
<div>I completely agree.</div>
<div><br>
</div>
<div>Nova stopped shipping the file starting in icehouse, ceilometer started in Juno, I see commits now in pretty much every project that remove the sample config and replace it with some tox script.   Which may or may not run on your current operating system
 – without going to pip to get newer versions of stuff. </div>
<div><br>
</div>
<div>I see that whats being said is that a  valid sample configuration file depends on the version of the other dependent libraries that are installed on the system as well.  I assume this is talking about different versions of oslo.config and oslo.messaging
 take different configuration options and as such we can't generate a generic sample config file because we don’t know what versions of dependent libraries you
<span style="font-weight: bold;">actually</span> have installed.</div>
<div><br>
</div>
<div>This seems to have taken a problem that’s been created on the development side and simply punted over the wall to let document writers/operators/packagers deal with:  As this sample configuration file changes independently from the project, this check
 failed on the gate time to time, as this file  needed to be updated manually [1].  I guess I reject the assertion that the sample configuration file is independent of the project.  Just because some options change depending on the oslo.config version doesn't
 mean the configuration options that are specific to that project change as well…</div>
<div><br>
</div>
<div>Anyway – back to packaging.  The problem that I have with this change is that in order to package a sample configuration I need to basically do the following: 1.) get the current build/commit run 2.) run python build 3.) strip away the relevant built parts
 of the package 4.) install on the build machine all the python runtime deps that I am going to need for this package 5.) install tox and other packages as needed to generate a sample configuration 6.) generate sample config 7.) build a new package with the
 exact same requirements as what I installed in step 4 8.) add sample configuration generated in step  6 to the package.  Then I need to make sure I also package all of the python-versions that was used in step 4, making sure that I don’t have conflicting system
 level dependencies from other openstack projects.</div>
<div><br>
</div>
<div>Now anvil can do a lot of this for me… but this seems overly complicated.</div>
<div><br>
</div>
<div> I don’t think its too much to ask for each project to include a script that will build a venv that includes tox and the other relevant deps to build the sample configuration.   IMHO, its also ok if the sample configuration is not 100% perfect re: config
 options for dependencies – call that out in the config file and we can look up what the correct config parameters are based upon our configuration environment.  But there is no execuse to not include an example config that at least has the config options relevant
 to project.</div>
<div>
<div>
<div>____________________________________________</div>
<div> </div>
<div>Kris Lindgren</div>
<div>Senior Linux Systems Engineer</div>
<div>GoDaddy, LLC.</div>
</div>
<div><br>
</div>
</div>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span><Fischer>, Matt <<a href="mailto:matthew.fischer@twcable.com">matthew.fischer@twcable.com</a>><br>
<span style="font-weight:bold">Date: </span>Monday, December 8, 2014 at 8:23 PM<br>
<span style="font-weight:bold">To: </span>"Kris G. Lindgren" <<a href="mailto:klindgren@godaddy.com">klindgren@godaddy.com</a>>, "<a href="mailto:openstack-operators@lists.openstack.org">openstack-operators@lists.openstack.org</a>" <<a href="mailto:openstack-operators@lists.openstack.org">openstack-operators@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [Openstack-operators] Packaging sample config versions<br>
</div>
<div><br>
</div>
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>I also find this issue really really annoying. Not only is the sample config a useful reference, but having it in a git repo allows me to see when new options were added or defaults were changed. Otherwise you have to rely on the docs which are generally
 wrong. When I was looking at some of the Juno transitions, I’ve already filed a few doc bugs about wrong defaults and config options. Assuming a project enforces that the sample config is up-to-date when commits are made, it’s by far the best source of this
 info. As for why? Well I’ve brought this up a few times before, and there was even a bug filed (<a href="https://bugs.launchpad.net/nova/+bug/1301519">https://bugs.launchpad.net/nova/+bug/1301519</a>) but it was marked as “Won’t Fix”. I don’t really know the
 reason. This is one of my larger annoyances as an operator…</div>
<div><br>
</div>
<div>I do know that some projects, like nova and cinder, still ship the file.</div>
<div><br>
</div>
<div>Maybe someone can setup a cron job to do a pull, build the sample configs and post them to git hub every day.</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>"Kris G. Lindgren" <<a href="mailto:klindgren@godaddy.com">klindgren@godaddy.com</a>><br>
<span style="font-weight:bold">Date: </span>Monday, December 8, 2014 at 7:46 PM<br>
<span style="font-weight:bold">To: </span>"<a href="mailto:openstack-operators@lists.openstack.org">openstack-operators@lists.openstack.org</a>" <<a href="mailto:openstack-operators@lists.openstack.org">openstack-operators@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>[Openstack-operators] Packaging sample config versions<br>
</div>
<div><br>
</div>
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
Hello all,</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<br>
</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
Since somewhere around icehouse projects have started to stop shipping sample configuration files with their projects and instead create a README-sample.conf.txt that usually contains something like:</div>
<div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
To generate the sample nova.conf file, run the following</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
command from the top level of the nova directory:</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<br>
</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
tox –egenconfig</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<br>
</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
The problem that I am running into is that tox –egenconfig now requires a newer version of tox than what is available for the build distro:</div>
<div>
<div><span style="font-family: Calibri; font-style: normal; font-weight: normal; text-decoration: none;">[root@localhost ceilometer-2014.2.1]# tox -egenconfig</span></div>
<div><span style="font-family: Calibri; font-style: normal; font-weight: normal; text-decoration: none;">ERROR: tox version is 1.4.2, required is at least 1.6</span></div>
</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<br>
</div>
</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
I know I can do a pip install blah and blindly hope that I get everything installed locally on my build system and that I don’t install something that conflicts with the system… but that seems like a less than desirable solution.  So how are people who are
 doing packaging handling this?  Are you now building a venv per package for tox just to generate a sample configuration?  Shouldn't this be part of the python build/install steps per project?</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<br>
</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
It seems redhat/rdo is simply including a sample configuration that they generated somehow.  </div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<br>
</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
What are you other packagers doing?</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<br>
</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
Also, is it just me or does this seem wrong?  Most of the commits that made this change seem to indicate it was because the sample config file was separate from the project and that it was breaking gate when it wasn't kept up to date.  Shouldn't this be something
 that each project generates?  This seemed to work for 8 previous releases – now its too difficult?  I don’t get the motivations behind this change.</div>
<div style="color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>____________________________________________</div>
<div> </div>
<div>Kris Lindgren</div>
<div>Senior Linux Systems Engineer</div>
<div>GoDaddy, LLC.</div>
</div>
</div>
</div>
</span><br>
<hr>
<font face="Arial" color="Gray" size="1">This E-mail and any of its attachments may contain Time Warner Cable proprietary information, which is privileged, confidential, or subject to copyright belonging to Time Warner Cable. This E-mail is intended solely
 for the use of the individual or entity to which it is addressed. If you are not the intended recipient of this E-mail, you are hereby notified that any dissemination, distribution, copying, or action taken in relation to the contents of and attachments to
 this E-mail is strictly prohibited and may be unlawful. If you have received this E-mail in error, please notify the sender immediately and permanently delete the original and any copy of this E-mail and any printout.<br>
</font></div>
</div>
</span>
</body>
</html>