Skip to content

Conversation

jdef
Copy link
Member

@jdef jdef commented Apr 4, 2019

xref #355

James DeFelice added 7 commits April 4, 2019 14:52
Enumerations, fields, messages, methods, and services support
`alpha_xxx` designations, indicating that they are part of an
experimental feature that may never evolve to "stable" status.
A new AlphaFeature message type was added for each of the plugin,
controller, and node services. Experimental features supported by the SP
should be advertised via one or more of the following RPCs:

* Identity.GetPluginCapabilities
* Controller.ControllerGetCapabilities
* Node.NodeGetCapabilities
Mock up of an experimental API to support tape rotation for plugin
controllers. Note the RPC as well as each of the newly added request and
response types has been labeled with an `alpha_xxx` marker option.
Mock up of an experimental API to advertise volume usage in units of
quarks. Note the addition of the `alpha_enum_value` marker option to the
newly added enum value.
Mock up of an experimental API to communicate the data lineage of a
volume. Note that the newly added field has the `alpha_field` marker
option set, as well as that the newly added message has a similar alpha
marker.

See https://en.wikipedia.org/wiki/Data_lineage
Mock up of an experimental object storage API. Note the use of the
`alpha_service` marker option for the new gRPC service, as well as the
additional `alpha_xxx` markers for the new RPCs and top-level
request/response messages.
// releases.
bool alpha_message = 1060;
}
extend google.protobuf.MethodOptions {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to allow this?

My understanding after the call was that we allow new fields in the main spec on existing RPCs with a experimental tag. But we force new RPCs in to a separate new experimental service (potentially in a different file).


rpc ObjectStoreRead(ObjectStoreReadRequest)
returns (ObjectStoreReadResponse) {
option (alpha_method) = true;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's arguable that marking the method as alpha is redundant because the entire service is already alpha.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants