1
0
mirror of https://github.com/openshift/installer.git synced 2026-02-06 18:47:19 +01:00

30 Commits

Author SHA1 Message Date
Mark Hamzy
a43f8cc5df PowerVC: fix PostProvision
New code was added that we need to avoid.  Also, we need to create
OpenStack's Metadata structure.
2025-12-18 09:22:59 -06:00
eshulman2
1b18638af0 openstack: Remove FIPs created by the installer
Added cleanup for bootstrap VM FIP in the insatller as part of the
PostDestroyer to streamline FIP creation and deletion to be done by the
installer avoiding orphan FIPs.
2025-12-09 17:43:05 +02:00
eshulman2
27eb6bdfb9 openstack: add ssh to bootstrap sg
Fixes the issue of bootstrap machine logs cannot be collected when installation fails because
the bootstrap VM uses the master security group, which doesn't allow SSH
access from the installation source address. This prevents gathering
diagnostic information needed to troubleshoot failed installations.

- Created dedicated bootstrap security group with SSH access from anywhere
- Tagged with `openshiftRole=bootstrap` for lifecycle management
- Enables SSH access to bootstrap VM for log collection on failure
- Implement PostDestroyer for openstack bootstrap vm
2025-12-09 17:42:57 +02:00
Mark Hamzy
2f68561a14 PowerVC: Allow bootstrap ignition upload to Swift
PowerVC does not mirror glance images across the HA cluster.  So use
Swift to host the bootstrap's ignition file.
2025-11-19 08:57:08 -06:00
Mark Hamzy
cb223101d7 PowerVC: Do not use Security Groups
PowerVC does not support OpenStack security groups.  Instead, they rely
on an external solution.
2025-11-19 08:57:07 -06:00
Pierre Prinetti
6c95ba0be2 openstack: Bulk create security group rules 2025-02-21 15:01:30 +01:00
Maysa Macedo
67d8d770f7 OpenStack: remove creation of IPv4 rules on Single stack IPv6 cluster
When using single stack IPv6 there is no need to create IPv4 rules.
This commit restricts the creation of IPv4 rules for when the IPv4
Machine Networks exists in the cluster.
2024-09-18 16:45:25 -03:00
Maysa Macedo
6bc63c8e4e OpenStack: Enable single stack IPv6 install
This commit enables the single stack IPv6 installation
on OpenStack, by skipping the generation of Floating IP as
it's not supported over IPv6 and skip validation of VIPs
addresses allocation as they are provided by the user when
using dual-stack or just IPv6.
2024-08-30 15:26:00 -03:00
Yanhua Li
7ed139d830 OCPBUGS-38118: failed to install Nutanix OCP 4.16 cluster with DHCP
1. clusterapi: ignition interface returns secrets

    Updates the clusterapi ignition interface so that it returns
    all ignition secrets. Prior to this commit, the ignition interface
    returned the bootstrap ignition data, and the provision method
    turned this data into secrets. Updating the interface to return
    all secrets, gives greater flexibility to the platform to completely
    control the ignition secrets that are created for that platform.

    The motivation is that some platforms such as Nutanix may need
    to create per master ignition.

2. nutanix clusterapi: fix the regression bug OCPBUGS-38118
2024-08-19 12:07:04 -04:00
Patrick Dillon
3811fa05eb clusterapi provider interface: PublicGatherEndpoint
Updates the BootstrapHasPublicIP function in the provider interface
from returning a simple bool to an enum value in order to account
for the different endpoints the installer connects to during
bootstrap log gathering in public clusters. The function is renamed
to PublicGatherEndpoint.

Presently, BootstrapHasPublicIP is only used to determine if the
installer should wait for an External IP address to be present in
the machine status (in case it is needed for gather) before declaring
a machine ready. That code is updated to account for the enum, but
the logic is unchanged.
2024-08-08 14:10:17 -04:00
openshift-merge-bot[bot]
a39082ba5e Merge pull request #8757 from shiftstack/OCPBUGS-36913
OCPBUGS-36913: openstack: Fix security group tagging
2024-07-24 06:20:39 +00:00
Pierre Prinetti
99b2307a72 openstack: Fix security group tagging
Before this patch, we used the Neutron call to add tags to the newly
created security groups. However, that API doesn't accept tags
containing special characters such as slash (`/`), even when
url-encoded.

With this change, the security groups are tagged with an alternative API
call (replace-all-tags) which accepts the tags in a JSON object.
Apparently, Neutron accepts special characters (including slash) when
they come in a JSON object.
2024-07-22 14:07:54 +02:00
Rafael Fonseca
160156e1db asset: rhcos: make asset multi-arch aware
For some platforms, we will need to be able to get different RHCOS
images based on the architecture of the nodes. Currently it's assumed
that the same image is used for all nodes.
2024-07-11 20:46:47 +02:00
Pierre Prinetti
42e471ee57 openstack: Update Gophercloud to v2 2024-06-18 10:39:56 +02:00
Martin André
81e3989b0d OCPBUGS-35533: Fix ethertype for masters service router SG creation
This prevented the creation of security groups for dualstack compact clusters.
2024-06-17 08:31:36 +02:00
Pierre Prinetti
d86f66a0d2 openstack: Attach a bootstrap FIP to the cluster network port
Before this patch, the bootstrap FIP was attached to the first available
port attached to the bootstrap server. As a consequence, the Installer
sometimes tried to attach the FIP to a port that was created on an
additional network.

With this patch, the bootstrap FIP is only attached to the bootstrap
port that exists on the cluster network.
2024-06-12 14:14:21 +02:00
Patrick Dillon
974f1fd787 pkg/infra/clusterapi: add BootstrapHasPublicIP
Adds a method to the cluster-api-provider interface to indicate
whether a platform expects its bootstrap node to have a public
IP address in a public cluster. We can use this value to determine
whether the external IP should be waited for during the machine
ready checks. This ensures that the external IP will be populated
if it is needed for gather bootstrap.
2024-06-04 16:41:04 -04:00
Maysa Macedo
ff07510725 OpenStack: fix enforcement of Masters Schedulable
This commit fixes the decoding of the cluster scheduler file
by using the apropriate yaml library. Also, it enforces both
IPv4 and IPv6 remote CIDRs on the router sg rule created when the
master is schedulable.
2024-04-26 11:45:42 +02:00
Maysa Macedo
f49c919cf9 OpenStack: Skip API/Ingress management when using external LB
When using external LB the API and Ingress are managed externally,
so we shouldn't create Neutron Ports with the VIPs for API and
Ingress nor should we set those addresses in the Machines allowed
address pairs.
2024-04-26 11:45:41 +02:00
Maysa Macedo
9f18453920 OpenStack: Avoid creation of FIP when no external Network exists
When no external network is set on CAPO Cluster status
it's not possible to create a Floating IP for the bootstrap.
This commit fixes the issue by skipping the creation.
2024-04-26 11:45:39 +02:00
Maysa Macedo
f1a5073a90 OpenStack: fetch VIPs Ports when using dualstack
When using dualstack the user is required to
pre-create the VIPs Ports, so let's retrieve them
in order to attach the Floating IPs instead of trying to
create Ports with the same address.
2024-04-26 11:45:38 +02:00
Pierre Prinetti
25c0a610f2 openstack: Create server groups in the CAPI flow
CAPO doesn't create server groups; it needs the server groups referred
to in Machines to be created in the PreProvision hook.
2024-04-26 11:45:36 +02:00
Pierre Prinetti
5c107e3270 openstack: Upgrade manifests to CAPO v1beta1
This is the result of the following steps:

1. Fork cluster-api-provider-openstack and revert its go.mod to Go v1.21
2. Replace the fork in the Installer's go.mod
3. Replace imports from v1alphaX to v1beta1
4. Update manifests to use the v1beta1 spec
2024-04-26 11:45:06 +02:00
Pierre Prinetti
6d16c1a21f openstack: Small refactor of PreProvision
Adjust debug and error messages, scope variables more tightly for
clarity.
2024-04-26 11:31:46 +02:00
Pierre Prinetti
7809935010 OWNERS: pkg/infrastructure/openstack
Transfer ownership of OpenStack-specific CAPI code to the ShiftStack
team.
2024-03-14 14:33:59 +01:00
Maysa Macedo
58f46e58ef cluster-api: Create bootstrap FIP
This is created in the postprovision step, since we'll attach it once
the bootstrap machine has been created.

Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-02-27 08:24:09 -03:00
Stephen Finucane
75ba853640 cluster-api: Move InfraReady hooks to separate module
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-02-27 08:24:09 -03:00
Maysa Macedo
52ed219a4a openstack: Run preprovision steps for CAPI
Co-Authored-By: Pierre Prinetti <pierreprinetti@redhat.com>
Co-Authored-By: Martin André <m.andre@redhat.com>
2024-02-27 08:24:08 -03:00
Martin André
5d01497f99 Create API and Ingress ports and attach FIPs when available 2024-02-27 08:24:08 -03:00
Martin André
560cd093ac Make OpenStack use Provider interface
Co-Authored-By: Maysa Macedo <mdemaced@redhat.com>
2024-02-27 08:24:05 -03:00