Consistently use the following terms:
- Agent Rest API
- Bootstrap Kube API
We don't use the term "Node Zero" in any user-facing places, and the
kube API that we're waiting for is generally the bootkube API on the
bootstrap, not the actual cluster API.
If we get an empty string, don't try to parse it as JSON. Avoids this
message:
level=info msg=cluster host validations failed: unable to verify validations: unexpected end of JSON input
The IPI wait-for install-complete command uses a watch on the
clusterversion object to log the status when it changes. While the agent
wait-for install-complete command uses similar logging code, it gets the
status by polling rather than using a watch. This results in many more
identical debug messages. To emulate the behaviour of IPI, only print a
debug message when the clusterversion object has changed.
Log warnings for the irrelevant config data provided in
install-config.yaml for the agent-based installer.
Signed-off-by: Pawan Pinjarkar <ppinjark@redhat.com>
In Agent based installation ZTP input, one can provide
AdditionalNTPSources in InfraEnv. The sources configured there are
merged by assisted-service with those that are provided by DHCP option
42 (According to RFC 2132) and provided to the openshift-install that
assisted-service runs as MachineConfigs for the different roles defined
for the cluster nodes.
This commit closes the gap we had when installing from install-config +
agent-config.
Signed-off-by: Antoni Segura Puimedon <antoni@redhat.com>
** Adding NetworkProjectID to the Metadata so that it can be used to find resources on destroy.
** Added project name to the cloud resources so that the project where the resource was discovered is tracked
** Use the cloud resource project field to find all firewall rules when a network project ID was specified.
When generating the ingresses.config.openshift.io/cluster manifest on AWS,
always set spec.loadBalancer.platform.aws.type even if the install-config
lbType is nonempty.
Before this commit, if lbType was empty, the installer generated a manifest
with the following:
loadBalancer:
platform:
aws: {}
type: AWS
Whereas loadBalancer, platform, and aws are optional fields, the type
subfield of the aws field is required. As a consequence, the cluster
bootstrap would fail with the following error:
"cluster-ingress-02-config.yml": failed to create ingresses.v1.config.openshift.io/cluster -n : Ingress.config.openshift.io "cluster" is invalid: spec.loadBalancer.platform.aws.type: Required value
This commit ensures that the installer doesn't generate an invalid ingress
manifest when lbType is empty.
Follow-up to commit 5d12adcf30.
This commit fixes bug OCPBUGS-2436.
https://issues.redhat.com/browse/OCPBUGS-2436
* pkg/asset/manifests/ingress.go (generateClusterConfig): Always set
spec.loadBalancer.platform.aws.type when the platform is AWS.
* pkg/asset/manifests/ingress_test.go
(TestGenerateIngerssDefaultPlacement): Update test cases to expect
spec.loadBalancer.platform.aws.type to default to "Classic" on AWS.
* pkg/types/aws/platform.go (Platform): Update godoc to make it clear that
LBType is optional and defaults to "Classic".
* pkg/explain/printer_test.go (Test_PrintFields): Update.
* data/data/install.openshift.io_installconfigs.yaml: Regenerate.