Adding support to install multiple NAT gateways per subnet in
the specific zones they need to be in.
Also, allowing the users to bring their own subnets.
(NAT gateways on BYO subnets are not supported by CAPZ, it just
creates a dummy NAT gateway and doesn't attach it to the subnet).
PowerVC is an OpenStack based cloud provider with some significant
differences. Since we can use the OpenStack provider for most of the
work, we will create a thin provider which will only handle the
differences.
Adding the option for the users to create a NAT gateway for the
compute nodes as an option to replace the traditional load balancer
setup. This is only for a single NAT gateway in the compute
subnet as CAPZ expects an outbound LB for control planes.
Signed-off-by: ehila <ehila@redhat.com>
feat: add baremetal machine generation
Signed-off-by: ehila <ehila@redhat.com>
feat: updated with suggestions from review
touched up comments
updated wording on variables
added better validation steps
reordered machine generation order
removed switch statement for arbiter generation code
Signed-off-by: ehila <ehila@redhat.com>
feat: added support for optional host roles
cleaned up uneeded function
added logic to handle optional role type
added unit tests to cover cases
Signed-off-by: ehila <ehila@redhat.com>
feat: update with suggestions
updated to add suggestions from review and remove deprecated errors package
added unit tests for arbiter customizations and arbiter machine to mimic
master unit tests since arbiters currently are configured in the same
way.
moved isArbiterEnabled as a pointer receiver to installConfig and
removed duplicate validation checks.
updated the ignition file creation to only be created when the install
is for an arbiter deployment.
Signed-off-by: ehila <ehila@redhat.com>
Following proposal for selecting LB subnets, the field
platform.vpc.subnets will be introduced for more flexible
configurations. This enhancement proposal is available reference [0].
There are some adjustments to the API markers and descriptions in comparison to
the proposal.
- Organize field description for easier read.
- Correct kubebuilder:validation:MaxItems on array field
References:
[0] 2890cccf20/enhancements/installer/aws-lb-subnet-selection.md
This field was introduced [1] before the Installer had support for
custom AMIs in machine pools [2]. Now that it does, the same
functionality is achieved via the defaultMachinePlatform field
`platform.aws.defaultMachinePlatform.amiID`
[1] fdf94e39ee
[2] bc47222576
The name doesn't really reflect the purpose of the field, but the
terraform implementation instead. Since the implementation has changed
in capi/capa, let's rename it so users don't expect the ignition object
to not be destroyed when there are enough permissions.
The old field is kept for the deprecation period but will be removed in
the future in favor of the new `BestEffortDeleteIgnition`.
** The go docs in the install-config's platform.aws.lbType is misleading as well as on the ingress object (oc explain ingresses.config.openshift.io.spec.loadBalancer.platform.aws.type).
Update the docs to further explain the ingress controller info.
Platform external is intended to allow third parties to generate required
manifests which are consumed by an external cloud provider. This allows
the installer to be used by third parties without the need for direct
modification.
Adds a hosted zone role field. If provided,
this role will be assumed whenever operations
are performed on the provided hosted zone. This
enables the private hosted zone to belong to a different
account than the rest of the cluster.