-
Notifications
You must be signed in to change notification settings - Fork 3
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
Is /GetSerial meant to list data for child groups recursively? Is /GetOwnershipVoucher expected to create an OV using a PDC in the parent group? #4
Comments
Hi. I do not believe that there are any recursive/tree-walking operations in ovgs. An operation taking a group argument only affects that group. Each child_group_ids must be resolved manually. WRT the PDC; yes, I expect that any PDC in a parent group, reaching from a subgroup all the way to the root, which the calling role has permissions to create OVs, could be used. This would reflect the permissions resolution; a user inherits permissions for a subgroup from its parents, if it does not have a specific entry in the subgroups' "users" field. @sulrich might confirm/comment on these. |
wrt, wrt, to PDC inheritance, if nothing's specified i would expect it to use the nearest inherited PDC. cc: @harshitk-arista for additional color. |
Note that the permission model is hierarchical (who gets to invoke certain operations via the corresponding RPC), based on the role and group a user is assigned to for a particular group in the heirarchy, the usage of the certs and serials is not. When generating vouchers (via GetOwnershipVoucherRequest), the component and the cert has to be supplied. Based on the calling clients group membership and role, it is checked whether the client is authorized to invoke this operation. It is however necessary to set a PDC with the group and we do not use the nearest inherited PDC. This is what the 3 predetermined roles correspond to. Typically - |
@pranav-jnpr has this discussion resolved the question? |
As per the service usage example, /GetSerial is used to get ALL the component IDs which are part of the root-group "org-acme" -
https://github.com/openconfig/ovgs/blob/main/docs/service-overview.md#getting-all-serial-numbers.
However at this stage in the sample workflow, no sub-groups have been defined. What is the intended usage of the /GetGroup RPC when the sub-groups have been defined, and the components have been moved under their respective groups? Consider a case where there are no orphaned components directly under the root group - all of them have been assigned to their respective sub-groups - should a /GetGroup call to 'org-acme' recursively list ALL components within the sub-groups?
On the similar note, if there is a PDC assigned to a parent group, is the service expected to allow creation of a corresponding OwnershipVoucher using the PDC in the parent group for a component which is placed in one of the child groups?
The text was updated successfully, but these errors were encountered: