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

CORS-3440: IngressController subnet selection at installation #1634

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

gcs278
Copy link
Contributor

@gcs278 gcs278 commented May 30, 2024

Adds enhancements/installer/aws-lb-subnet-selection.md for specifying IngressController's LoadBalancer-type Service subnets at installation time.

This enhancement also deprecates the platform.aws.subnets field for a more flexible and extensible API structure.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 30, 2024
@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 May 30, 2024
@openshift-ci-robot
Copy link

openshift-ci-robot commented May 30, 2024

@gcs278: This pull request references CORS-3440 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "4.17.0" version, but no target version was set.

In response to this:

Adds enhancements/installer/aws-lb-subnet-selection.md for specifying IngressController's load balancer type service subnets at installation time.

This enhancement also deprecates the platform.aws.subnets field for a more flexible and expandable API structure.

WIP: Still working on EP content.

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.

Copy link
Contributor

openshift-ci bot commented May 30, 2024

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

@gcs278 gcs278 force-pushed the ingresscontroller-subnets-aws-installtime branch from 84a2ab7 to d6a259a Compare May 31, 2024 21:00
@gcs278 gcs278 force-pushed the ingresscontroller-subnets-aws-installtime branch 4 times, most recently from 6a9976a to 12b9995 Compare June 20, 2024 17:55
@openshift-ci-robot
Copy link

openshift-ci-robot commented Jun 20, 2024

@gcs278: This pull request references CORS-3440 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "4.17.0" version, but no target version was set.

In response to this:

Adds enhancements/installer/aws-lb-subnet-selection.md for specifying IngressController's LoadBalancer-type Service subnets at installation time.

This enhancement also deprecates the platform.aws.subnets field for a more flexible and extensible API structure.

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.

@gcs278 gcs278 marked this pull request as ready for review June 20, 2024 17:55
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 20, 2024
@openshift-ci openshift-ci bot requested review from sdodson and tkashem June 20, 2024 17:56
@gcs278 gcs278 force-pushed the ingresscontroller-subnets-aws-installtime branch from 12b9995 to 8e71d45 Compare June 20, 2024 18:08
@Miciah
Copy link
Contributor

Miciah commented Jun 26, 2024

/assign

@candita
Copy link
Contributor

candita commented Jun 26, 2024

/assign @miheer
/assign

Comment on lines 33 to 34
This configuration sets the subnets for both the default IngressController and the default
subnets for all new IngressControllers at install time.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
This configuration sets the subnets for both the default IngressController and the default
subnets for all new IngressControllers at install time.
This proposal allows the install-time configuration of subnets for the default IngressController as well as the default subnets for any new IngressController.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

subnets for all new IngressControllers at install time.

This enhancement also deprecates the existing install-config field `platform.aws.subnets`
in favor for a more flexible configuration field that handles both IngressController subnet
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
in favor for a more flexible configuration field that handles both IngressController subnet
in favor of a more flexible configuration field that handles both IngressController subnet

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.


This enhancement also deprecates the existing install-config field `platform.aws.subnets`
in favor for a more flexible configuration field that handles both IngressController subnet
selection (ingress subnets) and cluster resource subnet selection (cluster subnets).
Copy link
Contributor

Choose a reason for hiding this comment

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

We don't have the latter as a use case. Why is it being covered in this proposal?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We discussed in slack, but for completeness: it's an existing feature, the platform.aws.subnets field in the install-config. I'm giving this type of subnet a proper name for clarity.

Note that I also also changed the "cluster resource subnet" / "cluster subnet" to be "cluster-role subnets", and "ingress subnets" to "IngressController-role subnets" and have included a new ## Definitions and Terminology section early in the EP to define these, as well as my motivation for why I am call them as such.

a cluster into a VPC with multiple Availability Zones (AZs), but they wish to restrict
their cluster to a single AZ.

Currently, cluster admins can configure their load balancer subnets by configuring
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Currently, cluster admins can configure their load balancer subnets by configuring
Currently, cluster admins can only configure their load balancer subnets after installation, by configuring

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done. However, with some recent updates, I dropped the "only" because there is another way I've added in a recent update.

Comment on lines 50 to 51
However, this approach is only supported as a Day 2 operation, but cluster admins also
need a way to configure ingress subnets at install time (Day 1).
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
However, this approach is only supported as a Day 2 operation, but cluster admins also
need a way to configure ingress subnets at install time (Day 1).
Cluster admins also need a way to configure ingress subnets at install time (Day 1).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Comment on lines 94 to 155
AZs than the cluster subnets, the default IngressController may map to subnets
in the AZs that are not part of the cluster. This creates a security risk
because the load balancer is mapping to subnets that may belong to other clusters. This
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
AZs than the cluster subnets, the default IngressController may map to subnets
in the AZs that are not part of the cluster. This creates a security risk
because the load balancer is mapping to subnets that may belong to other clusters. This
AZs than the cluster subnets, there is no mechanism for the default IngressController
to know which subnets and AZs are a part of the cluster.
This lack of discoverable information creates a security risk
because the load balancer may map to subnets that may belong to other clusters. This

Copy link
Contributor Author

Choose a reason for hiding this comment

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

So this is a bit more nuanced than there is no mechanism for the default IngressController to know which subnets and AZs are a part of the cluster.

There is a mechanism, it's the kubernetes.io/cluster/<cluster-id> tag for the subnet. However, it's a combination of the two facts:

  • The cluster-admins may not have the ability to change this subnet tag.
  • The AWS CCM is very generous in it's selection subnets. If there is no kubernetes.io/cluster/<cluster-id>, it selects it. Only when there is an non-matching kubernetes.io/cluster/<cluster-id> for another cluster, it will ignore it.

These two reasons may lead to a situation where the IngressController/LoadBalancer is picking up unwanted subnets, and those unwanted subnets could be public subnets when you have a internal/private IngressController.

I realize this subnet selection info is probably worth adding to the EP somewhere, and I'll try to capture your suggestion to be more specific.


When a cluster admin installs a private cluster into a VPC also containing
public subnets lacking the proper tags, internal LoadBalancer-type services
may inadvertently use both the public and private subnets, unknowingly introducing
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
may inadvertently use both the public and private subnets, unknowingly introducing
may use the misconfigured public subnets, introducing

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Comment on lines +104 to +165
_"As a user of ROSA HCP, I want to install a cluster with 1 MachinePool in 1
AZ, then add a 2nd MachinePool in another AZ and update my IngressController's
subnets to map to the new AZ."_
Copy link
Contributor

Choose a reason for hiding this comment

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

This use case is not an installation option, is it? If not, it doesn't belong in this proposal.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's involves a use case for the IngressConfig, which is introduced in this EP (see last paragraph Additionally, if the user wants all future IngressController to the new subnet by default), hence why I included it.


### User Stories

#### Day 1 Ingress Controller Subnet Selection on AWS
Copy link
Contributor

@candita candita Jun 26, 2024

Choose a reason for hiding this comment

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

Suggested change
#### Day 1 Ingress Controller Subnet Selection on AWS
#### Day 1 Default Ingress Controller Subnet Selection on AWS

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

- Provide install-time validation for user provided ingress subnets.
- Support configuring the default IngressController's subnets at install time for AWS.
- Support configuring default subnets for all new IngressControllers at install time for AWS.
- Support updating the default subnets for all new IngressControllers.
Copy link
Contributor

Choose a reason for hiding this comment

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

Is it possible to be updating at install time?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This goal is for after installation. The goal is for the IngressConfig to be able to be updated after installation so the default subnets for all new IngressController would get updated.

I'll specify "after installation" in this goal.


- Extend support to platforms other than AWS.
- Automatically restrict IngressController subnet selection for private clusters to ensure the cluster stays private.
- Assume that bring-your-own (BYO) cluster subnets are also ingress subnets by default.
Copy link
Contributor

Choose a reason for hiding this comment

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

I feel we shouldn't be mentioning cluster subnets at all in this proposal.

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 think it's impossible to not mention them, as we are deprecating & replacing the "cluster subnet" API in this EP, and I think it's important to define the relationship between the two.

Comment on lines 155 to 217
2. Add the `Subnets` field to `spec.loadBalancer.platform.aws.subnets` in the IngressConfig
to encode the default subnets for IngressControllers.
Copy link
Contributor

