Skip to content
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

Remove default value for gRPC transport-security #962

Closed
wants to merge 1 commit into from

Conversation

earies
Copy link
Contributor

@earies earies commented Sep 19, 2023

  • (M) release/models/system/openconfig-system-grpc.yang
    • Remove default value for gRPC transport-security since an
      implementation cannot enable by default without other mandatory
      TLS attributes

Change Scope

  • Remove default=true for gRPC transport-security. While it is
    recommended/preferred to enable transport-security, a YANG default here
    implies that the listening server has the ability to enable TLS without other
    mandatory parameters such as a certificate-id, mutual-authentication (and
    other future attributes for mutual-authentication that do not yet exist)

Platform Implementations

  • N/A

  * (M) release/models/system/openconfig-system-grpc.yang
    - Remove default value for gRPC transport-security since an
      implementation cannot enable by default without other mandatory
      TLS attributes
@earies earies requested a review from a team as a code owner September 19, 2023 18:36
@OpenConfigBot
Copy link

Major YANG version changes in commit f5788df:

@OpenConfigBot
Copy link

OpenConfigBot commented Sep 19, 2023

Compatibility Report for commit f5788df:
pyangbind@6b85c2b

@dplore
Copy link
Member

dplore commented Sep 21, 2023

Today managing certificate-id, mutual-authentication is done out of band/outside of openconfig.

With the introduction of gNSI certz and authz and bootz, this moves to explicitly defined interfaces.

With this momentum, I think the time has past to change this default.

@dplore dplore closed this Sep 21, 2023
@earies
Copy link
Contributor Author

earies commented Sep 21, 2023

Today managing certificate-id, mutual-authentication is done out of band/outside of openconfig.

With the introduction of gNSI certz and authz and bootz, this moves to explicitly defined interfaces.

With this momentum, I think the time has past to change this default.

I'm afraid you're missing the point that all of these projects are not going to be used by everyone concurrently but there is still a desire for only a subset - mainly YANG schemas and this node being a default=true is problematic for many reasons assuming some prior bootstrapping took place completely out-of-band. gNSI is not fully baked or adopted but there are real world deployments of this model set already for provisioning gRPC endpoints.

Also note that the nodes mentioned above still do exist in the schema set and there is no signal to the community or implementors that they are going away.

In addition, the other projects you mention are complementary to and possibly mutually exclusive to alternate methods of management. If there is a hard-set charter that gNSI is a must have for these provisions, I'm afraid this is going to gate adoption of these projects as it is then looking through a narrow lense.

The fact that it is default=true poses an issue for honoring defaults upon a plain server instance creation w/o other parameters.

@dplore
Copy link
Member

dplore commented Sep 26, 2023

Hi, thinking about this some more, I would like to understand the problem better. Let's discuss in more detail what is missing which makes having this enabled by default problematic. Then it can be more clear if these changes should be made or if the changes are so large in scope or infeasible such that transport-security should be disabled by default until the changes can be made.

Is the trouble with enabled by default is an issue regarding bootstrapping / initial configuration state of the device and where gRPC is enabled by default?

@dplore dplore reopened this Sep 26, 2023
@github-actions github-actions bot added the Stale label May 8, 2024
@github-actions github-actions bot closed this Jul 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants