1
0
mirror of https://github.com/openshift/installer.git synced 2026-02-05 06:46:36 +01:00
Commit Graph

16 Commits

Author SHA1 Message Date
Bear
5166c3e4e4 Fix issue CORS-4275 Add Windows support
This PR improves cross-platform compatibility.
It solves two main issues:
1. inconsistent line endings
2. inconsistent path separators

Path separators, in installer, needs to target two different
environments:
1. the OS where the installer runs
2. the OS where the injected files been used

This PR unified path separators used in 2 to be UNIX path separators,
while in 1 to be platform-dependant.

Ref: https://forum.golangbridge.org/t/filepath-join-or-path-join/13479

Known issues:
The spawn processes, including etcd.exe, kube-apiserver.exe,
and openshift-installer.exe, will not exit once installation
aborted or completed. Users need to manually terminate those
processes in task manager.
2025-10-29 14:53:54 -02:30
Patrick Dillon
cd8c6251f3 pkg/asset/manifests/network: ipv4.internalJoinSubnet
Adds support to produce the operatorv1 network config with a customized
ipv4.InternalJoinSubnet. This commit refactors the existing production
of the network config to allow the v4InternalSubnet to be customized
along with the existing specific use cases, which were PowerVS
and AWS edge zones/custom MTU. Redundant logic across the platforms
was deduplicated and replaced with a generic function that composes
the manifest (or skips it) based on the install config.
2024-11-21 11:14:14 -05:00
Pierre Prinetti
41ac01a197 all: Change 'Generate' to accept a context
This commit changes the Asset interface's `Generate` method to accept a
`context.Context` as the first argument.
2024-06-24 15:52:23 +02:00
Marco Braga
06d4924a2c network/manifest/aws: support user-defined cluster network MTU
The custom CNO manifest is automatically rendered when a edge compute
pool in AWS deployments. With this change, user-defined cluster network
MTU (field platform.aws.clusterNetworkMTU), this custom manifest must be
adapted allowing precedence when the field is added.

The validation flow raises a wanring when the values are out of generally
supported for aws edge zones (Local or Wavelength), and the manifest
is generated according to the user-defined in install-config.yaml,
otherwise the flow will keep as existing one: lowered the MTU when Local
or Wavelength zones are added, considering the overhead for each network
plugin.
2023-11-30 13:05:40 -03:00
Patryk Diak
b7373cadb4 Stop rendering networks.config CRD
cluster-config-operator creates the CRDs and the one produced by the installer is a duplicate.

Signed-off-by: Patryk Diak <pdiak@redhat.com>
2023-11-16 10:19:56 +01:00
Eng Zer Jun
66a8a2abd4 refactor: replace github.com/ghodss/yaml with sigs.k8s.io/yaml
At the time of making this commit, the package `github.com/ghodss/yaml`
is no longer actively maintained.

`sigs.k8s.io/yaml` is a permanent fork of `ghodss/yaml` and is actively
maintained by Kubernetes SIG.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-03-05 16:13:33 +08:00
Marco Braga
79d6c37fea RFE-2782/phase-1: Set MTU to CNI when edge pool is present on AWS
This change generates the CNO manifest file
`cluster-network-03-config.yml` into the cluster manifest path.

The goal is to force the Cluster Network to use MTU according to the
network plugin when the AWS Edge machine pool is set. Currently,
there is support only for AWS Local Zones on the edge machine pool.
Local Zones limit the MTU to 1300[1] to communicate with the
nodes in Availability Zones (regular zones within the region).

In Phase-0[2] of support of AWS Local Zones, the instructions are added
in the documentation[3]. This change is covering Phase-1[4].

[1] https://docs.aws.amazon.com/local-zones/latest/ug/how-local-zones-work.html
[2] https://issues.redhat.com/browse/SPLAT-635
[3] https://github.com/openshift/openshift-docs/pull/55327
[4] https://issues.redhat.com/browse/SPLAT-636
2023-02-28 17:14:33 -03:00
Rafael Fonseca
80e02a974d chore: fix import order 2022-12-13 15:40:58 +01:00
Christy Norman
e796b662de powervs: ovnkube routing fix
we rely on an explicitly-configured host route, and the default OVNKube routing ignores this. as a result, packets aren't routed to the right internal gateway.

Signed-off-by: Christy Norman <christy@linux.vnet.ibm.com>
2022-09-29 14:58:58 -05:00
Casey Callendrello
79ba22bd18 network: block ExternalIPs by default.
In OpenShift 3.x, Service.ExternalIP was not allowed to be set by
default. Administrators had to explicitly whitelist network blocks.

4.1 allowed all ExternalIP values. We re-added the ability to restrict
ExternalIP in 4.2. Correspondingly, new clusters should be initialized
in a default-deny state.
2019-07-15 17:26:40 -04:00
Patrick Dillon
08b7bc44cb install-config: add proxy support
Add Proxy struct from OpenShift API to Install Config so users can specify cluster-wide proxy configuration. Add basic validation to ensure that the proxy configuration being created is sane.

Jira: CORS-1075
2019-06-13 09:23:08 -04:00
Enxebre
c734361c0e Remove cluster-api object as this is not needed anymore 2019-03-25 15:07:51 +01:00
Casey Callendrello
2e7ecd3ab3 types: rename network type to match Network.config.openshift.io.
Renames:
- serviceCIDR -> serviceNetwork
- clusterNetworks -> clusterNetwork
- type -> networkType
- hostSubnetLength -> hostPrefix

Add significantly more network validation, especially around overlapping
cidrs.

This adds an upconversion step to loading install config. It will
convert any deprecated install configs to the latest version.
2019-03-05 17:21:18 +01:00
staebler
dd375cdf0b asset/manifest: do not load Common Manifest dependent manifests from disk
The network, ingress, and dns manifest assets are not targeted assets.
The installer does not write their files to disk. The installer should
not load their files from disk.

In addition to the load issue, there is an issue with reading the
config field when reading the assets from the state file. For the network
asset, the config field is needed, but is not stored in the state file.
To resolve this, the config field has been made public. For the ingress
and dns assets, the config field is not needed: it has been removed.

Fixes https://jira.coreos.com/browse/CORS-938
2019-02-01 12:33:52 -05:00
Casey Callendrello
dafc79f024 Generate Network.cluster config instead of NetworkConfig.networkoperator
* Add the Network.config.openshift.io CRD
* Generate the network config from the install config
* Remove networkoperator types from install config (but use the same
    schema)
* Move network CRDs to templates to match #943

This doesn't change the json/yaml serialization of the install config, but it
changes it internally.
2019-01-31 14:55:22 +01:00
Casey Callendrello
31b78ea746 replace tectonic-network-operator with cluster-network-operator
* Generate cluster-network-operator config from install-config
* Refactor install-config to better reflect network config
* remove tectonic-network-operator
* Remove temporary kube-proxy and cvo override
2018-11-12 10:56:35 +01:00