Skip to content

Conversation

@brendan-daly-red-hat
Copy link
Contributor

@brendan-daly-red-hat brendan-daly-red-hat commented Mar 7, 2025

Versions:
4.17+

Issue:
https://issues.redhat.com/browse/OCPBUGS-45800

Link to docs preview:
The updated module is reflected in these pages:

QE review:

  • QE has approved this change.

Additional information:
From what I understand, the Vale messages below aren't valid. It is suggesting the ifdef statement requires an endif, but that's not required here. See #86647.

@openshift-ci openshift-ci bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Mar 7, 2025
@openshift-ci openshift-ci bot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Mar 7, 2025
@brendan-daly-red-hat
Copy link
Contributor Author

@jinyunma, PTAL at the draft update.

*** For Azure, delete the `api-internal-v4` rule for the public load balancer.
*** For {azure-short}, you must delete the following resources:
** The `api-v4` rule for the public load balancer.
** The `frontenIPConfiguration` that is associated with the public load balancer.

Choose a reason for hiding this comment

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

Here frontenIPConfiguration is associated with api-v4 rule in public load balancer

*** For {azure-short}, you must delete the following resources:
** The `api-v4` rule for the public load balancer.
** The `frontenIPConfiguration` that is associated with the public load balancer.
** The public IP that is associated with the public load balancer.

Choose a reason for hiding this comment

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

public IP refers to the ip specified in frontenIPConfiguration

** The `api-v4` rule for the public load balancer.
** The `frontenIPConfiguration` that is associated with the public load balancer.
** The public IP that is associated with the public load balancer.
** The Network Security Group (NSG) rule for port 22.
Copy link

@jinyunma jinyunma Mar 14, 2025

Choose a reason for hiding this comment

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

sorry, this should be incorrect, no nsg rule to be removed in this case. I updated description in the bug as well.

@jinyunma
Copy link

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Mar 14, 2025
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Mar 21, 2025
@openshift-ci
Copy link

openshift-ci bot commented Mar 21, 2025

New changes are detected. LGTM label has been removed.

@openshift-ci openshift-ci bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Mar 21, 2025
. In the web portal or console for your cloud provider, take the following actions:

.. Locate and delete the appropriate load balancer component:
ifndef::cpmso-using-azure[]
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDoc.ValidConditions: File contains unbalanced if statements. Review the file to ensure it contains matching opening and closing if statements.

ifndef::cpmso-using-azure[]
*** For {aws-short}, delete the external load balancer. The API DNS entry in the private zone already points to the internal load balancer, which uses an identical configuration, so you do not need to modify the internal load balancer.
endif::cpmso-using-azure[]
ifndef::cpmso-using-aws[]
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDoc.ValidConditions: File contains unbalanced if statements. Review the file to ensure it contains matching opening and closing if statements.

endif::cpmso-using-aws[]

.. Delete the
ifdef::cpmso-using-aws[`api.$clustername.$yourdomain`]
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDoc.ValidConditions: File contains unbalanced if statements. Review the file to ensure it contains matching opening and closing if statements.


.. Delete the
ifdef::cpmso-using-aws[`api.$clustername.$yourdomain`]
ifdef::post-install[`api.$clustername.$yourdomain` or]
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDoc.ValidConditions: File contains unbalanced if statements. Review the file to ensure it contains matching opening and closing if statements.

ifndef::cpmso-using-aws[`api.$clustername`]
DNS entry in the public zone.

ifdef::cpmso-using-aws[]
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDoc.ValidConditions: File contains unbalanced if statements. Review the file to ensure it contains matching opening and closing if statements.

<2> Delete the `type` value for the external load balancer.
endif::cpmso-using-aws[]

ifdef::post-install[]
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDoc.ValidConditions: File contains unbalanced if statements. Review the file to ensure it contains matching opening and closing if statements.

@brendan-daly-red-hat
Copy link
Contributor Author

/label peer-review-needed

@openshift-ci openshift-ci bot added the peer-review-needed Signifies that the peer review team needs to review this PR label Mar 21, 2025
@skopacz1 skopacz1 added this to the Continuous Release milestone Mar 21, 2025
Copy link
Contributor

@skopacz1 skopacz1 left a comment

