← Back to team overview

fuel-dev team mailing list archive

Re: feature request: Empty role

 

Now I understand your use case, folks. In current version of Fuel you can
add nodes to the env with a certain roles assigned only. I.e. you can not
have a node in the environment which has no role at all. Then, you can
split your actions into two stages: provisioning of nodes in the env, and
you will get bare operating system installed with minimal Fuel pieces; and
deployment, when roles assigned to servers will be applied.
Gleb's use case is a bit different. He wants to have an environment which
would have N nodes deployed a certain roles and M nodes only bare operating
system. This is not achievable at the moment: when you deploy N nodes with
certain roles, you can't specify that other M nodes do not require any
components on them. You could do it though via CLI, I'm not even sure, but
that would be hacky anyway.

Gleb, does it sound correct?
On Jan 17, 2014 9:46 PM, "David Easter" <deaster@xxxxxxxxxxxx> wrote:

> I agree with Mike that this requirement looks to be already implemented
> with the ability separate the provisioning between Cobbler and Puppet (i.e.
> Operating System and OpenStack components).  Is there something not
> accomplished through this existing capability?
>
> Thanks,
>
> -Dave Easter
>
> From: Gleb Galkin <ggalkin@xxxxxxxxxxxx>
> Organization: Mirantis Inc.
> Date: Thursday, January 16, 2014 at 11:28 PM
> To: <fuel-dev@xxxxxxxxxxxxxxxxxxx>
> Subject: Re: [Fuel-dev] feature request: Empty role
>
>  On 17.01.2014 04:05, Mike Scherbakov wrote:
>
> Folks, sorry, but I don't quite get your use cases. We can do separated
> provisioning from CLI (and REST API obviously), and you will get nodes
> without any OpenStack components deployed on them. All nodes will be
> provisioned, and you can proceed with manual deployment after this.
> Now, if you want to deploy some nodes, but not to touch some other
> provisioned, then we can't do it now. Deployment will be applied to all
> nodes, and you can't have node without a role on it now. Is it the case you
> guys talk about? Do I understand right the current implementation?
>
> My point was about provisioning OpenStack nodes and nodes without any
> OpenStack component simultaneously.
> For example I need standart Mirantis OpenStack + Standalone Swift (which
> can't be deployed by Fuel).
> Fuel can't deploy standalone Swift, but it can provision node for further
> manual deployment.
>
> Or I already have deployed cloud and I want to add bunch of nodes without
> OpenStack components.
> This use case is vital too.
>
>  Thanks,
> On Jan 16, 2014 9:03 PM, "Andrew Woodward" <xarses@xxxxxxxxx> wrote:
>
>> I've been thinking about this empty role for a while now, I think its
>> necessary for us to provide until we can handle granular roles better.
>>
>>
>>  On Thu, Jan 16, 2014 at 4:07 AM, Evgeniy L <eli@xxxxxxxxxxxx> wrote:
>>
>>> Afaik, it's not so hard to add new (empty) role right now.
>>>
>>>  1. you need to add new role in json file
>>> https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/fixtures/openstack.json#L19-L39
>>>
>>>  (pay attention that we have different parameters for each OS)
>>>
>>>  2. create default volume partitioning for your role
>>>
>>> https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/fixtures/openstack.json#L173-L189
>>>
>>>  3. and then upload fixture back to nailgun (or change them directly in
>>> DB)
>>>
>>>  4. add deployment order
>>> Multinode
>>> https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/orchestrator/deployment_serializers.py#L122-L132
>>>  HA
>>> https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/orchestrator/deployment_serializers.py#L269-L300
>>>
>>>  5. fix puppet manifests for you role (or just use separate
>>> provisioning to provision without deployment)
>>>
>>>  I'm not sure that UI will work correctly, but I think you will be able
>>> to deploy env via CLI.
>>>
>>>
>>> On Thu, Jan 16, 2014 at 3:29 PM, Vladimir Sharshov <
>>> vsharshov@xxxxxxxxxxxx> wrote:
>>>
>>>> If i correctly understand, we can not add nodes to cluster without
>>>> role. This fact block adding nodes with custom user configuration in
>>>> cluster, because when we start deploy, fake roles(without it nodes can not
>>>> be added to cluster) will be applied for this nodes.
>>>> In this case "Basic" or "Empty" role can help users to provision and
>>>> deploy custom nodes in Fuel cluster. Also can be useful ability to change
>>>> roles for nodes after provision but before deploy.
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Jan 16, 2014 at 2:39 PM, Dmitry Ilyin <dilyin@xxxxxxxxxxxx>wrote:
>>>>
>>>>> Yes, basic role would be a good idea. But now our concept of node
>>>>> roles if far from being flexible.
>>>>> We have a project to make deployment process granular and it will make
>>>>> custom roles possible.
>>>>>  Then there could be basic empty node and we would be able to add some
>>>>> roles to it
>>>>> or no roles if you would choose so.
>>>>>
>>>>>
>>>>>  2014/1/16 Gleb Galkin <ggalkin@xxxxxxxxxxxx>
>>>>>
>>>>>> Hello people,
>>>>>>
>>>>>> I think we need an "Empty Role" in FUEL.
>>>>>> In case that you need to provision OS and install mcollective without
>>>>>> syncing the manifests and running puppet agent.
>>>>>>
>>>>>> For example I have a project with Swift standalone. And I need to
>>>>>> provision OS to the bunch of nodes for further manual installation.
>>>>>> It looks convenient to have an empty role in this situation.
>>>>>> Please consider it.
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Best Regards,
>>>>>> Gleb Galkin
>>>>>> OpenStack Deployment Engineer
>>>>>>
>>>>>> Mirantis Inc.
>>>>>> www.mirantis.com
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mailing list: https://launchpad.net/~fuel-dev
>>>>>> Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
>>>>>> Unsubscribe : https://launchpad.net/~fuel-dev
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Mailing list: https://launchpad.net/~fuel-dev
>>>>> Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
>>>>> Unsubscribe : https://launchpad.net/~fuel-dev
>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>
>>>>>
>>>>
>>>> --
>>>> Mailing list: https://launchpad.net/~fuel-dev
>>>> Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~fuel-dev
>>>> More help   : https://help.launchpad.net/ListHelp
>>>>
>>>>
>>>
>>> --
>>> Mailing list: https://launchpad.net/~fuel-dev
>>> Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~fuel-dev
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>>
>>  --
>> If google has done it, Google did it right!
>>
>> --
>> Mailing list: https://launchpad.net/~fuel-dev
>> Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~fuel-dev
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
>
>
> --
> Best Regards,
> Gleb Galkin
> OpenStack Deployment Engineer
>
> Mirantis Inc. www.mirantis.com
>
>  -- Mailing list: https://launchpad.net/~fuel-dev Post to :
> fuel-dev@xxxxxxxxxxxxxxxxxxx Unsubscribe : https://launchpad.net/~fuel-devMore help :
> https://help.launchpad.net/ListHelp
>
> --
> Mailing list: https://launchpad.net/~fuel-dev
> Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~fuel-dev
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References