kubernetes-sigs / e2e-framework

A Go framework for end-to-end testing of components running in Kubernetes clusters.
Apache License 2.0
526 stars 101 forks source link

envconf: use crypto/rand for random name generator #439

Closed harshanarayana closed 4 months ago

harshanarayana commented 4 months ago

What type of PR is this?

/kind bug

What this PR does / why we need it:

Currently, the method used to generate random name was relying on math/rand. Switching that to crypto/rand provide more randomness and better behavior.

Though it is not that important to use cryptographically secure randomness, it is better to do that and avoid possible collisions.

xref: https://kubernetes.slack.com/archives/C09QZ4DQB/p1720721136199309

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Added a test to account for and validate possible duplicate of random name generation.

Does this PR introduce a user-facing change?

switched to using `crypto/rand` instead of `math/rand` for generating random names using `envfunc.RandomName` handler. 

Additional documentation e.g., Usage docs, etc.:

k8s-ci-robot commented 4 months ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cpanato, harshanarayana

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[OWNERS](https://github.com/kubernetes-sigs/e2e-framework/blob/main/OWNERS)~~ [cpanato,harshanarayana] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment