← Back to team overview

fuel-dev team mailing list archive

Re: feature request: Empty role

 

Mike,

According to what Andrew has found out it's even worse: you can't even
provision a node without a role, because the partition manager expects
Cobbler to provide disk allocation information (ks_spaces) that is
generated based on roles assigned to the node and isn't generated at
all if no role was assigned. Provisioning would fail at disk
partitioning stage.

-DmitryB

On Fri, Jan 17, 2014 at 2:21 PM, Mike Scherbakov
<mscherbakov@xxxxxxxxxxxx> wrote:
>
> 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-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
>



-- 
Dmitry Borodaenko


Follow ups

References