← Back to team overview

fuel-dev team mailing list archive

Re: [fuel-dev] single node HA controllers proposal

 

+1

I suppose nobody uses Simple deployment mode for production anyway. Simple
mode is useful for testing, because it allows us to deploy OS and check
functionality on a small amount of nodes/VMs. So if we can have the same
benefits (2-3 nodes to test deployment and functionality) in HA mode, then,
IMO, we can get rid of Simple mode.


On Fri, Mar 7, 2014 at 3:48 AM, Dmitry Borodaenko
<dborodaenko@xxxxxxxxxxxx>wrote:

> Nice epiphany! +100500
>
> On Thu, Mar 6, 2014 at 5:30 PM, Andrew Woodward <xarses@xxxxxxxxx> wrote:
> > After speaking with the TrippleO folks about how they want to
> > transition from supporting single controller plane, to only supporting
> > HA controller plane, but allowing a controller plane to scale down to
> > 1. I thought, why don't we do that?
> >
> > Why should we:
> > 1) Starting with a control plane that is HA ready has been requested
> > multiple times
> > 2) It gets rid of all kinds of separate code-paths to support two
> > deployment types
> > 3) It ensures that more code and components of HA are tested
> > 4) It reduces the amount of unit tests that are needed to support
> > testing both deployment types
> > 5) It helps to ensure that scale up, scale swap (replace failed nodes)
> > and later down are handled better.
> >
> > And best of all, it already works! I've tested with only the patch
> > below. We can deploy 1 controller and then add 2, and 3 with out any
> > observed problems (OSTF passes in both cases)
> >
> > To enable for the fuel CLI
> >
> > diff --git a/nailgun/nailgun/task/task.py b/nailgun/nailgun/task/task.py
> > index b4a3985..bfd2e8d 100644
> > --- a/nailgun/nailgun/task/task.py
> > +++ b/nailgun/nailgun/task/task.py
> > @@ -438,9 +438,9 @@ class CheckBeforeDeploymentTask(object):
> >              raise errors.NotEnoughControllers(
> >                  "Not enough controllers, %s mode requires at least 1 "
> >                  "controller" % (cluster_mode))
> > -        elif cluster_mode == 'ha_compact' and controllers_count < 3:
> > +        elif cluster_mode == 'ha_compact' and controllers_count < 1:
> >              raise errors.NotEnoughControllers(
> > -                "Not enough controllers, %s mode requires at least 3 "
> > +                "Not enough controllers, %s mode requires at least 1 "
> >                  "controllers" % (cluster_mode))
> >
> > --
> > 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
>

References