[OpenStack-Infra] binary package install - plan of attack

Andreas Jaeger aj at suse.com
Mon May 9 09:20:49 UTC 2016


On 2016-05-09 11:11, Robert Collins wrote:
> On 9 May 2016 at 20:43, Andreas Jaeger <aj at suse.com> wrote:
>> On 2016-05-09 10:29, Robert Collins wrote:
>>> On 30 April 2016 at 09:00, Andreas Jaeger <aj at suse.com> wrote:
>>>> Paul and myself discussed this morning how to move forward with binary
>>>> package installation - the bindep-fallback.txt/other-requirements.txt story.
>>>>
>>>> I wrote up what we discussed and hope I didn't forgot anything here. Please
>>>> review and comment - and sign up if you want to help.
>>>>
>>>> Andreas - who will board his plane to Washington in a few minutes
>>>>
>>>> Goals:
>>>> 1. bindep-fallback.txt should be minimal and handle packages that the
>>>>    majority of projects need.
>>>> 2. Projects can use other-requirements to document their binary
>>>>    requirements.
>>>> 3. There are no apt-get/yum install commands in jenkins/jobs/
>>>>
>>>> Proposal:
>>>>
>>>> 1. Resolve with lifeless how the other-requirements.txt file should
>>>>    look like, see:
>>>>    nova: https://review.openstack.org/#/c/200672/
>>>>    swift: https://review.openstack.org/#/c/298313/
>>>
>>> I'm not sure what resolving is needed? the only outstanding question I
>>
>> With resolving I meant: Figure out how the entries should look like and
>> whether we need to invoke bindep differently - and whether bindep needs
>> a fix.
>>
>>> saw there was whether the default profile was always active - it is.
>>>
>>> The issue I mention with bindep is that
>>>
>>> foo[platform:dpkg test]
>>>
>>> Will default on on dpkg platforms, because one of the profiles is
>>> active - but it shouldn't, because there are other user profiles
>>> listed. The rule should be 'A thing is in the default profile if all
>>> the profiles listed are automatic profiles, otherwise it is not in the
>>> default profile'.
>>
>> So, how should we write the files?
> 
> Testing only dependencies should be in the test profile.
> 
> We may want to have a source or similar named profile for
> building-from-source of things, but I'd start with just the default
> profile for the always-needed deps and test for CI test run
> dependencies.

Yes, start small...

>> Should they have [test] for everything in it? In that case, we would
>> need to invoke the test profile in bindep and fix bindep to handle the
>> issue you mentioned above.
> 
> The issue I mentioned fails open, so we should fix it but it doesn't
> block anything. Yes, you need to invoke bindep with a test profile,

You're right, we would install more than needed...

> for test builds.

Double checking whether my understanding of the documents is correct:

Let's say our file has two dependencies, one runtime and one test, we
would write this as:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
runtime-dep
test-dep [test]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

And then invoke "bindep test" and that would install both packages, correct?

In that case our three steps here would be:
* Mark in the reviews some of the dependencies as [test]
* Invoke "bindep test" instead of "bindep" in infra scripts
* Fix the bug (not a blocking issue)

Andreas
-- 
 Andreas Jaeger aj@{suse.com,opensuse.org} Twitter: jaegerandi
  SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GF: Felix Imendörffer, Jane Smithard, Graham Norton,
       HRB 21284 (AG Nürnberg)
    GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126




More information about the OpenStack-Infra mailing list