[openstack-dev] [TripleO] [Ironic] Let's stop hijacking other projects' OSC namespaces

Dmitry Tantsur dtantsur at redhat.com
Tue Nov 10 14:10:29 UTC 2015


On 11/10/2015 02:42 PM, Lennart Regebro wrote:
> These changes are fine to me.
>
> I'm not so sure about the idea that we can't "hijack" other projects
> namespaces. If only ironic is allowed to use the prefix "baremetal",
> then the prefix should not have been "baremetal" in the first place,
> it should have been "ironic". Which of course means it would just be a
> replacement for the ironic client, making these whole namespaces
> pointless.

That's not true, ironic is officially called the Bare metal service, so 
"baremetal" is its official short name.

That said, I'm not saying we can never use other's namespaces. I only 
state that this should be done in coordination with projects and with 
care to make the new commands generic enough.

>
> I do agree that many of these should not be in baremetal at all as
> they are not baremetal specific, but tripleo-things, and hence is a
> part of the overcloud/undercloud namespace, and that in the minimum
> teaches us to be more careful with the namespaces. We should probably
> double-check with others first.
>
> Oh, sorry, I mean "We should probably increase cross-team
> communication visibility to synchronize the integrational aspects of
> the openstack client project, going forward."

:)

>
>
> On Mon, Nov 9, 2015 at 1:44 PM, Dmitry Tantsur <dtantsur at redhat.com> wrote:
>> Hi OOO'ers, hopefully the subject caught your attentions :)
>>
>> Currently, tripleoclient exposes several commands in "openstack baremetal"
>> and "openstack baremetal introspection" namespaces belonging to ironic and
>> ironic-inspector accordingly. TL;DR of this email is to deprecate them and
>> move to TripleO-specific namespaces. Read on to know why.
>>
>> Problem
>> =======
>>
>> I realized that we're doing a wrong thing when people started asking me why
>> "baremetal introspection start" and "baremetal introspection bulk start"
>> behave so differently (the former is from ironic-inspector, the latter is
>> from tripleoclient). The problem with TripleO commands is that they're
>> highly opinionated workflows commands, but there's no way a user can
>> distinguish them from general-purpose ironic/ironic-inspector commands. The
>> way some of them work is not generic enough ("baremetal import"), or uses
>> different defaults from an upstream project ("configure boot"), or does
>> something completely unacceptable upstream (e.g. the way "introspection bulk
>> start" deals with node states).
>>
>> So, here are commands that tripleoclient exposes with my comments:
>>
>> 1. baremetal instackenv validate
>>
>>   This command assumes there's an "baremetal instackenv" object, while
>> instackenv is a tripleo-specific file format.
>>
>> 2. baremetal import
>>
>>   This command supports a limited subset of ironic drivers and driver
>> properties, only those known to os-cloud-config.
>>
>> 3. baremetal introspection bulk start
>>
>>   This command does several bad (IMO) things:
>>   a. Messes with ironic node states
>>   b. Operates implicitly on all nodes (in a wrong state)
>>   c. Defaults to polling
>>
>> 4. baremetal show capabilities
>>
>>   This is the only commands that is generic enough and could actually make it
>> to ironicclient itself.
>>
>> 5. baremetal introspection bulk status
>>
>>   See "bulk start" above.
>>
>> 6. baremetal configure ready state
>>
>>   First of all, this and the next command use "baremetal configure" prefix. I
>> would not promise we'll never start using it in ironic, breaking the whole
>> TripleO.
>>
>>   Seconds, it's actually DELL-specific.
>>
>> 7. baremetal configure boot
>>
>>   This one is nearly ok, but it defaults to local boot, which is not an
>> upstream default. Default values for images may not work outside of TripleO
>> as well.
>>
>> Proposal
>> ========
>>
>> As we already have "openstack undercloud" and "openstack overcloud" prefixes
>> for TripleO, I suggest we move these commands under "openstack overcloud
>> nodes" namespace. So we end up with:
>>
>>   overcloud nodes import
>>   overcloud nodes configure ready state --drac
>>   overcloud nodes configure boot
>>
>> As you see, I require an explicit --drac argument for "ready state" command.
>> As to the remaining commands:
>>
>> 1. baremetal introspection status --all
>>
>>    This is fine to move to inspector-client, as inspector knows which nodes
>> are/were on introspection. We'll need a new API though.
>>
>> 2. baremetal show capabilities
>>
>>    We'll have this or similar command in ironic, hopefully this cycle.
>>
>> 3. overcloud nodes introspect --poll --allow-available
>>
>>    I believe that we need to make 2 things explicit in this replacement for
>> "introspection bulk status": polling and operating on "available" nodes.
>>
>> 4. overcloud nodes import --dry-run
>>
>>    could be a replacement for "baremetal instackenv validate".
>>
>>
>> Please let me know what you think.
>>
>> Cheers,
>> Dmitry.
>>
>>
>> __________________________________________________________________________
>> 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
>
> __________________________________________________________________________
> 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