1
0
mirror of https://github.com/openshift/installer.git synced 2026-02-05 15:47:14 +01:00
Commit Graph

538 Commits

Author SHA1 Message Date
Pawan Pinjarkar
da87462421 AGENT-1357: Remove AgentWorkflowTypeInstallInteractiveDisconnected workflow
Remove the interactive disconnected workflow type. The appliance
  embeds registries.conf and CA certificates directly in the system ignition
  for bootstrap, eliminating the need for a separate workflow type.

  Key changes:

  Command-line interface:
  - Remove --interactive flag from unconfigured-ignition command
  - Remove ContextWrapper and workflow context management

  Workflow handling:
  - Simplify to always use AgentWorkflowTypeInstall for unconfigured ignition
  - Remove AgentWorkflowTypeInstallInteractiveDisconnected constant
  - Remove workflow type switching logic in UnconfiguredIgnition
  - Remove workflow dependency from UnconfiguredIgnition asset

  Mirror configuration:
  - Remove RegistriesConf and CaBundle dependencies from UnconfiguredIgnition
  - Remove addMirrorData() call (appliance provides this)
  - Remove early returns for interactive workflow in mirror assets

  Testing:
  - Remove interactive-disconnected-workflow test case
  - Remove with-mirror-configs test case from unconfigured ignition tests
  - Update default dependencies in test helpers

  Rationale:
  The OVE appliance provides a more robust solution for disconnected
  installations by embedding all necessary configuration (registries,
  certificates, UI) directly in the appliance image. This approach:
  - Eliminates workflow type complexity
  - Decouples installer and appliance repositories
  - Simplifies the codebase by removing conditional logic
  - Aligns with the architecture where MCO manages post-bootstrap config

  After first node reboot, the Machine Config Operator manages registry
  configuration and trust bundles via IDMS/IDMT resources.

  Commit message text generated by: Claude AI <noreply@anthropic.com>
2025-12-12 07:22:36 -05:00
openshift-merge-bot[bot]
3b6ba6b3d0 Merge pull request #9924 from cybertron/disable-internal-dns
OPNET-678: Allow disabling internal DNS
2025-12-03 01:02:56 +00:00
Zane Bitter
680f3904a9 integration tests: allow running in a network sandbox
The testscript framework needs environment variables explicitly passed
through to the test environment. This adds passthrough for proxy variables
(HTTP_PROXY, HTTPS_PROXY, NO_PROXY and lowercase variants) that may be set
by the sandbox or CI environment.

Without these, integration tests running behind a proxy would fail with
network DNS resolution failures when attempting to download resources.

Assisted-by: Claude Code
2025-11-21 16:05:39 +13:00
Zane Bitter
6326ea7f96 integration tests: pass XDG_CACHE_HOME to agent tests
The integration test setup was not passing through the XDG_CACHE_HOME
environment variable to the test environment, causing tests to fall
back to $HOME/.cache for caching downloaded files. This caused test
failures in environments where $HOME/.cache is not writable but
XDG_CACHE_HOME points to a writable location.

This change ensures that if XDG_CACHE_HOME is set in the test runner's
environment, it is passed through to the integration test environment,
allowing tests to respect the XDG Base Directory specification.

Assisted-by: Claude Code
2025-11-21 16:05:39 +13:00
Zane Bitter
f086e07223 unit tests: avoid vCenter connection attempts in agent tests
Remove vCenter credentials from agent installer validation tests to
prevent network connection attempts during unit tests. The tests now
validate that credential fields are required when any credential field
is specified, in addition to their original validation logic.

This change reduces test execution time from 60-180 seconds to under
1 second while maintaining test validity. The tests still verify the
same validation errors they were designed to check, plus additional
credential validation.

Also updated test domains from test.vcenter.com to vcenter.test for
consistency with RFC 2606 reserved test domains.

Assisted-by: Claude Code
2025-11-21 16:05:29 +13:00
Ben Nemec
534ea54773 Fix nutanix integration test for dnsRecordsType 2025-11-19 12:00:53 -06:00
Mark Hamzy
0324f33df0 PowerVC: Add new platform for PowerVC
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.
2025-11-19 08:57:03 -06:00
openshift-merge-bot[bot]
4180662515 Merge pull request #10060 from patrickdillon/capi-one-eleven
CORS-4262: update openshift/api & capi v1.11
2025-11-13 03:23:32 +00:00
Patrick Dillon
a0b517c5c2 cmd: nolint test-script RunMain
RunMain is deprecated. Putting a nolint on it and created
https://issues.redhat.com/browse/OCPBUGS-64696 to ask the
agent team to fix eventually.
2025-11-07 09:03:41 -05:00
Patrick Dillon
cc99514053 unit tests: fix breakage caused by client-go & apimachinery bump
Changes in the apimachinery and client-go packages broke our unit
tests after upgrade. client-go stopped serializing the empty
preferences: {} field for the kubeconfig. apimachinery, with
c58e197ee8
caused much more extensive breakage by changing the format with
which errors are returned, and our unit tests hard code the
expected error messages.

For the most part, I used claude to fix these issues, and here
is the summary it created:

Changes Made
Root Cause: The k8s apimachinery package (errors.go:93-96) now uses json.Marshal()
to format BadValue in error messages instead of Go's native format. Error Format Changes:

Arrays: []string{"a", "b"} → ["a","b"] (JSON format, no spaces)
Nil values: []string(nil) → null
Structs: aws.Subnet{ID:"x", Roles:...} → {"id":"x"} (JSON with lowercase keys)
Custom types: gcp.OSImage{Name:"x", Project:"y"} → {"name":"x","project":"y"}
2025-11-07 09:03:40 -05:00
Zane Bitter
b1ebd4704e OCPBUGS-61668: Support IPv6 address in rendezvous-host.env template
Previously when agent-tui filled this in as a template, an IPv6
rendezvous IP was not handled correctly.

Also, the Rendezvous IP needs to be canonicalized when the installer
fills in the template.
2025-11-07 14:09:00 +13:00
openshift-merge-bot[bot]
e3cbeafe71 Merge pull request #9847 from danmanor/enable-dual-stack
MGMT-21212: Enable dual-stack clusters with image-based installations
2025-08-13 11:23:00 +00:00
Sandhya Dasu
db2052c5ab CORS-4084: Azure custom-dns: Add userProvisionedDNS as install-config parameter
This feature is currently available when feature gate
AzureClusterHostedDNSInstall is enabled.
2025-08-01 12:32:10 -04:00
Dan Manor
eeedb7501d MGMT-21200: Enable dual-stack 2025-07-31 10:50:26 +03:00
ehila
90b9bcc68e fix: update format for logging calls
updated logging calls to use calling function format instead of fmt.Sprintf to fix go vet errors

Signed-off-by: ehila <ehila@redhat.com>
2025-07-29 23:10:04 -04:00
openshift-merge-bot[bot]
11f646a0d6 Merge pull request #9780 from eggfoobar/support-arbiter-agent-based
OCPEDGE-1740: feat: add arbiter role support to ABI
2025-07-02 16:44:10 +00:00
openshift-merge-bot[bot]
51d588c8f8 Merge pull request #7678 from rwsu/OCPBUGS-18658
OCPBUGS-18658 OCPBUGS-45256: Unify agent install-complete with installer
2025-07-01 23:29:56 +00:00
ehila
75fa733182 feat: add arbiter role support to ABI
added support for arbiter installs to ABI flow, we currently do not
support installing TechPreview featureSet with agent based install, this
includes adding that capability for overriding featureSet to be passed
to the assisted service.

