[openstack-dev] [Horizon] [All?] "Status" vs "State"
Jay Pipes
jaypipes at gmail.com
Thu Oct 2 19:47:26 UTC 2014
On 10/02/2014 03:14 PM, Chris Friesen wrote:
> On 10/01/2014 12:37 PM, Jay Pipes wrote:
>
>> IMO, the term "state" should be the only one used in the OpenStack APIs
>> to refer to the condition of some thing at a point in time. The term
>> "state" can and should be prefaced with a refining descriptor such
>> "task" or "power" to denote the *thing* that the state represents a
>> condition for.
>>
>> One direct change I would make would be that Neutron's "admin_state_up"
>> field would be instead "admin_state" with values of UP, DOWN (and maybe
>> UNKNOWN?) instead of having the *same* GET /networks/{network_id} call
>> return *both* a boolean "admin_state_up" field *and* a "status" field
>> with a string value like "ACTIVE". :(
>
> Hi Jay,
>
> I wonder if this would tie into our other discussion about
> distinguishing between the "desired state" vs the "actual state".
> Conceivably you could have the "admin state" be UP, but a fault has
> resulted in an "actual state" other than "ACTIVE".
My comment above was about the inconsistency of how things are named and
the data types representing them. There is a status field of type
string, and an admin_state_up field of type boolean, both in the same
response. Why wasn't it called admin_state and made a string field to
follow the convention of the status field? I'm guessing it probably has
to do with the telecom IT recommendations you cite below...
> As a reference point, CCITT X.731 goes into huge detail about state and
> status. They define three orthogonal types of state (operational,
> usage, and administrative), and many types of status (availability,
> alarm, control, etc.) I'm not suggesting that OpenStack should use
> those exact terms
The very last thing I believe OpenStack should use as a reference is
anything the telecommunications IT industry has put together as a
recommendation.
If we do use telecom IT as a guide, we'll be in a worse state (pun
intended), ease-of-use and user-friendliness-wise, than we already are,
and literally every API will just be a collection of random three and
four letter acronyms with nobody other than a veteran network engineer
understanding how anything works.
In other words, all our APIs would look like the Neutron API as it
exists today.
>, but it suggests that some people have found it useful
> to have state along multiple axes rather than trying to stuff everything
> into a single variable.
I'm not opposed to using multiple fields to indicate state; I thought I
was pretty clear about that in my initial response?
Best,
-jay
More information about the OpenStack-dev
mailing list