Skip to content

Use K8s etcd database to publish and fetch upgrade tests reports #3175

@cardil

Description

@cardil

Problem
PR #2388 introduced upgrade tests for eventing. In those I fetch execution report after the test. It's done with simple REST invocation. Drawback of this approach is the need to somehow connect to that REST endpoint from outside the cluster. It's done by getting external address of one of the nodes and usage of NodePort. @vaikas during PR review propose that maybe we can use K8s infrastructure itself, especially etcd database. I like this idea, as it will be K8s native and work in any K8s installation.

I think we can rewrite the REST endpoint code to be asynchronous, and work by requesting report being produced as a simple ConfigMap that contains JSON report. This request can be done, also by creating specific ConfigMap or maybe K8s Event object. Also, specific for upgrade test, request can also be omitted as there is already Finished event being propagated, so we can create a report after receiving it. I think that it might be useful to create a general purpose request-response framework, as it can be used to collect data from other types of e2e tests, not being related to eventing, even.

Persona:
Which persona is this feature for? Contributors

Exit Criteria
REST endpoint for upgrade tests is removed, as well as node IP resolver code. Execution report is fetch as a ConfigMap from the cluster.

Time Estimate (optional):
10d

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/test-and-releaseTest infrastructure, tests or releasekind/feature-requestpriority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next release.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions