Server Role States
Stephen Gallagher
sgallagh at redhat.com
Thu Jun 12 14:01:44 UTC 2014
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 06/11/2014 10:15 PM, Simo Sorce wrote:
> On Tue, 2014-06-10 at 10:20 -0400, Stephen Gallagher wrote:
>> Thomas Woerner, Miloslav Trmač and I had a long discussion the
>> other day about how to handle states in the Role API. We came up
>> with the following approach:
>>
>> Persistent States: Nascent[1] (We know about the Role but have
>> not attempted to deploy it) ReadyToStart (It has been installed
>> and configured but is not running) Running (Self-explanatory)
>> Error (Something has gone wrong and needs to be corrected to
>> return the system to ReadyToStart[2])
>>
>> Transitional States (used to indicate that other clients should
>> not interfere): Deploying Decommissioning Starting Stopping
>>
>> I've attached a graphviz document and a rendered PNG of the
>> state diagram to hopefully make it clear. Comments and feedback
>> welcome, but our intent is to be off and implementing before the
>> end of the week.
>>
>>
>> [1] While we were discussing this, we had "Known, not deployed"
>> as a placeholder here. I think "nascent" covers this elegantly,
>> but if others have a better idea, the name is not set in stone.
>
> I find it hard to grok 'Nascent', aren't 'Available' or
> 'Deployable' better terms ?
I didn't like "Available" because to me it implies something similar
to ReadyToStart. Deployable is an option.
I picked nascent because of its definition:
"adj. just coming into existence and beginning to display signs of
future potential"
This seemed like *exactly* what this state is.
> Also ReadyToStart sound a bit long on my tongue, why not just
> 'Deployed', or even simply 'Ready' ? Otherwise if ReadyToStart is
> good, why not also ReadyToDeploy (instead of Nascent).
>
"Ready" implies to me that some action has already been taken.
> Sorry to bikeshed :/
>
Ultimately, these are just terms and will be documented with their
full meanings, so as long as they meet the "good enough" metric, let's
not waste much more time on them.
> Simo.
>
>> [2] There will be two ways to recover from the Error state. The
>> client can call deploy() again and fix the issue, or they can
>> call resetError() which will short-cut to ReadyToStart. This is
>> how they can proceed if they choose to fix the error with manual
>> edits that the API doesn't understand. resetError() should be a
>> last resort. _______________________________________________
>> server mailing list server at lists.fedoraproject.org
>> https://admin.fedoraproject.org/mailman/listinfo/server
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlOZssgACgkQeiVVYja6o6N+LACgkPq+ffJ43f+ssBMJX1me7M8R
YwAAnRPq6k4ahGxk+jh7efyj2M0ssYuV
=BSJk
-----END PGP SIGNATURE-----
More information about the server
mailing list