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

Create the node functionalities for IBMCloud with Bare Metal #9202

Conversation

yitzhak12
Copy link
Contributor

@yitzhak12 yitzhak12 commented Jan 21, 2024

Create the node functionalities for IBMCloud with Bare Metal.
I used the IBM docs: https://cloud.ibm.com/docs/cli?topic=cli-sl-manage-bare-metal.
In this PR, I implemented the following:

  • Create a new class IBMCloudBMNodes, in the platform_nodes file for HCI IBMCloud with Bare Metal.
  • Create a new utility file ocs_ci/utility/ibmcloud_bm.py, for HCI IBMCloud with Bare Metal.
  • Create a new test file tests/functional/z_cluster/nodes/test_nodes_restart_hci.py, for testing the node restart scenarios for HCI IBMCloud with Bare Metal.

I am still not testing termination and creating new machines, as I need more information.
Also, I didn't use IO in the test file cause we still need to figure out the best way to run IO on multiple clients. I will add it in the next PR.

@yitzhak12 yitzhak12 added the provider-client Provider-client solution label Jan 21, 2024
@yitzhak12 yitzhak12 requested a review from a team as a code owner January 21, 2024 17:08
@pull-request-size pull-request-size bot added the size/L PR that changes 100-499 lines label Jan 21, 2024
@yitzhak12 yitzhak12 force-pushed the add-hci-baremetal-node-platform-functionalities branch 2 times, most recently from 38b020f to 514ceea Compare January 25, 2024 17:14
@pull-request-size pull-request-size bot added size/XL and removed size/L PR that changes 100-499 lines labels Jan 25, 2024
@yitzhak12 yitzhak12 changed the title WIP: Create the node functionalities for IBMCloud with Bare Metal Create the node functionalities for IBMCloud with Bare Metal Jan 28, 2024
@yitzhak12 yitzhak12 force-pushed the add-hci-baremetal-node-platform-functionalities branch 2 times, most recently from 6b0e84d to 7e8798c Compare February 1, 2024 14:40
…le for testing the node restart functionalities, Add a new marker 'provider_client_platform_required'

Signed-off-by: Itzhak Kave <[email protected]>
@yitzhak12 yitzhak12 force-pushed the add-hci-baremetal-node-platform-functionalities branch from 7e8798c to 1a7cb46 Compare February 1, 2024 16:20
@yitzhak12
Copy link
Contributor Author

I successfully ran a PR validation job on two tests: https://ocs4-jenkins-csb-odf-qe.apps.ocp-c1.prod.psi.redhat.com/job/qe-deploy-ocs-cluster/33288/

@yitzhak12 yitzhak12 added the Verified Mark when PR was verified and log provided label Feb 1, 2024
@DanielOsypenko
Copy link
Contributor

hello @yitzhak12.
Do we need these utility tests in 4a, 4b?

This would not be an ODF tests, but the tests for IBM Cloud BM interface and infrastructure. May I advice to move them to lib tests to avoid effecting 4a, 4b test runs.

@fbalak
Copy link
Contributor

fbalak commented Feb 2, 2024

hello @yitzhak12. Do we need these utility tests in 4a, 4b?

This would not be an ODF tests, but the tests for IBM Cloud BM interface and infrastructure. May I advice to move them to lib tests to avoid effecting 4a, 4b test runs.

Those tests look like valid tier4 tests to me. Test scenarios are done on clusters with installed odf and the storage health that can be affected by those scenarios is checked after each operation.

fbalak
fbalak previously approved these changes Feb 2, 2024
@@ -2434,3 +2434,6 @@
OPERATION_START = "start"
OPERATION_RESTART = "restart"
OPERATION_TERMINATE = "terminate"

# HCI Bare Metal platform
HCI_BAREMETAL_DEFAULT_REGION = "us-east"
Copy link
Contributor

Choose a reason for hiding this comment

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

It would be better to get this value from config.

DanielOsypenko
DanielOsypenko previously approved these changes Feb 2, 2024
),
],
)
def test_nodes_restart_by_stop_and_start(self, cluster_type, nodes, node_type):
Copy link
Contributor

Choose a reason for hiding this comment

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

missed Polarion-id?

pytest.param(*[HCI_PROVIDER, constants.WORKER_MACHINE]),
],
)
def test_node_maintenance_restart(self, cluster_type, nodes, node_type):
Copy link
Contributor

Choose a reason for hiding this comment

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

missed polarion-id

- add one Polarion ID, and create two new Polarion IDs
- Add the 'region' param to the config file
- Increase timeout waiting for the pods
- Fix the init method of the class 'IBMCloudBM'

Signed-off-by: Itzhak Kave <[email protected]>
@yitzhak12 yitzhak12 dismissed stale reviews from DanielOsypenko and fbalak via e3d4e7a February 5, 2024 09:51
@openshift-ci openshift-ci bot removed the lgtm label Feb 5, 2024
@yitzhak12
Copy link
Contributor Author

@openshift-ci openshift-ci bot added the lgtm label Feb 5, 2024
Copy link

openshift-ci bot commented Feb 5, 2024

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: DanielOsypenko, fbalak, yitzhak12

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

@yitzhak12
Copy link
Contributor Author

I successfully deployed an AWS 4.15 cluster using the PR: https://ocs4-jenkins-csb-odf-qe.apps.ocp-c1.prod.psi.redhat.com/job/qe-deploy-ocs-cluster/33411/

@fbalak fbalak merged commit 48160dd into red-hat-storage:master Feb 5, 2024
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm provider-client Provider-client solution size/XL Verified Mark when PR was verified and log provided
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants