Skip to content

SPLAT-2587: aws/ccm: introduce configuration to CCM managed Security Groups for NLB#7460

Open
mtulio wants to merge 4 commits intoopenshift:mainfrom
mtulio:feat-ccm-nlb-sg
Open

SPLAT-2587: aws/ccm: introduce configuration to CCM managed Security Groups for NLB#7460
mtulio wants to merge 4 commits intoopenshift:mainfrom
mtulio:feat-ccm-nlb-sg

Conversation

@mtulio
Copy link
Copy Markdown
Contributor

@mtulio mtulio commented Jan 12, 2026

What this PR does / why we need it:

This change introduces a configuration on cloud-config to instruct controller to manage Security Group on NLBs on feature set TechPreviewNoUpgrade.

This proposal is required to signalize CCM (cloud-controller-manager) to managed security group every time a NLB is requested through a Service resource.

This implement the configuration added to Self-managed (through CCCMO) in 4.21 release - also under the feature set TechPreviewNoUpgrade, and GA in 4.22.

Which issue(s) this PR fixes:

Fixes SPLAT-2587

Special notes for your reviewer:

We need to evaluate the feature gate for the hosted cluster beforehand validating globally.

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

Summary by CodeRabbit

  • New Features

    • Added managed security group support for Network Load Balancers (available in TechPreviewNoUpgrade feature set).
  • Tests

    • Added end-to-end test coverage for Cloud Controller Manager security group functionality.
  • Documentation

    • Enhanced local development environment guides with setup and workflow instructions.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jan 12, 2026
@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Jan 12, 2026

@mtulio: This pull request references SPLAT-2587 which is a valid jira issue.

Details

In response to this:

What this PR does / why we need it:

This change introduces a configuration on cloud-config to instruct controller to manage Security Group on NLBs on feature set TechPreviewNoUpgrade

Which issue(s) this PR fixes:

Fixes

Special notes for your reviewer:

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

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 openshift-eng/jira-lifecycle-plugin repository.

@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 Jan 12, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Jan 12, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Jan 12, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 39de29bc-7440-4fd1-8c7b-b3147d39db74

📥 Commits

Reviewing files that changed from the base of the PR and between 19f65f9 and a0f0d9e.

📒 Files selected for processing (1)
  • AGENTS.md
✅ Files skipped from review due to trivial changes (1)
  • AGENTS.md

📝 Walkthrough

Walkthrough

This pull request adds support for NLB (Network Load Balancer) managed security groups in the cloud controller manager (CCM). The changes extend IAM policies to grant ELB and EC2 security group management permissions, introduce a new feature gate AWSServiceLBNetworkSecurityGroup enabled for TechPreviewNoUpgrade, conditionally inject the NLBSecurityGroupMode = Managed configuration parameter when the feature is active, and include test coverage validating the configuration behavior under different feature gate scenarios. A new E2E test verifies that CCM-managed security groups are properly attached to load balancers. Documentation is updated to reference local development workflows.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci bot added do-not-merge/needs-area area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release area/platform/aws PR/issue for AWS (AWSPlatform) platform and removed do-not-merge/needs-area labels Jan 12, 2026
@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 12, 2026

/test ?

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 12, 2026

/test e2e-aws

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 12, 2026

Checked the CI artifact and it isn't reflecting the expected change:

# control-plane-operator/controllers/hostedcontrolplane/v2/assets/aws-cloud-controller-manager/config.yaml
[Global]
Zone = us-east-1a
VPC = vpc-07fbab2214e685cbf
KubernetesClusterID = 9af1be1f93a6e8ab6bf7-mgmt
SubnetID = subnet-01ed2d9ae2b3baf6c
ClusterServiceLoadBalancerHealthProbeMode = Shared

Trying again forcing directly to the template

/test e2e-aws

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 13, 2026

I see the hosted cluster is created patching the cloud-config as expected (it duplicated the entry due my last commit with debug forcing in two different places):

Direct URL:

https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/pr-logs/pull/openshift_hypershift/7460/pull-ci-openshift-hypershift-main-e2e-aws/2010782158616006656/artifacts/e2e-aws/hypershift-aws-run-e2e-external/artifacts/TestCreateClusterRequestServingIsolation/namespaces/e2e-clusters-lnddg-request-serving-isolation-bn5hl/core/configmaps/aws-cloud-config.yaml
---
apiVersion: v1
data:
  aws.conf: |-
    [Global]
    Zone = us-east-1a
....
    NLBSecurityGroupMode = Managed 
    NLBSecurityGroupMode = Managed
kind: ConfigMap
metadata:
  creationTimestamp: "2026-01-12T19:30:23Z"
  name: aws-cloud-config
  namespace: e2e-clusters-lnddg-request-serving-isolation-bn5hl

The job failed caused by timeout, which now can be increased a bit due the time to delete the SGs and controller waiting for dependencies, we may need to evaluate the possibility to bump from 15' timeout to higher, here is some analysis/recommendation from claude after parsing logs:

Recommendations
Option 1: Increase Teardown Timeout (Recommended)
File: test/e2e/util/fixture.go:293

Current: 15*time.Minute

Suggested: 20*time.Minute or 25*time.Minute

Justification: When NLBs have managed security groups, the deletion process includes:

NLB deletion: 5-10 minutes
Security group detachment and deletion: 2-5 minutes
EBS volume cleanup: 2-5 minutes
Total: 15-20 minutes (can exceed current 15-min timeout)

Checking if TP will behave similar the regular job.
/test e2e-aws-techpreview

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 13, 2026

TP job e2e-aws-techpreview got stuck when creating a mgr cluster. I am investigating the root cause.

--

Looks like the RCA is caused by CNO failure, cascading the other operators. CCM looks healthy

● Cloud Controller Manager Analysis

  The aws-cloud-controller-manager has been deployed successfully and is NOT affected by the cascade of failures.


  Conclusion

  The aws-cloud-controller-manager is healthy and functioning correctly. It is observing the cluster
 state but cannot complete certain operations (like provisioning load balancers) because the
 worker nodes are NotReady due to the primary issue: the cluster-network-operator crash caused 
by the malformed API server URL https://[172.30.0.1]:443.


@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 13, 2026

I've also confirmed the mgr cluster deployment isn't impacted by ccm nlb configuration as, apparently, the nested cluster isn't enabling this feature:

  Location: logs/artifacts/output/namespaces/clusters-073c0ae118a741c015fd-mgmt/core/configmaps/aws-cloud-config.yaml

  Content (aws.conf):
  [Global]
  Zone = us-east-1a
  VPC = vpc-[redacted]
  KubernetesClusterID = 073c0ae118a741c015fd-mgmt
  SubnetID = subnet-[redacted]
  ClusterServiceLoadBalancerHealthProbeMode = Shared

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 13, 2026

Action item: restore the FG assessor logic enabling the CCM config to manage SG on NLB only when TPNU feature set

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 13, 2026

feature set assessor restored on cloud-config for HC, looks like presubmit image is now using stable version on CI, re-trying with TPNU feature set:

/test e2e-aws-techpreview

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 14, 2026

2/5 completed. Testing e2e-aws:

/test e2e-aws

@openshift-ci openshift-ci bot added the area/testing Indicates the PR includes changes for e2e testing label Jan 14, 2026
@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 14, 2026

I see e2e-aws job is also using TPNU hardcoded, my last commit is considering the env var to set FG, re-testing:

/test e2e-aws

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 14, 2026

/testwith openshift/hypershift/main/e2e-conformance openshift/origin#30525

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 15, 2026

/test e2e-aws-techpreview

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 16, 2026

/test e2e-aws,images,security,unit,verify,verify-deps,e2e-conformance

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 16, 2026

/test e2e-aws
/test images
/test security
/test unit
/test verify
/test verify-deps
/test e2e-conformance

