Skip to content

Conversation

@hh
Copy link
Contributor

@hh hh commented May 15, 2018

No description provided.

@hh hh requested review from dankohn and rohfle May 15, 2018 03:18
README.md Outdated

![e2e_sunburst_screenshot.png](docs/images/e2e_sunburst_screenshot.png)

![our screenshot of the sorted APIs](docs/images/screenshot.png)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rohfle can you add the link/screenshot for the google sheet?

README.md Outdated
## Welcome to our really new / exploration level project.

### Why
Our initial goal is to provide a useful indicator as to which Kubernetes APIs are used the most and don't yet have conformance tests. This is specifically to ensure we are creating testing API's that are relevant, rather than just hitting all the endpoints. Our K8s API consumer/user journeys are an important model to drive this prioritization, in addition to providing insight into _how_ the APIs are being used.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove "creating"

README.md Outdated
## Welcome to our really new / exploration level project.

### Why
Our initial goal is to provide a useful indicator as to which Kubernetes APIs are used the most and don't yet have conformance tests. This is specifically to ensure we are creating testing API's that are relevant, rather than just hitting all the endpoints. Our K8s API consumer/user journeys are an important model to drive this prioritization, in addition to providing insight into _how_ the APIs are being used.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: s/API's/APIs

README.md Outdated
### Why
Our initial goal is to provide a useful indicator as to which Kubernetes APIs are used the most and don't yet have conformance tests. This is specifically to ensure we are creating testing API's that are relevant, rather than just hitting all the endpoints. Our K8s API consumer/user journeys are an important model to drive this prioritization, in addition to providing insight into _how_ the APIs are being used.

Our currently rough output is the most promising visualazion of how api groups endpoints and verbs are used today. The APISnoop Visualization presents in very clear terms how poor our current coverage actually is. Our high level graph shows our stable API's are mostly untested ( the grey outer donut sections).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo. please fix

@oomichi
Copy link

oomichi commented May 15, 2018

Thanks for doing this, @hh :-)
Most part is good for me, it is nice to fix Aish's points.

BTW, I have one question about this kind of thing. Do we want to count all APIs which include ones returned error status codes(like HTTP 404, etc) as tested? or do we want to count succeeded APIs only as we verify happy path of these APIs?

README.md Outdated

In order to identify target applications to test, we define a Kubernetes API Consumer as a _KAPIC_.

We inspect the [advanced audit logs](https://kubernetes.io/docs/tasks/debug-application-cluster/audit/) to describe which APIs are called during KAPIC operations. For our initial data run we installed a small set of KAPIC helm charts and observing which API groups are called. We used the [d3 libary](https://github.com/d3/d3/wiki/Gallery) to create [Sunburst Partition Graphs](https://bl.ocks.org/mbostock/4063423) center stable/beta/alpha with partitions for APIGroups then APICalls/Verbs.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/observing/observed

@AishSundar
Copy link

Thanks a lot for doing this @hh and also for the documentation :)

@AishSundar
Copy link

/lgtm

@hh
Copy link
Contributor Author

hh commented May 16, 2018

@oomichi regarding including 404s as tested:

If the e2e / conformance suite is hitting 404s, I think it should be considered a failed test.
As far as the graph of coverage, I'm unsure if the count of endpoints hitting a 404 (from the e2e suite) would be that large. We should dig into the data and see.

If KAPICs are hitting 404s, there is activity at that endpoint but it's likely that application isn't mean to run against that version of k8s. I think the number of 404s we see from applications should also be quite small. A larger data set (more applications) will give us a better understanding here.

We will try and streamline creating and contributing apisnoop data to get us there faster.

@hh hh merged commit 8ef23db into master May 16, 2018
@hh hh deleted the why-how branch May 16, 2018 21:49
zachmandeville added a commit that referenced this pull request Sep 20, 2020
show technical debt in conformance progress in top conformance progress chart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants