[openstack-dev] [ironic] usage of ironic-lib

Sam Betts (sambetts) sambetts at cisco.com
Mon May 16 14:56:45 UTC 2016


I personally disagree with saying that if we wanted it make it usable by
projects other than ones in the Ironic umbrella it should go into oslo. I
think that non-ironic projects directly related to Ironic such as out of
tree drivers etc, should be able to utilise the code placed into
ironic-lib. 

Neutron are doing a very similar thing for all their drivers/extensions
they have broken out over the last 2 cycles,
http://specs.openstack.org/openstack/neutron-specs/specs/liberty/neutron-li
b.html. 

Making ironic-lib available to out of tree drivers etc also puts us into a
good position to begin the work to stabilise things like the driver API.
Neutron is making the rule that out of tree drivers shouldn¹t
inherit/import anything from the neutron core code base, only neutron-lib,
they are doing this to provide a stable interface that shouldn¹t be broken
by changes to neutron core. I think we could do the same, with in-tree
drivers dog-fooding the driver api we provide in ironic-lib.

Sam

On 16/05/2016 15:14, "Lucas Alvares Gomes" <lucasagomes at gmail.com> wrote:

>Hi,
>
>Thanks for starting this discussion Ruby.
>
>On Mon, May 16, 2016 at 2:57 PM, Loo, Ruby <ruby.loo at intel.com> wrote:
>> Hi,
>>
>> A patch to ironic-lib made me wonder about what is our supported usage
>>of
>> ironic-lib. Or even the intent/scope of it. This patch changes a method,
>> Œbootable¹ parameter is removed and Œboot_flag¹ parameter is added [1].
>>
>> If this library/method is used by some out-of-tree thing (or even some
>> in-tree but outside of ironic), this will be a breaking change. If this
>> library is meant to be internal to ironic program itself, and to e.g.
>>only
>> be used by ironic and IPA, then that is different. I was under the
>> impression that it was a library and meant to be used by whatever, no
>> restrictions on what that whatever was. It would be WAY easier if we
>>limited
>> this for usage by only a few specified projects.
>>
>> What do people think?
>>
>
>I still believe that the ironic-lib project was designed to share code
>between the Ironic projects _only_. Otherwise, if it the code was
>supposed to be shared across multiple projects we should have put it
>in oslo instead.
>
>The governance description is a bit vague [0], it does say: "A python
>library of common ironic utilities.". Does it include out-of-tree
>ironic-related code? I would like to think that it does not. The fact
>that ( IIRC ) we never stated that this is a public library, there's
>no documentation of any methods/modules there, no release notes, no
>sample usages, etc... Makes it a bit unsuitable for 3rd party
>consumption.
>
>That said, I'm not totally against make this library suitable for a
>broader usage but this will require more thoughts on it and effort.
>
>[0] 
>https://github.com/openstack-infra/project-config/blob/920441f2fc02df89624
>5b53e6f18b4ea6a0252a0/gerrit/projects.yaml#L2193
>
>Cheers,
>Lucas
>
>__________________________________________________________________________
>OpenStack Development Mailing List (not for usage questions)
>Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




More information about the OpenStack-dev mailing list