@candita candita Jun 26, 2024

Choose a reason for hiding this comment

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

Do you mean we'll end end with a field called spec.loadBalancer.platform.aws.subnets.subnets? Maybe DefaultSubnets would be a better choice?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do you mean we'll end end with a field called spec.loadBalancer.platform.aws.subnets.subnets?

No, good point, updated.

Maybe DefaultSubnets would be a better choice?

It's a good choice, but it would be inconsistent with spec.loadBalancer.platform.aws.subnets.type, which is also default. Though I like the sound of DefaultSubnets better, I think breaking consistency with Type would be confusing to users, as the two fields set the same style of defaults. I actually brought something similar brought up with @miheer's PR: https://github.com/openshift/enhancements/pull/1593/files#r1631413464

The other really unfortunate thing, is that "default" is an overloaded term because of the default IngressController. Does it mean all default subnets? Or default IngressController subnets? Or both? In our case, it's both, but my concern is that it's overloaded.

For now, my opinion is that type, subnets, and Miheer's new eipAllocations is acceptable, and consistent.


### Implementation Details/Notes/Constraints

As mentioned in [Proposal](#proposal), the install-config and the IngressConfig will be updated
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
As mentioned in [Proposal](#proposal), the install-config and the IngressConfig will be updated
As mentioned in [the Proposal section](#proposal), the install-config and the IngressConfig will be updated

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

// +kubebuilder:validation:XValidation:rule=`self.all(x, self.exists_one(y, x.id == y.id))`,message="subnetsConfig cannot contain duplicate IDs"
// +kubebuilder:validation:XValidation:rule=`self.exists(x, x.roles.exists(r, r == 'Cluster'))`,message="subnetsConfig must contain at least 1 subnet with the Cluster role"
// +kubebuilder:validation:XValidation:rule=`self.filter(x, x.roles.exists(r, r == 'Ingress')).size() <= 10`,message="subnetsConfig must contain less than 10 subnets with the Ingress role"
// +openshift:enable:FeatureGate=IngressControllerLBSubnetsAWS
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you refer to a feature gate in the installer? How can the feature gate be enabled if there is no cluster?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Whoops, no you can't. The installer has the concept of feature sets, but are enforced differently. For example, the NatGatewayOutboundType in Azure is only supported in tech preview. I am just learning how the installer works, so I expect I may get some feedback from them.

Fixed and updated with details on tech preview vs. GA.

Comment on lines 202 to 272
// SubnetsConfig specifies the subnet configuration for
// a cluster by specifying a list of subnet ids with their
// designated role. At least one Cluster role subnet must be
// specified. If no Ingress role subnets are specified, the
// IngressController's Load Balancer will automatically discover
// its subnets based on the kubernetes.io/cluster/<cluster-id> tag,
// whether it's public or private, and the availability zone.
// Leave this field unset to have the installer create subnets
// in a new VPC on your behalf.
//
// +optional
Copy link
Contributor

Choose a reason for hiding this comment

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

nit - spacing

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Comment on lines 222 to 285
// ID specifies the subnet ID of an existing
// subnet.
//
// +required
Copy link
Contributor

Choose a reason for hiding this comment

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

spacing

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Comment on lines 228 to 290
// Roles specifies the roles (aka functions) that the
// subnet will provide in the cluster.
//
Copy link
Contributor

Choose a reason for hiding this comment

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

spacing

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.


// SubnetsConfig specifies the subnet configuration for
// a cluster by specifying a list of subnet ids with their
// designated role. At least one Cluster role subnet must be
Copy link
Contributor

@candita candita Jun 26, 2024

Choose a reason for hiding this comment

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

I'll come back to review the rest of this after hearing more about the inclusion of Cluster subnets in the proposal.

// Subnets specifies existing subnets (by ID) where cluster
// resources will be created. Leave unset to have the installer
// create subnets in a new VPC on your behalf.
//
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
//
//

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

@gcs278 gcs278 force-pushed the ingresscontroller-subnets-aws-installtime branch from 8e71d45 to 6a57e4c Compare July 2, 2024 21:06
Copy link
Contributor

openshift-ci bot commented Jul 2, 2024

[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 ask for approval from miciah. For more information see the Kubernetes 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

Adds enhancements/installer/aws-lb-subnet-selection.md for specifying
IngressController's LoadBalancer-type Service subnets at installation
time.

This enhancement also deprecates the platform.aws.subnets field for a
more flexible and extensible API structure.
@gcs278 gcs278 force-pushed the ingresscontroller-subnets-aws-installtime branch from 6a57e4c to 6a029ed Compare July 3, 2024 00:22
Copy link
Contributor Author

@gcs278 gcs278 left a comment

Choose a reason for hiding this comment

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

Thanks for the review @candita. I have posted updates: diff here

Mostly addressing your comments, but also:

  • Renaming from "cluster subnets" and "ingress subnets" to "cluster-role subnets" and "ingresscontroller-role subnets"
  • A ## Definitions and Terminology section early in the EP
  • A new alternative ### Assume All Cluster-Role Subnets are IngressController-Role Subnets Alternative
  • Referencing the default IngressController by default IngressController for extra clarity
  • TechPreview / GA clarifications

I have not addressed recent updates regarding the IngressController API openshift/api#1841 split from AWSLoadBalancerParameters to under AWSClassicLoadBalancerParameters and AWSNetworkLoadBalancerParameters. I am waiting for some preliminary review from Joel, Miciah, and you on that before I refactor this EP.

openshift/api#1841 and #1595 are the priority at the moment, since they are a dependency of this feature. Thanks.

Comment on lines 33 to 34
This configuration sets the subnets for both the default IngressController and the default
subnets for all new IngressControllers at install time.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

subnets for all new IngressControllers at install time.

This enhancement also deprecates the existing install-config field `platform.aws.subnets`
in favor for a more flexible configuration field that handles both IngressController subnet
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.


### User Stories

#### Day 1 Ingress Controller Subnet Selection on AWS
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.


This enhancement also deprecates the existing install-config field `platform.aws.subnets`
in favor for a more flexible configuration field that handles both IngressController subnet
selection (ingress subnets) and cluster resource subnet selection (cluster subnets).
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We discussed in slack, but for completeness: it's an existing feature, the platform.aws.subnets field in the install-config. I'm giving this type of subnet a proper name for clarity.

Note that I also also changed the "cluster resource subnet" / "cluster subnet" to be "cluster-role subnets", and "ingress subnets" to "IngressController-role subnets" and have included a new ## Definitions and Terminology section early in the EP to define these, as well as my motivation for why I am call them as such.

a cluster into a VPC with multiple Availability Zones (AZs), but they wish to restrict
their cluster to a single AZ.

Currently, cluster admins can configure their load balancer subnets by configuring
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done. However, with some recent updates, I dropped the "only" because there is another way I've added in a recent update.

- Provide install-time validation for user provided ingress subnets.
- Support configuring the default IngressController's subnets at install time for AWS.
- Support configuring default subnets for all new IngressControllers at install time for AWS.
- Support updating the default subnets for all new IngressControllers.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This goal is for after installation. The goal is for the IngressConfig to be able to be updated after installation so the default subnets for all new IngressController would get updated.

I'll specify "after installation" in this goal.


- Extend support to platforms other than AWS.
- Automatically restrict IngressController subnet selection for private clusters to ensure the cluster stays private.
- Assume that bring-your-own (BYO) cluster subnets are also ingress subnets by default.
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 think it's impossible to not mention them, as we are deprecating & replacing the "cluster subnet" API in this EP, and I think it's important to define the relationship between the two.

Comment on lines 155 to 217
2. Add the `Subnets` field to `spec.loadBalancer.platform.aws.subnets` in the IngressConfig
to encode the default subnets for IngressControllers.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do you mean we'll end end with a field called spec.loadBalancer.platform.aws.subnets.subnets?

No, good point, updated.

Maybe DefaultSubnets would be a better choice?

It's a good choice, but it would be inconsistent with spec.loadBalancer.platform.aws.subnets.type, which is also default. Though I like the sound of DefaultSubnets better, I think breaking consistency with Type would be confusing to users, as the two fields set the same style of defaults. I actually brought something similar brought up with @miheer's PR: https://github.com/openshift/enhancements/pull/1593/files#r1631413464

The other really unfortunate thing, is that "default" is an overloaded term because of the default IngressController. Does it mean all default subnets? Or default IngressController subnets? Or both? In our case, it's both, but my concern is that it's overloaded.

For now, my opinion is that type, subnets, and Miheer's new eipAllocations is acceptable, and consistent.

Comment on lines 119 to 179
_"As a cluster admin, I want to install a cluster with dedicated IngressController
subnets in order to have load balancer VIPs on a dedicated VLAN for applying ACLs."_
Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's intended for all IngressControllers. Specified.

// +kubebuilder:validation:XValidation:rule=`self.all(x, self.exists_one(y, x.id == y.id))`,message="subnetsConfig cannot contain duplicate IDs"
// +kubebuilder:validation:XValidation:rule=`self.exists(x, x.roles.exists(r, r == 'Cluster'))`,message="subnetsConfig must contain at least 1 subnet with the Cluster role"
// +kubebuilder:validation:XValidation:rule=`self.filter(x, x.roles.exists(r, r == 'Ingress')).size() <= 10`,message="subnetsConfig must contain less than 10 subnets with the Ingress role"
// +openshift:enable:FeatureGate=IngressControllerLBSubnetsAWS
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Whoops, no you can't. The installer has the concept of feature sets, but are enforced differently. For example, the NatGatewayOutboundType in Azure is only supported in tech preview. I am just learning how the installer works, so I expect I may get some feedback from them.

Fixed and updated with details on tech preview vs. GA.

@openshift-bot
Copy link

Inactive enhancement proposals go stale after 28d of inactivity.

See https://github.com/openshift/enhancements#life-cycle for details.

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

If this proposal 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 Jul 31, 2024
@openshift-bot
Copy link

Stale enhancement proposals rot after 7d of inactivity.

See https://github.com/openshift/enhancements#life-cycle for details.

Mark the proposal as fresh by commenting /remove-lifecycle rotten.
Rotten proposals close after an additional 7d of inactivity.
Exclude this proposal from closing by commenting /lifecycle frozen.

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

/lifecycle rotten
/remove-lifecycle stale

@openshift-ci openshift-ci bot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Aug 7, 2024
@openshift-bot
Copy link

Rotten enhancement proposals close after 7d of inactivity.

See https://github.com/openshift/enhancements#life-cycle for details.

Reopen the proposal by commenting /reopen.
Mark the proposal as fresh by commenting /remove-lifecycle rotten.
Exclude this proposal from closing again by commenting /lifecycle frozen.

/close

Copy link
Contributor

openshift-ci bot commented Aug 15, 2024

@openshift-bot: Closed this PR.

In response to this:

Rotten enhancement proposals close after 7d of inactivity.

See https://github.com/openshift/enhancements#life-cycle for details.

Reopen the proposal by commenting /reopen.
Mark the proposal as fresh by commenting /remove-lifecycle rotten.
Exclude this proposal from closing again by commenting /lifecycle frozen.

/close

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.

@openshift-ci openshift-ci bot closed this Aug 15, 2024
@gcs278
Copy link
Contributor Author

gcs278 commented Aug 15, 2024

/reopen

@openshift-ci openshift-ci bot reopened this Aug 15, 2024
Copy link
Contributor

openshift-ci bot commented Aug 15, 2024

@gcs278: Reopened this PR.

In response to this:

/reopen

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.

@openshift-ci-robot
Copy link

openshift-ci-robot commented Aug 15, 2024

@gcs278: This pull request references CORS-3440 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "4.18.0" version, but no target version was set.

In response to this:

Adds enhancements/installer/aws-lb-subnet-selection.md for specifying IngressController's LoadBalancer-type Service subnets at installation time.

This enhancement also deprecates the platform.aws.subnets field for a more flexible and extensible API structure.

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.

@gcs278
Copy link
Contributor Author

gcs278 commented Aug 15, 2024

/remove-lifecycle rotten

@openshift-ci openshift-ci bot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Aug 15, 2024
Copy link
Contributor

openshift-ci bot commented Aug 15, 2024

@gcs278: 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

None yet

6 participants