if cpContext.HCP.Spec.Configuration != nil && cpContext.HCP.Spec.Configuration.FeatureGate != nil {
featureSet = cpContext.HCP.Spec.Configuration.FeatureGate.FeatureSet
}
if featureSet == configv1.TechPreviewNoUpgrade {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

we need to check the feature gate not the set.

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 16, 2026

/test e2e-aws-techpreview

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Jan 19, 2026

/test e2e-aws
/test images
/test security
/test unit
/test verify
/test verify-deps
/test e2e-conformance
/test e2e-aws-techpreview

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Mar 10, 2026

Ensuring required jobs works correctly with HCP cluster state instead of Global (change proposed by Claude exploring more options on this PR):

/test e2e-aws
/test e2e-aws-techpreview

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Mar 10, 2026

/test unit

mtulio added a commit to mtulio/hypershift that referenced this pull request Mar 10, 2026
…e evaluation

Updates AWS CCM configuration tests to explicitly verify that the config
adapter reads feature gates from HCP.Spec.Configuration rather than relying
on the global operator feature set.

Changes:
- Set global feature gate to Default at test start to prove the adapter
  correctly reads from HCP configuration, not the global gate
- Added explanatory comments documenting this proves the fix for the issue
  where global gate was incorrectly used instead of per-cluster configuration

This change is critical for validating the fix to PR openshift#7460 e2e test failures
where:
- E2E tests create clusters with TechPreviewNoUpgrade feature set
- HypershiftOperator runs with Default feature set (HYPERSHIFT_FEATURESET env)
- Tests were failing because adapter checked global gate (Default) instead of
  cluster's configuration (TechPreviewNoUpgrade)
- Result: NLBSecurityGroupMode was missing from aws-cloud-config even though
  cluster's feature set should enable it

With this test change, we verify all scenarios work correctly:
- Default feature set: NLBSecurityGroupMode NOT added
- TechPreviewNoUpgrade: NLBSecurityGroupMode = Managed added
- CustomNoUpgrade with explicit enable: NLBSecurityGroupMode = Managed added

All tests pass, proving the adapter now correctly evaluates per-cluster
feature configuration regardless of the global operator feature set.

Signed-off-by: Marco Braga <mrbraga@redhat.com>
Assisted-by: Claude Sonnet 4.5 (via Claude Code)
@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Mar 10, 2026

Update Go deps for test (broken in main branch):

/test e2e-aws
/test e2e-aws-techpreview
/test unit

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Mar 11, 2026

/test e2e-aws-techpreview
/test unit

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Mar 12, 2026

Returning on the remaining failures:

  • 4.21
  • unit

Proposed a fix for both, since this feature is 4.22 only, I am limiting the e2e tests to run only 4.22 owards. The unit assets was already updated with new CCM configuration used in clusters with feature set TPNU.

/test unit
/test e2e-aws-4-21

This commit updates IAM permissions to support AWS CCM managing security groups
for Network Load Balancers, following least-privilege security principles.

Changes:
- cmd/infra/aws/iam.go:
* Added 19 specific ELBv2 permissions required for NLB lifecycle management:
  - CreateLoadBalancer, DeleteLoadBalancer, DescribeLoadBalancers
  - ModifyLoadBalancerAttributes
  - CreateTargetGroup, DeleteTargetGroup, DescribeTargetGroups (critical - was missing)
  - DescribeTargetGroupAttributes, ModifyTargetGroupAttributes
  - DescribeTargetHealth, RegisterTargets, DeregisterTargets
  - CreateListener, DeleteListener, DescribeListeners
  - SetSecurityGroups (required for managed SG feature)
  - DescribeTags, AddTags, RemoveTags
* Added 10 specific EC2 permissions for security group management:
  - CreateSecurityGroup, DeleteSecurityGroup, DescribeSecurityGroups
  - AuthorizeSecurityGroupIngress, RevokeSecurityGroupIngress
  - DescribeSubnets, DescribeVpcs, DescribeInstances
  - CreateTags
* Added comprehensive documentation explaining each permission category and
  why it's needed for the CCM's NLB management functionality.

Root cause: CI job failures showed "AccessDenied" for elasticloadbalancing:CreateTargetGroup.
Analysis of CCM controller logs revealed the exact permissions needed for the complete
NLB provisioning workflow with managed security groups.

This change ensures the CCM has sufficient permissions to manage NLBs with security
groups while maintaining security best practices by granting only necessary permissions.
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Mar 27, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

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

Details 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

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Mar 27, 2026

/test e2e-aws
/test e2e-aws-techpreview

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Mar 27, 2026

I will fix the lint once I get the feedback of presubmit e2e jobs.

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Mar 27, 2026

The job e2e-aws is reporting 1/9 tests AWSCCMWithCustomizations passing. TPNU job is reporting as failure, but I already observed instability while isolating changes in #7961.

I am going to fix the commits with latest version before converting this PR to regular and ready for review.

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 27, 2026

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Mar 27, 2026

/test e2e-aws
/test e2e-aws-techpreview

mtulio added 2 commits March 27, 2026 23:20
Updates AGENTS.md to reference existing comprehensive development guides
instead of duplicating documentation.

Changes:
- AGENTS.md:
* Add "Local Development Environment" section with references to:
  - HACKING.md for general development workflows
  - .claude/skills/dev/ for step-by-step development tasks
* List available skills: build-ho-image, build-cpo-image, install-ho-aws,
  create-hc-aws, e2e-run-aws, destroy-hc-aws

This avoids documentation duplication and points developers to the detailed
guides that include environment setup, prerequisites, troubleshooting, and
iteration workflows.
Adds comprehensive E2E testing for the AWSServiceLBNetworkSecurityGroup
feature gate and fixes critical test issues.

Changes:
- test/e2e/util/aws_ccm.go:
* Add test: verify aws-cloud-config contains NLBSecurityGroupMode=Managed
* Add test: create NLB service and verify managed security group is attached
* Use AWS SDK v2 to describe load balancer and validate security groups

- test/e2e/create_cluster_test.go:
* Add nil-safety checks in TestCreateClusterCustomConfig to prevent panics
* Add missing azureutil import

- test/e2e/util/util.go:
* Configure feature gate with featuregates.ConfigureFeatureSet() to sync
  global state with cluster's feature set for proper test validation

- control-plane-operator/.../testdata:
* Update test fixtures for GCP and TechPreviewNoUpgrade scenarios
* Add CloudController field to GCP ServiceAccountsEmails (fixes "Required value" error)
@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Mar 28, 2026

/test e2e-aws
/test e2e-aws-techpreview

}

// Add NLBSecurityGroupMode when the AWSServiceLBNetworkSecurityGroup feature gate is enabled for this cluster.
// Check the feature gate based on the cluster's configured feature gate spec, not the global operator feature set.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Check the feature gate based on the cluster's configured feature gate spec, not the global operator feature set.

This is important: we want to check the FG of cluster not only the global, otherwise it will not detect changes on cluster creation leading to incorrect configuration (missing cloud-config entry)

customApiServerHost = fmt.Sprintf("api-custom-cert-%s.%s", entryHostedCluster.Spec.InfraID, serviceDomain)
}

// For AWS, use ExternalDNSDomain if set, otherwise fall back to BaseDomain for local development
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This is required when we want to make sure e2e tests runs locally, different domains than the hard coded ones - that some developers does not have access to the Account.

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Mar 31, 2026

Hi @muraee , we are not getting success on CI recently, but I have verified this changes a few times here: #7460 (comment)

Would you mind reviewing this PR while infra gets stable? This must be the final version addressing your feedback, with a caveat on FG verification.

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Mar 31, 2026

/retest-required

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Mar 31, 2026

@mtulio: 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-aks-4-21 f0d6970 link true /test e2e-aks-4-21
ci/prow/e2e-azure-self-managed 98e6126 link true /test e2e-azure-self-managed
ci/prow/e2e-aws-4-21 6be1ff0 link true /test e2e-aws-4-21

Full PR test history. Your PR dashboard.

Details

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.

@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Apr 2, 2026

@mtulio: This pull request references SPLAT-2587 which is a valid jira issue.

Details

In response to this:

