Skip to content

Conversation

pawanpinjarkar
Copy link
Contributor

Automates OVE cluster installation using the Go-based library go-rod in headless mode. The workflow fills in cluster details, captures screenshots for each step, downloads credentials, and triggers the install action without requiring a visible browser.

Verification steps include:

  • Confirming cluster installation completion
  • Running oc get nodes, oc get clusterversion, oc get packagemanifests and oc wait clusterversion version --for=condition=Available=True --timeout=60m
  • Ensuring the number of nodes matches values defined in dev-scripts

Set

export AGENT_E2E_TEST_BOOT_MODE=ISO_NO_REGISTRY
export AGENT_RENDEZVOUS_NODE_HOSTNAME="${CLUSTER_NAME:-ostest}_master_2"
export OPENSHIFT_RELEASE_IMAGE=quay.io/openshift-release-dev/ocp-release:4.19.9-x86_64

Then run make agent

Automates OVE cluster installation using the Go-based library `go-rod` in headless mode.
The workflow fills in cluster details, captures screenshots for each step, downloads
credentials, and triggers the install action without requiring a visible browser.

Verification steps include:
- Confirming cluster installation completion
- Running `oc get nodes`, `oc get clusterversion`, `oc get packagemanifests` and `oc wait clusterversion version --for=condition=Available=True   --timeout=60m`
- Ensuring the number of nodes matches values defined in dev-scripts
@openshift-ci openshift-ci bot requested review from bfournie and rwsu September 12, 2025 12:56
Copy link

openshift-ci bot commented Sep 12, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign elfosardo for approval. For more information see the Code Review Process.

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

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@pawanpinjarkar
Copy link
Contributor Author

/cc @andfasano

@openshift-ci openshift-ci bot requested a review from andfasano September 12, 2025 13:26
Copy link
Member

@andfasano andfasano left a comment

Choose a reason for hiding this comment

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

Thanks @pawanpinjarkar for the update, it's definitely an improvement and the number of vendored files has been reduced. The post validation part still needs some additional tweaks.
This version looks good for having a better CI job, but once consolidated though, I'd prefer to find a way to remove such all golang files from this repo, so I'd advise to schedule a card for such task

exit 0
oc wait clusterversion version --for=condition=Available=True --timeout=60m
oc get csv -A
oc get packagemanifests -n openshift-marketplace
Copy link
Member

Choose a reason for hiding this comment

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

What are these two commands for? It doesn't seem they are testing anything. I was expecting a more explicit check on the list of installed operators

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oc get csv -A is not useful seems like. oc get packagemanifests -n openshift-marketplace gives a list of operators , e.g.

oc get packagemanifests -n openshift-marketplace 
Member
NAME                                CATALOG   AGE
kubernetes-nmstate-operator                   3d20h
kubevirt-hyperconverged                       3d20h
node-healthcheck-operator                     3d20h
fence-agents-remediation                      3d20h
mtv-operator                                  3d20h
cluster-kube-descheduler-operator             3d20h
node-maintenance-operator                     3d20h

Copy link
Contributor Author

Choose a reason for hiding this comment

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

What are these two commands for? It doesn't seem they are testing anything. I was expecting a more explicit check on the list of installed operators

Could you suggest what else we should be testing?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

exit 1
fi

oc get clusterversion
Copy link
Member

Choose a reason for hiding this comment

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

And also this one

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I thought this to be a good way to see the cluster version
e.g. oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.19.7 True False 3d19h Error while reconciling 4.19.7: the cluster operator insights is not available

rendezvousIP=$(getRendezvousIP)
get_vips
# Simulate user actions as done on the webUI and start cluster installation
RENDEZVOUS_IP=$rendezvousIP OCP_DIR=$OCP_DIR INGRESS_VIP=$INGRESS_VIPS API_VIP=$API_VIPS go run -mod vendor agent/isobuilder/ui_driven_cluster_installation.go
Copy link
Member

Choose a reason for hiding this comment

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

Not a blocking point, but wouldn't it have been simpler to pass them as a regular args?

@andfasano
Copy link
Member

@pawanpinjarkar it looks like the no-registry-compact-ipv4 job is still failing

@pawanpinjarkar
Copy link
Contributor Author

/retest e2e-agent-iso-no-registry-compact-ipv4

Copy link

openshift-ci bot commented Sep 12, 2025

@pawanpinjarkar: The /retest command does not accept any targets.
The following commands are available to trigger required jobs:

/test e2e-agent-compact-ipv4
/test e2e-metal-ipi-bm
/test e2e-metal-ipi-ovn-ipv6
/test e2e-metal-ipi-serial-ipv4-1of2
/test e2e-metal-ipi-serial-ipv4-2of2
/test images

The following commands are available to trigger optional jobs:

/test e2e-agent-4control-ipv4
/test e2e-agent-5control-ipv4
/test e2e-agent-bad-dns
/test e2e-agent-ha-dualstack
/test e2e-agent-iso-no-registry-compact-ipv4
/test e2e-agent-sno-ipv6
/test e2e-metal-ipi-bm-bond
/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn-dualstack-v6
/test e2e-metal-ipi-serial-ovn-ipv6
/test e2e-metal-ipi-upgrade
/test e2e-metal-ipi-upgrade-ovn-ipv6
/test e2e-metal-ipi-virtualmedia
/test e2e-metal-ovn-arbiter