Choose a reason for hiding this comment

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

Left a few comments, but nice job navigating the complex conditional stuff. It can be like a logic puzzle sometimes. Some of my comments are a little long and complicated, so let me know if you have questions about any of them!


.. Locate and delete the appropriate load balancer component:
ifndef::cpmso-using-azure[]
*** For {aws-short}, delete the external load balancer. The API DNS entry in the private zone already points to the internal load balancer, which uses an identical configuration, so you do not need to modify the internal load balancer.
Copy link
Contributor

Choose a reason for hiding this comment

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

I understand that existing docs may have this "For [platform name], do this step" format, but I'd suggest checking out the ISG section on indicating conditional steps. In short, you're supposed to preface the step with a condition or use an "if" statement before writing your step as normal.

I do think that your current structure is probably close enough to follow the spirit of that rule, so I'll suggest rewrites of this step based on the rule, but it's up to you if you think the feedback should be applied:

Suggested change
*** For {aws-short}, delete the external load balancer. The API DNS entry in the private zone already points to the internal load balancer, which uses an identical configuration, so you do not need to modify the internal load balancer.
*** {aws-short} clusters: Delete the external load balancer. The API DNS entry in the private zone already points to the internal load balancer, which uses an identical configuration, so you do not need to modify the internal load balancer.

*** For {aws-short}, delete the external load balancer. The API DNS entry in the private zone already points to the internal load balancer, which uses an identical configuration, so you do not need to modify the internal load balancer.
endif::cpmso-using-azure[]
ifndef::cpmso-using-aws[]
*** For {azure-short}, you must delete the following resources:
Copy link
Contributor

Choose a reason for hiding this comment

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

Same suggestion as before:

Suggested change
*** For {azure-short}, you must delete the following resources:
*** {azure-short} clusters: Delete the following resources:

However, even if you don't use that suggestion, you must rewrite the first sentence to be in the imperative mood either way. That rule is also stated on the same ISG page:

Suggested change
*** For {azure-short}, you must delete the following resources:
*** For {azure-short}, delete the following resources:

*** For {azure-short}, you must delete the following resources:
** The `api-v4` rule for the public load balancer.
** The `frontenIPConfiguration` that is associated with the `api-v4` rule for the public load balancer.
** The public IP that is specified in the `frontenIPConfiguration`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Could you add some sort of noun so that the backticks phrase/term is used as an adjective and not a noun? In general, doing so for all terms in backticks helps increase clarity:

Suggested change
** The public IP that is specified in the `frontenIPConfiguration`.
** The public IP that is specified in the `frontenIPConfiguration` parameter.

I'm guessing the noun would be parameter but feel free to swap with anything more appropriate.

Comment on lines 43 to 44
** The `frontenIPConfiguration` that is associated with the `api-v4` rule for the public load balancer.
** The public IP that is specified in the `frontenIPConfiguration`.
Copy link
Contributor

Choose a reason for hiding this comment

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

I looked around the docs and I think this is a typo here, please confirm with SME/QE:

Suggested change
** The `frontenIPConfiguration` that is associated with the `api-v4` rule for the public load balancer.
** The public IP that is specified in the `frontenIPConfiguration`.
** The `frontendIPConfiguration` that is associated with the `api-v4` rule for the public load balancer.
** The public IP that is specified in the `frontendIPConfiguration`.

** The `frontenIPConfiguration` that is associated with the `api-v4` rule for the public load balancer.
** The public IP that is specified in the `frontenIPConfiguration`.

.. For {azure-short}, configure the Ingress Controller endpoint publishing scope to `Internal`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Same suggestion as before, which I'm now noticing would align with how this line is written anyways:

Suggested change
.. For {azure-short}, configure the Ingress Controller endpoint publishing scope to `Internal`.
.. {azure-short} clusters: Configure the Ingress Controller endpoint publishing scope to `Internal`.

Comment on lines 48 to 53

.. For the {azure-short} public load balancer, if you configure the Ingress Controller endpoint publishing scope to `Internal` and there are no existing inbound rules in the public load balancer, you must create an outbound rule explicitly to provide outbound traffic for the backend address pool.
For more information, see the Microsoft Azure documentation about adding outbound rules.
Copy link
Contributor

Choose a reason for hiding this comment

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