What this PR does / why we need it:

This change introduces a configuration on cloud-config to instruct controller to manage Security Group on NLBs on feature set TechPreviewNoUpgrade.

This proposal is required to signalize CCM (cloud-controller-manager) to managed security group every time a NLB is requested through a Service resource.

This implement the configuration added to Self-managed (through CCCMO) in 4.21 release - also under the feature set TechPreviewNoUpgrade, and GA in 4.22.

Which issue(s) this PR fixes:

Fixes SPLAT-2587

Special notes for your reviewer:

We need to evaluate the feature gate for the hosted cluster beforehand validating globally.

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

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 openshift-eng/jira-lifecycle-plugin repository.

Implements AWS CCM NLBSecurityGroupMode configuration with cluster-scoped
feature gate evaluation, enabling managed security groups for Network Load
Balancers when AWSServiceLBNetworkSecurityGroup is enabled.

Changes:
- control-plane-operator/featuregates/featuregates.go:
* Add IsFeatureEnabledInFeatureGateSpec() helper to evaluate feature gates
  from FeatureGateSpec (supports Default, TechPreviewNoUpgrade, CustomNoUpgrade)
* Evaluates per-cluster config instead of global operator feature set

- control-plane-operator/.../aws/config.go:
* Use IsFeatureEnabledInFeatureGateSpec() with HCP.Spec.Configuration.FeatureGate
* Set NLBSecurityGroupMode=Managed when feature gate is enabled

- control-plane-operator/.../aws/config_test.go:
* Add unit tests for all feature set scenarios (Default, TechPreview, CustomNoUpgrade)
* Set global feature gate to Default at test start to verify adapter reads from
  HCP config, not global gate
* Proves the fix where adapter was incorrectly checking global HYPERSHIFT_FEATURESET
  instead of cluster's HCP.Spec.Configuration.FeatureGate

Why cluster-scoped evaluation:
The adapter was incorrectly using the global feature gate (HYPERSHIFT_FEATURESET
env var) instead of reading from HCP.Spec.Configuration.FeatureGate. This caused
e2e test failures where clusters with TechPreviewNoUpgrade didn't get the config
because the operator was running with Default feature set.

This matches the pattern used by CVO, KAS, and other components.

The signature will credit:
  - Author: Marco Braga (you)
  - AI Assistant: Claude Sonnet 4.5 via Claude Code
@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Apr 2, 2026

@coderabbitai resume

@mtulio
Copy link
Copy Markdown
Contributor Author

mtulio commented Apr 2, 2026

/test e2e-aws
/test e2e-aws-techpreview

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 2, 2026

✅ Actions performed

Reviews resumed.

@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Apr 2, 2026

@mtulio: This pull request references SPLAT-2587 which is a valid jira issue.

Details

In response to this:

What this PR does / why we need it:

This change introduces a configuration on cloud-config to instruct controller to manage Security Group on NLBs on feature set TechPreviewNoUpgrade.

This proposal is required to signalize CCM (cloud-controller-manager) to managed security group every time a NLB is requested through a Service resource.

This implement the configuration added to Self-managed (through CCCMO) in 4.21 release - also under the feature set TechPreviewNoUpgrade, and GA in 4.22.

Which issue(s) this PR fixes:

Fixes SPLAT-2587

Special notes for your reviewer:

We need to evaluate the feature gate for the hosted cluster beforehand validating globally.

Checklist:

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.
  • This change includes docs.
  • This change includes unit tests.

Summary by CodeRabbit

  • New Features

  • Added managed security group support for Network Load Balancers (available in TechPreviewNoUpgrade feature set).

  • Tests

  • Added end-to-end test coverage for Cloud Controller Manager security group functionality.

  • Documentation

  • Enhanced local development environment guides with setup and workflow instructions.

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 openshift-eng/jira-lifecycle-plugin repository.

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

Labels

acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. area/cli Indicates the PR includes changes for CLI area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release area/platform/aws PR/issue for AWS (AWSPlatform) platform area/testing Indicates the PR includes changes for e2e testing jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants