Skip to content

Conversation

eggfoobar
Copy link
Contributor

No description provided.

@eggfoobar eggfoobar changed the title feat: add support for TNF agent based install OCPEDGE-2196: feat: add support for TNF agent based install Sep 24, 2025
@eggfoobar
Copy link
Contributor Author

/retest-required

@eggfoobar eggfoobar force-pushed the add-agent-based-tnf-support branch from 9f88a96 to 3fd5bcd Compare September 30, 2025 03:14
@eggfoobar
Copy link
Contributor Author

/retest-required

1 similar comment
@eggfoobar
Copy link
Contributor Author

/retest-required

# and used as reference for TNF configurations.
export ENABLE_TWO_NODE_FENCING=""
if [[ ${NUM_ARBITERS} -eq 0 ]] && [[ ${NUM_MASTERS} -eq 2 ]]; then
export ENABLE_TWO_NODE_FENCING="true"
Copy link
Member

Choose a reason for hiding this comment

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

This is a little bit confusing for me. Below there is already a logic to enable the 2n fendince when the AGENT_E2E_TEST_SCENARIO is TNF, which makes sense to me.

Here I was expecting something more like

export ENABLE_TWO_NODE_FENCING=${ENABLE_TWO_NODE_FENCING:"false"}

Either to avoid an unset var either to allow the user to override it if required (usually when not using AGENT_E2E_TEST_SCENARIO).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah sorry, I had forgotten another place I wanted to use this, I replaced the if logic in the ipi flow as well, so this logic just sets the correct var for that flow. As well we explicitly set the var in the agent flow.

I updated the code to allow the user to change it if in the future we want to force fencing credentials being present, but otherwise this will just be on auto pilot

Copy link
Member

Choose a reason for hiding this comment

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

Ok, it wasn't clear to me that the same config var was used in both the bm IPI workflow and the agent one. A better way to highlight that could be to add a check, ie something like if [[ -z ${AGENT_E2E_TEST_SCENARIO} ]]; then (it may also prevent weird mistakes in case both vars were set and also AGENT_E2E_TEST_SCENARIO)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh good catch, updated the code to also check for that so it only gets checked when AGENT_E2E_TEST_SCENARIO is not set, and allows the agent flow to dictate that themselves, thanks @andfasano !

@eggfoobar eggfoobar force-pushed the add-agent-based-tnf-support branch 2 times, most recently from 73cd1c3 to 1a138da Compare October 2, 2025 04:59
@eggfoobar
Copy link
Contributor Author

/retest-required

@eggfoobar
Copy link
Contributor Author

/retest

@eggfoobar eggfoobar force-pushed the add-agent-based-tnf-support branch from 1a138da to f9d5f98 Compare October 6, 2025 03:55
@eggfoobar
Copy link
Contributor Author

/retest-required

@eggfoobar eggfoobar force-pushed the add-agent-based-tnf-support branch 2 times, most recently from 418427f to a4301f5 Compare October 7, 2025 16:27
added ENABLE_TWO_NODE_FENCING internal variable to help identify fencing
for templating.
added fencing block in jinja baremetal install config

Signed-off-by: ehila <[email protected]>
@eggfoobar eggfoobar force-pushed the add-agent-based-tnf-support branch from a4301f5 to 506935e Compare October 7, 2025 17:08
@eggfoobar
Copy link
Contributor Author

/retest

Copy link

openshift-ci bot commented Oct 8, 2025

@eggfoobar: 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-metal-ipi-bm 506935e link true /test e2e-metal-ipi-bm
ci/prow/e2e-metal-ipi-ovn-dualstack 506935e link false /test e2e-metal-ipi-ovn-dualstack
ci/prow/e2e-metal-ipi-bm-bond 506935e link false /test e2e-metal-ipi-bm-bond
ci/prow/e2e-metal-ovn-arbiter 506935e link false /test e2e-metal-ovn-arbiter
ci/prow/e2e-metal-ipi-virtualmedia 506935e link false /test e2e-metal-ipi-virtualmedia

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.

@andfasano
Copy link
Member

/approve

Copy link

openshift-ci bot commented Oct 8, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: andfasano

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

The pull request process is described 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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 8, 2025
Copy link
Contributor

@jaypoulz jaypoulz left a comment

Choose a reason for hiding this comment

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

Before we LGTM, can you review the comments I've provided?

fencing:
credentials:
{% for hostname in hostnames %}
- hostname: {{hostname}}
Copy link
Contributor

Choose a reason for hiding this comment

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

pretty sure we also allow disabling certificate verification.

@@ -1,4 +1,9 @@
{% import 'net_macros.yaml' as net %}
{% set hostnames = agent_nodes_hostnames.split(',') %}
{% set bmc_addresses = agent_nodes_bmc_addresses.split(',') %}
Copy link
Contributor

Choose a reason for hiding this comment

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

One thing we don't have a 1/1 mapping for is ipmi support for BMC.
This is supported for provisioning via the baremetal operator via ironic, but is NOT supported for TNF.

I know it looks like duplicate information, but I would avoid reusing the same variables as bmc used for the baremetalhost definitions because we don't have feature parity and may need to support a divergent feature set from the provisioning side.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants