<div dir="ltr">Neil,<div><br></div><div>The effort is to spread the knowledge and skills beyond the "<span style="font-size:12.8000001907349px">small group of people who already understand all this" :)</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">Let me explain a bit. working backwards from what we see.</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">Most of us have seen the Proposal bot update reviews that get logged periodically that updates the requirements.txt and test-requirements.txt in all projects. Now the proposal bot (actually just a jenkins job not a bot) picks these up from global requirements repo:</span></div><div><span style="font-size:12.8000001907349px"><a href="http://git.openstack.org/cgit/openstack/requirements/tree/global-requirements.txt">http://git.openstack.org/cgit/openstack/requirements/tree/global-requirements.txt</a></span><br></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">Now who updates that repo? it's a bunch of folks who keep an eye out on the different python libraries out in the eco system or our own libraries and figure out if any new version is out or if an old version has problems. So remember the global-requirements and the project requirements are ranges, example:</span><br></div><div><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:14px"><code>jsonschema>=2.0.0,<3.0.0,!=2.5.0</code></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:14px"><br></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:14px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8000001907349px;white-space:normal">Next problem is how do we figure out a basic set of pinned requirements (not ranges) so all jobs pick up the same specific set, hopefully latest set of libraries...That is maintained in</span><br></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal"><a href="http://git.openstack.org/cgit/openstack/requirements/tree/upper-constraints.txt">http://git.openstack.org/cgit/openstack/requirements/tree/upper-constraints.txt</a><br></span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal"><br></span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal">So who figures out the latest versions etc and updates the </span></font><span style="font-size:12.8000001907349px;white-space:normal;font-family:arial,sans-serif">upper-constraints.txt? It's again the same job/bot. example:</span></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal"><a href="https://review.openstack.org/#/c/226182/">https://review.openstack.org/#/c/226182/</a><br></span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal"><br></span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal">Some of this is documented here:</span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal"><a href="http://specs.openstack.org/openstack/openstack-specs/specs/requirements-management.html">http://specs.openstack.org/openstack/openstack-specs/specs/requirements-management.html</a><br></span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal"><br></span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal">In this specific review that lifeless is pointing out, the bot calculated a set of specific versions and logged a review for a specific set of libraries and they failed to work with each other and the ask was to figure out why they are failing and suggest fixes where necessary.</span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal"><br></span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal">Hope that helps?</span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal"><br></span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal">Thanks,</span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal">Dims</span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal"><br></span></font></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><font face="arial, sans-serif"><span style="font-size:12.8000001907349px;white-space:normal">PS: For that specific problem from lifeless, mordred already filed reviews with os-client-config and python-openstackclient so we are good.</span></font></pre></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px"><br></span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 22, 2015 at 8:19 AM, Neil Jerram <span dir="ltr"><<a href="mailto:Neil.Jerram@metaswitch.com" target="_blank">Neil.Jerram@metaswitch.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">To most people who write on this list about requirements, constraints<br>
and gate deadlocks, not just Robert...<br>
<br>
FWIW - this email is tagged [all], and asks for help, but I don't<br>
understand it.  Even though I've been fairly heavily engaged with<br>
OpenStack for more than a cycle now.<br>
<br>
Obviously we can't avoid having lots of project-specific terminology and<br>
jargon in various areas of OpenStack.  When those areas are<br>
domain-specific, say Cinder or Sahara, that doesn't bother me.  But this<br>
thread (and others like it) seems more about some of OpenStack's<br>
vertical integration, that I ought to understand.  But the jargon and<br>
imprecision of the language and description used are making it<br>
impossible for me to start understanding.<br>
<br>
So, please, if you really mean [all], say what you're saying in terms<br>
that everyone can understand, and not just the (apparently, and<br>
unfortunately) small group of people who already understand all this in<br>
detail.<br>
<br>
To emphasize again, I really don't mean to target this email<br>
specifically - but it is a good example of lots of emails that (AFAICT)<br>
are about this sort of thing.<br>
<br>
Regards,<br>
    Neil<br>
<br>
<br>
On 21/09/15 20:53, Robert Collins wrote:<br>
>Constraint updates are still failing: you can see this on<br>
><a href="https://review.openstack.org/#/c/221157/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/221157/</a> or more generally<br>
><a href="https://review.openstack.org/#/q/status:open+project:openstack/requirements+branch:master+topic:openstack/requirements/constraints,n,z" rel="noreferrer" target="_blank">https://review.openstack.org/#/q/status:open+project:openstack/requirements+branch:master+topic:openstack/requirements/constraints,n,z</a><br>
>>Now, the constraints system is *doing its job* - its made the presence<br>
>of an incompatible thing not-a-firedrill. However, we need to do our<br>
>part of the job too: we need to fix the incompatibility that exists so<br>
>that we can roll forward and start using the new releases that are<br>
>being made.<br>
>>Right now the release team are picking individual components and<br>
>proposing them as merges to move things forward, but its fairly<br>
>fundamentally unsafe to cut the full liberty release while there is a<br>
>known incompatibility bug out there.<br>
>>So - I'm manually ringing the fire-drill alarm now: we need to get<br>
>this fixed so that the released liberty is actually compatible with<br>
>the entire ecosystem at time of release.<br>
>>What issues are there ?<br>
>>Firstly,<br>
>2015-09-21 06:24:00.911 | + openstack --os-token<br>
>3dc712d5120b436ebb7d554405b7c15f --os-url <a href="http://127.0.0.1:9292" rel="noreferrer" target="_blank">http://127.0.0.1:9292</a> image<br>
>create cirros-0.3.4-x86_64-uec --public --container-format ami<br>
>--disk-format ami<br>
>2015-09-21 06:24:01.396 | openstack: 'image' is not an openstack<br>
>command. See 'openstack --help'.<br>
>>(See the dvsm run from review 221157 -<br>
><a href="http://logs.openstack.org/57/221157/12/check/gate-tempest-dsvm-full/17941bd/logs/devstacklog.txt.gz#_2015-09-21_06_24_00_911" rel="noreferrer" target="_blank">http://logs.openstack.org/57/221157/12/check/gate-tempest-dsvm-full/17941bd/logs/devstacklog.txt.gz#_2015-09-21_06_24_00_911</a><br>
>)<br>
>>Secondly, its likely that once thats fixed there will be more things to unwind.<br>
>>What will help most is if a few folk familiar with devstack can pull<br>
>down review 221157 and do a binary search on the changes in it to<br>
>determine which ones are safe and which ones trigger the breakage:<br>
>then we can at least land all the safe ones at once and zero in on the<br>
>incompatibility - and get it addressed.<br>
>>To repeat: this is effectively a release blocker IMO, and the release<br>
>is happening - well, $now.<br>
>>-Rob<br>
><br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Davanum Srinivas :: <a href="https://twitter.com/dims" target="_blank">https://twitter.com/dims</a></div>
</div>