-
Notifications
You must be signed in to change notification settings - Fork 105
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
integrate netobserv to reliability tests #798
base: master
Are you sure you want to change the base?
Changes from 6 commits
370e012
d9929c3
60ce171
38b34a1
e297dec
12ddc74
44442e2
967ee96
b27f657
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
apiVersion: operators.coreos.com/v1alpha1 | ||
kind: CatalogSource | ||
metadata: | ||
name: qe-app-registry | ||
namespace: openshift-marketplace | ||
spec: | ||
displayName: QE Catalog | ||
image: quay.io/openshift-qe-optional-operators/aosqe-index:v${CLUSTER_VERSION} | ||
sourceType: grpc | ||
--- | ||
apiVersion: operator.openshift.io/v1alpha1 | ||
kind: ImageContentSourcePolicy | ||
metadata: | ||
name: brew-registry | ||
spec: | ||
repositoryDigestMirrors: | ||
- mirrors: | ||
- brew.registry.redhat.io | ||
source: registry.redhat.io | ||
- mirrors: | ||
- brew.registry.redhat.io | ||
source: registry.stage.redhat.io | ||
- mirrors: | ||
- brew.registry.redhat.io | ||
source: registry-proxy.engineering.redhat.com |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -399,3 +399,42 @@ def shell_task(self,task,user,group_name): | |
task_name=task[start_index+1:] | ||
self.__log_result(rc,task_name) | ||
return (result,rc) | ||
|
||
# check flowcollector status for netobserv | ||
def check_flowcollector(self, user): | ||
self.logger.info(f"[Task] User {user}: check flowcollector") | ||
# Check if nodes are Ready | ||
(result, rc) = oc( | ||
f"get flowcollector --no-headers| grep -v ' Ready'", | ||
self.__get_kubeconfig(user), | ||
ignore_log=True, | ||
ignore_slack=True, | ||
) | ||
if rc == 0: | ||
self.logger.error(f"Flowcollector is not Ready: {result}") | ||
slackIntegration.error(f"Flowcollector not Ready: {result}") | ||
rc_return = 1 | ||
elif rc == 1 and result == "": | ||
self.logger.info(f"Flowcollector is Ready.") | ||
rc_return = 0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @memodi You can add an 'else' to cover the rest of the cases: rc == 1 and result != "", or rc !=1. And log the result to see what you can get. |
||
return (result, rc_return) | ||
|
||
# check netobserv pods health | ||
def check_netobserv_pods(self, user): | ||
self.logger.info(f"[Task] User {user}: check pods") | ||
# Check if nodes are Ready | ||
for ns in ("netobserv", "netobserv-privileged"): | ||
(result, rc) = oc( | ||
f"get pods -n ${ns} -o wide --no-headers| grep -v ' Ready'", | ||
self.__get_kubeconfig(user), | ||
ignore_log=True, | ||
ignore_slack=True, | ||
) | ||
if rc == 0: | ||
self.logger.error(f"Some pods are not Ready in ${ns} ns: {result}") | ||
slackIntegration.error(f"Some pods are not Ready in ns ${ns}: {result}") | ||
rc_return = 1 | ||
elif rc == 1 and result == "": | ||
self.logger.info(f"Pods in ns ${ns} are healthy.") | ||
rc_return = 0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same comment as above. |
||
return (result, rc_return) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@qiliRedHat do you want this to be separate config? I was thinking to have these tasks under standard reliability tasks and we'd have these checks run always.
Of course that also means we'd have to change netobserv operator would be installed by default for all reliability
runs and optionally exclude it, current implementation in start.sh is inverse, wdyt? this would be the initial idea had discuss so that netobserv could piggyback off your standard reliability runs.
If we have netobserv install by default, we'd need to up standard instance types or somehow have configuration that would accommodate Loki resource requirements, couple of questions here:
Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@memodi Reliability test has many test profiles, consider of the cost, I don't want to have noo on all profiles by default. Usually there is no infra nodes in reliability test. But reliability has the option to configure it with -i in start.sh, default size should be same as the worker, size can be configured.
If test it once (7 days) a release, I think we can do m5.2xlarge on one of the profiles.