Signed-off-by: ehila <ehila@redhat.com>
2025-07-01 07:36:15 -04:00
Bob Fournier
804a53e188 OCPBUGS-55300: Pre-create password files for agent installer OVE
For the agent-based installer OVE UI, the password files should also
be created at boot via the 'agent create certificates' command. The
kubeadmin-password and hash will be stored in the tls dir so that
assisted-service does not regenerate them each time the call to
GenerateInstallConfig is invoked.
2025-05-09 12:04:54 -04:00
Sandhya Dasu
002849d3c3 Custom-DNS: Update Kubeconfig based on private or public cluster
Update Kubeconfig with API or API-Int LB IP based on whether the
cluster is public or private respectively. This updated Kubeconfig
can be used to reach API server from the install host when
cutsom-DNS is enabled and there is no external DNS yet.
2025-04-16 18:07:16 -04:00
Zane Bitter
82b500b9d5 OCPBUGS-54407: Use correct case in path error messages
Users care about the key names in YAML, not in the golang structs.
2025-04-02 23:58:08 +13:00
Yanhua Li
8208a189f7 AGENT-587: Support Nutanix in Agent-based Installer 2025-03-28 12:22:06 -04:00
Andrea Fasano
81c93de45e add integration test 2025-03-21 13:16:36 -04:00
openshift-merge-bot[bot]
c74674db60 Merge pull request #9557 from bfournie/agent-create-certs
AGENT-537: Add agent command to generate certificates
2025-03-18 18:38:33 +00:00
Andrea Fasano
14e1e396d7 avoids escaping rendezvous-host.env for template parameters 2025-03-12 13:58:03 -04:00
Bob Fournier
8a5e7a0434 AGENT-537: Add agent command to generate certificates
Add a new hidden agent-based-installer command to generate tls
certificates. This will be used by the agent UI.
2025-03-12 12:57:02 -04:00
Andrea Fasano
04a657bd38 minor fix, missing workflow type in enum 2025-03-12 05:05:20 -04:00
Andrea Fasano
b188c531d1 fixed exisiting integration tests and added a new one for the interactive workflow 2025-03-12 05:05:20 -04:00
Andrea Fasano
d60ba045cf fixed linting issues 2025-03-12 05:05:20 -04:00
Andrea Fasano
f7b313872d add --interactive flag to unconfigured-ignition command. 2025-03-12 05:05:19 -04:00
Stephen Benjamin
2fed4eddd7 no-jira: gather: allow unconditional gather in CI (#9355)
* gather: allow unconditional gather in CI

In CI, we want to collect an installer log bundle so we can examine
bootstrap logs that aren't retrievable from anywhere else. This is
especially important for problems that might happen during early
install.

* Update cmd/openshift-install/create.go

Co-authored-by: Patrick Dillon <pdd@redhat.com>

---------

Co-authored-by: Patrick Dillon <pdd@redhat.com>
2025-01-15 05:58:26 +00:00
openshift-merge-bot[bot]
04e7a5d273 Merge pull request #9295 from benluddy/etcd-bootstrap-timeout
OCPBUGS-46363: Remove narrow timeout from etcd bootstrap member removal gate.
2024-12-12 23:23:26 +00:00
openshift-merge-bot[bot]
be8603b195 Merge pull request #9280 from rwsu/OCPBUGS-45317
OCPBUGS-45317: node-joiner PXE artifacts should be prefixed "node"
2024-12-11 08:23:08 +00:00
Ben Luddy
1074b101fe Remove narrow timeout from etcd bootstrap member removal gate.
Waiting for the etcd bootstrap member to be removed from the etcd cluster has a timeout of five
minutes, unless the overall timeout is reached first. This was apparently sufficient for most cases
when the check was only in effect for single-node clusters, but it occasionally times out on HA
clusters. Enforcing a timeout for this step alone is fragile. It is important to guarantee that the
bootstrap resources are not torn before the etcd bootstrap member has been removed from the etcd
cluster. The time spent waiting for it to happen will fluctuate based on how long it takes for the
etcd operator to observe that it is safe to proceed without losing quorum.
2024-12-09 16:02:36 -05:00
Richard Su
38c05c786b OCPBUGS-18658: Unify agent install-complete with installer
Removed custom agent wait-for install-complete code.

Moved installer WaitForInstallComplete function from
cmd/openshift-install/main to cmd/openshift-install/command so
that the function can be made public.

Modified agent.newWaitForInstallCompleted() to use the common
WaitForInstallComplete function.

The benefit of moving agent over to the common
WaitForInstallComplete function is that the common function has a
step to wait for operators to be in a stable state before calling
the cluster installation complete.
2024-12-09 02:09:09 -05:00
Richard Su
34cfb89cc8 OCPBUGS-45317: node-joiner PXE artifacts should be prefixed "node"
instead of "agent".

The "agent" prefix is used for the day 1 agent ISO.

The "node" prefix is used for day-2 artifacts, both ISO and PXE.
2024-12-05 10:15:43 -05:00
Ben Luddy
9766540f5f Wait for etcd bootstrap member removal in all topologies. 2024-12-02 17:26:06 -05:00
openshift-merge-bot[bot]
0d294cffef Merge pull request #9136 from xphyr/issue9143
NO-ISSUE: imagebasedinstaller:  support json files in extramanifests directory
2024-11-27 23:19:45 +00:00
openshift-merge-bot[bot]
f65365b088 Merge pull request #9116 from kaovilai/zshcompletion
OCPBUGS-43561: add zsh completion
2024-11-26 00:47:22 +00:00
Andrea Fasano
e988175bf8 add node-joiner --config-iso flag
To generate only the the config ISO instead of the normal one. Removed also unused flags from the params file
2024-11-20 05:58:27 -05:00
Pawan Pinjarkar
e2e19d28c5 Rename var to a common name AUTH_TOKEN_EXPIRY. All the 3 tokens expire at the same time. 2024-11-12 22:16:03 -05:00
openshift-merge-bot[bot]
640266e30e Merge pull request #9172 from rwsu/AGENT-967-improve-monitor-log-output
AGENT-967: Improve monitoring output for multi-node
2024-11-09 06:51:25 +00:00
Bob Fournier
52277e5db3 Used MachineNetwork CIDR instead of RendezvousIP 2024-11-08 18:17:17 -05:00
Bob Fournier
3bff072869 OCPBUGS-30292: If agent proxy defined add RendezvousIP to noProxy
If proxy is defined in install-config, add the RendezvousIP to the
noproxy field in the generated manifests to ensure the Rendezvous
host can be accessed.

This is an additional fix beyond https://github.com/openshift/installer/pull/9083
as it was found that when just setting the IP in 10-default-env.conf it did not
get passed to the assisted-installer when it was started.
2024-11-08 18:04:05 -05:00
openshift-merge-bot[bot]
22e4625923 Merge pull request #9146 from andfasano/day2-create-command-report
AGENT-965: improve node-joiner create command troubleshooting
2024-11-08 20:22:00 +00:00
openshift-merge-bot[bot]
689918eca0 Merge pull request #9154 from rwsu/5-control
AGENT-990: Allow control planes with 5 and 4 replicas
2024-11-08 02:49:22 +00:00
openshift-merge-bot[bot]
c66c051611 Merge pull request #8704 from r4f4/aws-generate-permissions
CORS-3571: permissions: add new create command and asset
2024-11-07 20:46:24 +00:00
Andrea Fasano
b57423a420 fix it name 2024-11-07 10:06:21 -05:00
Andrea Fasano
79a800dd1c report integration test 2024-11-07 10:04:03 -05:00
Richard Su
6533b56325 AGENT-990: Allow control planes with 5 and 4 replicas 2024-11-06 21:24:24 -05:00