<div dir="ltr">Would namespaces be compatible with existing plugins?</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 22, 2016 at 7:33 PM, Bogdan Dobrelya <span dir="ltr"><<a href="mailto:bdobrelia@mirantis.com" target="_blank">bdobrelia@mirantis.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 20.02.2016 10:29, Evgeniy L wrote:<br>
> Hi,<br>
><br>
> +1 to Igor, plugin developer should be able to granularly define what<br>
> she/he wants to be executed on the node, without assumptions from our side.<br>
><br>
> `exclude` - field doesn't look like a good solution to me, it will be<br>
> hard to support and migrate plugins to newer version OpenStack release.<br>
><br>
> I would suggest to solve it differently, lets define namespaces, which<br>
> we will be able to use to identify tasks from core, with prefix<br>
> "std:role-name" or "core:role-name", also in the same way plugin or a<br>
> group of plugins will be able to define their namespaces "lma:role-name"<br>
> or "detached:keystone", so for library tasks you will have something<br>
> like that:<br>
><br>
>     groups: ['/std:.*/']<br>
><br>
> or<br>
><br>
>     groups: ['/core:.*/']<br>
><br>
> It's natural to have such thing, because it's similar to what is in<br>
> Python/Ruby (modules) or in C++ (namespaces).<br>
><br>
<br>
</span>Big +1 to namespaces<br>
<span class=""><br>
> Thanks,<br>
><br>
> On Fri, Feb 19, 2016 at 6:02 PM, Aleksandr Didenko<br>
</span><span class="">> <<a href="mailto:adidenko@mirantis.com">adidenko@mirantis.com</a> <mailto:<a href="mailto:adidenko@mirantis.com">adidenko@mirantis.com</a>>> wrote:<br>
><br>
>     > I vote to abandon it. Let's do not break existing plugins, and do not<br>
>     > add *undo* tasks for plugin developers. If they want to configure<br>
>     > network, they'll ask it explicitly.<br>
><br>
>     +1 to this gentleman. It's safe to add wildcards only to tasks that<br>
>     were moved from pre/post deployment stages, which were executed<br>
>     everywhere anyway.<br>
><br>
>     Regards,<br>
>     Alex<br>
><br>
>     On Fri, Feb 19, 2016 at 3:22 PM, Bulat Gaifullin<br>
</span><span class="">>     <<a href="mailto:bgaifullin@mirantis.com">bgaifullin@mirantis.com</a> <mailto:<a href="mailto:bgaifullin@mirantis.com">bgaifullin@mirantis.com</a>>> wrote:<br>
><br>
><br>
>         > On 19 Feb 2016, at 17:09, Igor Kalnitsky<br>
</span><div><div class="h5">>         <<a href="mailto:ikalnitsky@mirantis.com">ikalnitsky@mirantis.com</a> <mailto:<a href="mailto:ikalnitsky@mirantis.com">ikalnitsky@mirantis.com</a>>> wrote:<br>
>         ><br>
>         > Kyrylo G. wrote:<br>
>         >> So who is voting for the path to be abandoned?<br>
>         ><br>
>         > I vote to abandon it. Let's do not break existing plugins, and<br>
>         do not<br>
>         > add *undo* tasks for plugin developers. If they want to configure<br>
>         > network, they'll ask it explicitly.<br>
>         ><br>
>         ><br>
>         > Kyrylo G. wrote:<br>
>         >> By the way, there is already a task running by the wildcard:<br>
>         >><br>
>         <a href="https://github.com/openstack/fuel-library/blob/master/deployment/puppet/osnailyfacter/modular/fuel_pkgs/tasks.yaml#L4" rel="noreferrer" target="_blank">https://github.com/openstack/fuel-library/blob/master/deployment/puppet/osnailyfacter/modular/fuel_pkgs/tasks.yaml#L4</a><br>
>         ><br>
>         > Yes, exactly, but the thing is that our original task for setuping<br>
>         > repos was executed on all nodes before, including ones provided by<br>
>         > plugins. Making it executing on core nodes only may break<br>
>         plugins that<br>
>         > rely on it. So generally, it's about backward compatibility.<br>
>         ><br>
>         ><br>
>         > Bulat G. wrote:<br>
>         >> This tasks should run on all nodes and it does not matter,<br>
>         the node<br>
>         >> has role from plugin or core-role.<br>
>         ><br>
>         > Nope, they shouldn't. Why do I need to install the following<br>
>         packages<br>
>         ><br>
>         >  'screen',<br>
>         >  'tmux',<br>
>         >  'htop',<br>
>         >  'tcpdump',<br>
>         >  'strace',<br>
>         >  'fuel-misc',<br>
>         >  'man-db',<br>
>         >  'fuel-misc',<br>
>         >  'fuel-ha’<br>
>         ><br>
>         It is big problem?<br>
><br>
>         > if I have no plans to use them? As a deployer engineer, I'd prefer to<br>
>         > keep my role as clear as possible, and decide what to install in my<br>
>         > own way.<br>
><br>
>         IMO: The plugin developer wants to install additional<br>
>         applications to extend functionality, It do not want configure<br>
>         low-level things, like specify some banch of task for configure<br>
>         network, configure repositories etc.<br>
>         How can we manage new node if network is not configured or<br>
>         fuel-agent is not installed?<br>
><br>
>         ><br>
>         ><br>
>         > On Fri, Feb 19, 2016 at 1:06 PM, Bulat Gaifullin<br>
</div></div><span class="">>         > <<a href="mailto:bgaifullin@mirantis.com">bgaifullin@mirantis.com</a> <mailto:<a href="mailto:bgaifullin@mirantis.com">bgaifullin@mirantis.com</a>>> wrote:<br>
>         >> +1 to use wildcards for common tasks like netconfig and setup<br>
>         repositories.<br>
>         >> This tasks should run on all nodes and it does not matter,<br>
>         the node has role<br>
>         >> from plugin or core-role.<br>
>         >> In my opinion we should one approach for basic configuration<br>
>         of node.<br>
>         >><br>
>         >> Regards,<br>
>         >> Bulat Gaifullin<br>
>         >> Mirantis Inc.<br>
>         >><br>
>         >><br>
>         >><br>
>         >> On 19 Feb 2016, at 13:36, Kyrylo Galanov<br>
</span><span class="">>         <<a href="mailto:kgalanov@mirantis.com">kgalanov@mirantis.com</a> <mailto:<a href="mailto:kgalanov@mirantis.com">kgalanov@mirantis.com</a>>> wrote:<br>
>         >><br>
>         >> Hi,<br>
>         >><br>
>         >> So who is voting for the path to be abandoned?<br>
>         >><br>
>         >> By the way, there is already a task running by the wildcard:<br>
>         >><br>
>         <a href="https://github.com/openstack/fuel-library/blob/master/deployment/puppet/osnailyfacter/modular/fuel_pkgs/tasks.yaml#L4" rel="noreferrer" target="_blank">https://github.com/openstack/fuel-library/blob/master/deployment/puppet/osnailyfacter/modular/fuel_pkgs/tasks.yaml#L4</a><br>
>         >> However, it this case it might work with plugins.<br>
>         >><br>
>         >> Best regards,<br>
>         >> Kyrylo<br>
>         >><br>
>         >> On Fri, Feb 19, 2016 at 1:09 AM, Igor Kalnitsky<br>
</span>>         <<a href="mailto:ikalnitsky@mirantis.com">ikalnitsky@mirantis.com</a> <mailto:<a href="mailto:ikalnitsky@mirantis.com">ikalnitsky@mirantis.com</a>>><br>
<span class="">>         >> wrote:<br>
>         >>><br>
>         >>> Hey Kyrylo,<br>
>         >>><br>
>         >>> As it was mentioned in the review: you're about to break<br>
>         roles defined<br>
>         >>> by plugins. That's not good move, I believe.<br>
>         >>><br>
>         >>> Regarding 'exclude' directive, I have no idea what you're<br>
>         talking<br>
>         >>> about. We don't support it now, and, anyway, there should be no<br>
>         >>> difference between roles defined by plugins and core roles.<br>
>         >>><br>
>         >>> - Igor<br>
>         >>><br>
>         >>> On Thu, Feb 18, 2016 at 12:53 PM, Kyrylo Galanov<br>
</span>>         <<a href="mailto:kgalanov@mirantis.com">kgalanov@mirantis.com</a> <mailto:<a href="mailto:kgalanov@mirantis.com">kgalanov@mirantis.com</a>>><br>
<span class="">>         >>> wrote:<br>
>         >>>> Hello,<br>
>         >>>><br>
>         >>>> We are about to switch to wildcards instead of listing all<br>
>         groups in<br>
>         >>>> tasks<br>
>         >>>> explicitly [0].<br>
>         >>>> This change must make deployment process more obvious for<br>
>         developers.<br>
>         >>>> However, it might lead to confusion when new groups are<br>
>         added either by<br>
>         >>>> plugin or fuel team in future.<br>
>         >>>><br>
>         >>>> As mention by Bogdan, it is possible to use 'exclude'<br>
>         directive to<br>
>         >>>> mitigate<br>
>         >>>> the risk.<br>
>         >>>> Any thoughts on the topic are appreciated.<br>
>         >>>><br>
>         >>>><br>
>         >>>> [0] <a href="https://review.openstack.org/#/c/273596/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/273596/</a><br>
>         >>>><br>
>         >>>> Best regards,<br>
>         >>>> Kyrylo<br>
>         >>>><br>
>         >>>><br>
>         >>>><br>
>         __________________________________________________________________________<br>
>         >>>> OpenStack Development Mailing List (not for usage questions)<br>
>         >>>> Unsubscribe:<br>
>         >>>><br>
>         <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>
</span>>         <<a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>><br>
<span class="">>         >>>><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>
>         >>>><br>
>         >>><br>
>         >>><br>
>         __________________________________________________________________________<br>
>         >>> OpenStack Development Mailing List (not for usage questions)<br>
>         >>> Unsubscribe:<br>
>         <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>
</span>>         <<a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>><br>
<span class="">>         >>><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>
>         >><br>
>         >><br>
>         >><br>
>         __________________________________________________________________________<br>
>         >> OpenStack Development Mailing List (not for usage questions)<br>
>         >> Unsubscribe:<br>
>         <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>
</span>>         <<a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>><br>
<span class="">>         >> <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>
>         >><br>
>         >><br>
>         >><br>
>         >><br>
>         __________________________________________________________________________<br>
>         >> OpenStack Development Mailing List (not for usage questions)<br>
>         >> Unsubscribe:<br>
>         <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>
</span>>         <<a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>><br>
<span class="">>         >> <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>
>         >><br>
>         ><br>
>         ><br>
>         __________________________________________________________________________<br>
>         > OpenStack Development Mailing List (not for usage questions)<br>
>         > Unsubscribe:<br>
>         <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>
</span>>         <<a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>><br>
<span class="">>         > <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>
><br>
><br>
>         __________________________________________________________________________<br>
>         OpenStack Development Mailing List (not for usage questions)<br>
>         Unsubscribe:<br>
>         <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>
</span>>         <<a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>><br>
<span class="">>         <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>
><br>
><br>
><br>
>     __________________________________________________________________________<br>
>     OpenStack Development Mailing List (not for usage questions)<br>
>     Unsubscribe:<br>
>     <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>
</span>>     <<a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>><br>
<span class="im HOEnZb">>     <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>
><br>
><br>
><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>
><br>
<br>
<br>
</span><span class="HOEnZb"><font color="#888888">--<br>
Best regards,<br>
Bogdan Dobrelya,<br>
Irc #bogdando<br>
</font></span><div class="HOEnZb"><div class="h5"><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>
</div></div></blockquote></div><br></div>