← Back to team overview

fuel-dev team mailing list archive

Re: feature request: Empty role

 

The empty role is needed for both mine and Gleb's use case, It's needed to
do things like deploy stand-alone swift like we used to in 3.1


On Fri, Jan 17, 2014 at 2:57 PM, Dmitry Borodaenko <dborodaenko@xxxxxxxxxxxx
> wrote:

> 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
>
> --
> 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!

Follow ups

References