[openstack-dev] [Fuel] Rewriting nailgun agent on Python proposal

Vladimir Kozhukalov vkozhukalov at mirantis.com
Tue Mar 15 07:08:03 UTC 2016


Alexander,

We have many other places where use Ruby (astute, puppet custom types,
etc.). I don't think it is a good reason to re-write something just because
it is written in Ruby. You are right about tests, about plugins, but let's
look around. Ironic community has already invented discovery component (btw
written in python) and I can't see any reason why we should continue
putting efforts in nailgun agent and not try to switch to ironic-inspector.





Vladimir Kozhukalov

On Mon, Mar 14, 2016 at 7:41 PM, Evgeniy L <eli at mirantis.com> wrote:

> Hi Alexander, thanks for bringing this up.
>
> From your list of problems the only problem which I see is 1st, 2nd and
> 3rd are solvable even with current implementation.
>
> Also I don't think that we should continue developing our own HW discovery
> mechanism, we should consider switching to ironic-inspector, and get common
> discovery system [0]. We need to evaluate it and get a list of features
> which we may need from it and discuss with ironic team.
>
> Thanks,
>
> [0] https://github.com/openstack/ironic-inspector
>
> On Mon, Mar 14, 2016 at 6:13 PM, Alexander Saprykin <
> asaprykin at mirantis.com> wrote:
>
>> Hi,
>>
>> We have fuel-nailgun-agent project which was initially written on Ruby.
>> It is 900 lines of code single script, that collects and provides to the
>> nailgun information about node's hardware.
>>
>> In the past several iteration we had to introduce new modifications to
>> that script we discovered couple of major problems with it.
>>
>> 1. Most of our software engineers are Python programmers and it's quite
>> complicated to add new features. We have or to write ugly ruby code or to
>> wait for somebody who knows it to write it.
>>
>> 2. Nailgun agent doesn't have tests. At all.
>>
>> 3. It would be good to have a plugins support in the nailgun agent. In
>> case if customer wants to collect any extra information about nodes that
>> can be used in fuel plugins.
>>
>> Possible obstacles:
>>
>> Nailgun agent depends from Ruby library called *ohai* which provides
>> hardware information.
>>
>> Our proposal is to:
>>
>> 1. Rewrite fuel nailgun agent to Python.
>>
>> 2. Add proper unit tests.
>>
>> 3. Ohai library can be used as CLI tool or it can be replaced with pure
>> python solution (to be investigated)
>>
>> 4. Nailgun agent can be extended with plugins based on steevedore.
>>
>>
>> Best regards,
>> Alexander Saprykin
>>
>> __________________________________________________________________________
>> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160315/78134f4f/attachment.html>


More information about the OpenStack-dev mailing list