Use /test all to run the following jobs that were automatically triggered:

pull-ci-openshift-metal3-dev-scripts-master-e2e-agent-4control-ipv4
pull-ci-openshift-metal3-dev-scripts-master-e2e-agent-5control-ipv4
pull-ci-openshift-metal3-dev-scripts-master-e2e-agent-bad-dns
pull-ci-openshift-metal3-dev-scripts-master-e2e-agent-compact-ipv4
pull-ci-openshift-metal3-dev-scripts-master-e2e-agent-ha-dualstack
pull-ci-openshift-metal3-dev-scripts-master-e2e-agent-iso-no-registry-compact-ipv4
pull-ci-openshift-metal3-dev-scripts-master-e2e-agent-sno-ipv6
pull-ci-openshift-metal3-dev-scripts-master-e2e-metal-ipi-bm
pull-ci-openshift-metal3-dev-scripts-master-e2e-metal-ipi-bm-bond
pull-ci-openshift-metal3-dev-scripts-master-e2e-metal-ipi-ovn-dualstack
pull-ci-openshift-metal3-dev-scripts-master-e2e-metal-ipi-ovn-ipv6
pull-ci-openshift-metal3-dev-scripts-master-e2e-metal-ipi-serial-ipv4-1of2
pull-ci-openshift-metal3-dev-scripts-master-e2e-metal-ipi-serial-ipv4-2of2
pull-ci-openshift-metal3-dev-scripts-master-e2e-metal-ipi-serial-ovn-ipv6
pull-ci-openshift-metal3-dev-scripts-master-e2e-metal-ipi-virtualmedia
pull-ci-openshift-metal3-dev-scripts-master-e2e-metal-ovn-arbiter
pull-ci-openshift-metal3-dev-scripts-master-images

In response to this:

/retest e2e-agent-iso-no-registry-compact-ipv4

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@pawanpinjarkar
Copy link
Contributor Author

@pawanpinjarkar it looks like the no-registry-compact-ipv4 job is still failing

The job is not passing from past few days. Will take a look. Thanks.

@pawanpinjarkar
Copy link
Contributor Author

/test e2e-agent-iso-no-registry-compact-ipv4

1 similar comment
@pawanpinjarkar
Copy link
Contributor Author

/test e2e-agent-iso-no-registry-compact-ipv4

@pawanpinjarkar
Copy link
Contributor Author

The assisted UI does not come up while this is not the same behaviour locally.

@pawanpinjarkar
Copy link
Contributor Author

/test e2e-agent-iso-no-registry-compact-ipv4

@pawanpinjarkar
Copy link
Contributor Author

/test e2e-agent-iso-no-registry-compact-ipv4

4 similar comments
@pawanpinjarkar
Copy link
Contributor Author

/test e2e-agent-iso-no-registry-compact-ipv4

@pawanpinjarkar
Copy link
Contributor Author

/test e2e-agent-iso-no-registry-compact-ipv4

@pawanpinjarkar
Copy link
Contributor Author

/test e2e-agent-iso-no-registry-compact-ipv4

@pawanpinjarkar
Copy link
Contributor Author

/test e2e-agent-iso-no-registry-compact-ipv4

@pawanpinjarkar pawanpinjarkar force-pushed the automate-ove-cluster-installation branch from 16d6693 to a99c2a3 Compare September 23, 2025 20:10
@pawanpinjarkar
Copy link
Contributor Author

/test e2e-agent-iso-no-registry-compact-ipv4

@pawanpinjarkar
Copy link
Contributor Author

Looks like a temp glitch. All jobs failed. Error when getting collection version metadata for community.general:5.8.6 from default (https://galaxy.ansible.com/api/) (HTTP Code: 502, Message: Bad Gateway Code: Unknown)

@pawanpinjarkar
Copy link
Contributor Author

/test e2e-agent-iso-no-registry-compact-ipv4

@pawanpinjarkar
Copy link
Contributor Author

/test e2e-agent-iso-no-registry-compact-ipv4

@pawanpinjarkar
Copy link
Contributor Author

/test e2e-agent-iso-no-registry-compact-ipv4

Copy link

openshift-ci bot commented Sep 24, 2025

@pawanpinjarkar: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-agent-4control-ipv4 f687a9f link false /test e2e-agent-4control-ipv4
ci/prow/e2e-agent-ha-dualstack f687a9f link false /test e2e-agent-ha-dualstack
ci/prow/e2e-agent-sno-ipv6 f687a9f link false /test e2e-agent-sno-ipv6
ci/prow/e2e-metal-ipi-bm-bond f687a9f link false /test e2e-metal-ipi-bm-bond
ci/prow/e2e-metal-ipi-bm f687a9f link true /test e2e-metal-ipi-bm
ci/prow/e2e-agent-iso-no-registry-compact-ipv4 f687a9f link false /test e2e-agent-iso-no-registry-compact-ipv4

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@pawanpinjarkar pawanpinjarkar marked this pull request as draft September 25, 2025 19:50
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants