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

Randomness in resource names obstructs more fine-grained oracle implementation #32

Open
marshtompsxd opened this issue Oct 14, 2021 · 0 comments
Assignees
Labels
help wanted Extra attention is needed

Comments

@marshtompsxd
Copy link
Member

marshtompsxd commented Oct 14, 2021

We generate the cluster state history and final cluster state and build our general-purpose oracles (event-oracle and resource-oracle) on top of them. The general-purpose oracles simply compare the history (creation/deletion events) and the final state across learning/testing runs. They do not require any knowledge specific to a controller and can be applied to every controller.

Ideally, we want to compare every field (e.g., replica, status) of every resource (e.g., pod, statefulset). However, we find that in k8s cluster resources tend to have random names. We identified two types of random names so far:

  1. the random name derived from generateName. This usually happens to pods belonging to a deployment. A deployment mydeployment can own a pod with a random name mydeployment-12ab5.
  2. the random name w/o generateName. For example sometimes secret objects have fully random names.

These random names are causing trouble in comparing the state/history: for example, say we observe a secret named mysecret-12ab5 in learning run (but not in testing run) and a secret named mysecret-09zy8 in testing run (but not in learning run), we have no way to tell whether they two logically represent the same resource and should be compared. Simply comparing the two resources that are not logically the same one can lead to confusing false alarms.

Currently, when encountering the above situation, we have to mask the value of such resources and only leverage very limited information (say the number of secrets) in the oracle. We welcome any help that can eliminate the randomness in the resource name, which can help us build better oracles.

@marshtompsxd marshtompsxd added the help wanted Extra attention is needed label Oct 14, 2021
@marshtompsxd marshtompsxd self-assigned this Oct 14, 2021
@marshtompsxd marshtompsxd changed the title Randomness in resource names that prevents more fine-grained oracle implementation Randomness in resource names prevents more fine-grained oracle implementation Oct 14, 2021
@marshtompsxd marshtompsxd changed the title Randomness in resource names prevents more fine-grained oracle implementation Randomness in resource names obstructs more fine-grained oracle implementation Oct 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant