-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor Control API #305
Refactor Control API #305
Conversation
…c-generator/models into control-api-refactor
…c-generator/models into control-api-refactor
I've added a description for what is the configuration of ping request used (e.g. ping packet count, timeout value, etc.), but unfortunately it's not showing up in redocly. Kindly review the YAML for same. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple of new comments. Rest looks good.
Request for initiating ping between a single source and destination pair. | ||
|
||
For ping request, 1 IPv4 ICMP Echo Request shall be sent and wait for ping response to | ||
either succeed or time out. The API wait timeout for each request shall be 300ms. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did we pick 300ms?
Also, the description doesn't specify if the pings are sent serially or in parallel in case more than one are initiated in the request. Is it up to the implementation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The value 300ms was arbitrarily picked as currently we're not allowing users to pick any other ping parameters. There's only one ping packet sent as per the description (instead of multiple packages, which would entail description about whether it's serial or concurrent).
I have also marked this schema with x-status: under-review
as the parameters to be provided for ping request is still TBD. Ideally the parameters needn't be mentioned in schema description.
description: >- | ||
Sets all configured protocols to `start` or `stop` state. | ||
|
||
Setting protocol state to `start` shall be a no-op if preceding `set_config` API call |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should it also result in a warning?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed, I've opened a separate issue to document warnings in other places too (including this one).
properties: | ||
choice: | ||
type: string | ||
x-enum: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will we have any other option besides admin
in the future? I mean do we need the choice here or can we just expose the properties here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we could have session
state which is different from admin
state. In general, we'll end up having a separate schema object for every protocol which in-turn shall encapsulate different kinds of operational states.
Check documentation here.
What has changed (and why) ?
control state
andcontrol action
capture
,states
andmetrics
under one category calledMonitor
.captured packets
which traditionally doesn't fit the openconfig's interpretation of telemetry.result
is no longer an appropriate terminology because they more closely imply "one-off output" instead of "ever changing output".What's pending ?
warnings
as an additional output formetrics
/states
. As of today, there's no way to return warning in those scenarios.Backwards Compatibility
/results/*
->/monitor/*
Examples
Before
After