This step is a tough one but I feel like it needs to be rewritten somehow. Here are the issues I see with it:

  1. The beginning condition is so long to describe, and seems more like a substep of the previous step (i.e. it's worded like "if you did the last step and there are no existing inbound rules on the load balancer, you need to do this").
  2. It seems redundant (to me) to start with "for the load balancer" when the condition is really for Azure clusters and the load balancer context is mentioned later in the sentence
  3. As mentioned in a previous comment, this instruction is written as "you must do this" rather than "do this".

Here are my suggestions for you to consider.

Keep this as a step but clean it up to make it more like an instruction, maybe something like this:

Suggested change
.. For the {azure-short} public load balancer, if you configure the Ingress Controller endpoint publishing scope to `Internal` and there are no existing inbound rules in the public load balancer, you must create an outbound rule explicitly to provide outbound traffic for the backend address pool.
For more information, see the Microsoft Azure documentation about adding outbound rules.
.. {azure-short} clusters: If you configure the Ingress Controller endpoint publishing scope to `Internal` and there are no existing inbound rules in the public load balancer, create an outbound rule explicitly to provide outbound traffic for the backend address pool.
For more information, see the Microsoft Azure documentation about adding outbound rules.

I don't like that option as much since it has two conditional statements, one of which seems to be based off the previous step. You can also make this a part of the previous step, either as another line or as a NOTE/IMPORTANT admonition:

Suggested change
.. For the {azure-short} public load balancer, if you configure the Ingress Controller endpoint publishing scope to `Internal` and there are no existing inbound rules in the public load balancer, you must create an outbound rule explicitly to provide outbound traffic for the backend address pool.
For more information, see the Microsoft Azure documentation about adding outbound rules.
+
[IMPORTANT]
====
If you configure the Ingress Controller endpoint publishing scope to `Internal` and there are no existing inbound rules in the public load balancer, you must create an outbound rule explicitly to provide outbound traffic for the backend address pool.
For more information, see the Microsoft Azure documentation about adding outbound rules.
====

@skopacz1 skopacz1 added peer-review-done Signifies that the peer review team has reviewed this PR and removed peer-review-in-progress Signifies that the peer review team is reviewing this PR peer-review-needed Signifies that the peer review team needs to review this PR labels Mar 21, 2025
more
@openshift-ci
Copy link

openshift-ci bot commented Mar 24, 2025

@brendan-daly-red-hat: all tests passed!

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.

@bergerhoffer
Copy link
Contributor

The branch/enterprise-4.20 label has been added to this PR.

This is because your PR targets the main branch and is labeled for enterprise-4.19. And any PR going into main must also target the latest version branch (enterprise-4.20).

If the update in your PR does NOT apply to version 4.20 onward, please re-target this PR to go directly into the appropriate version branch or branches (enterprise-4.x) instead of main.

@jinyunma
Copy link

jinyunma commented Jun 23, 2025

In section Restricting the API server to private of previewed doc, procedure 1 & 2 are similar, procedure 2 should be removed, right?

same issues in AWS doc, procedure 1&2 are duplicated with procedure 3&4.

+
[IMPORTANT]
====
If you configure the Ingress Controller endpoint publishing scope to `Internal` and there are no existing inbound rules in the public load balancer, you must create an outbound rule explicitly to provide outbound traffic for the backend address pool.

Choose a reason for hiding this comment

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

Starting from 4.17+, installer create the outbound rule explicitly in public load balancer to provide outbound traffic, so I think there is no need to add this IMPORTANT admonition.

@openshift-bot
Copy link

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 21, 2025
@bergerhoffer
Copy link
Contributor

The branch/enterprise-4.21 label has been added to this PR.

This is because your PR targets the main branch and is labeled for enterprise-4.20. And any PR going into main must also target the latest version branch (enterprise-4.21).

If the update in your PR does NOT apply to version 4.21 onward, please re-target this PR to go directly into the appropriate version branch or branches (enterprise-4.x) instead of main.

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

Labels

branch/enterprise-4.17 branch/enterprise-4.18 branch/enterprise-4.19 branch/enterprise-4.20 branch/enterprise-4.21 lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. peer-review-done Signifies that the peer review team has reviewed this PR size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants