From cc6f9fa5c6d5477138905448ae263b8a2b6e6d11 Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Tue, 12 May 2020 15:54:36 +0100 Subject: [PATCH] Revert "baremetal: send full ignition to masters" This was merged in https://github.com/openshift/installer/pull/3276 but had the side-effect of breaking an interface some users were already reliant on, where additional config is added to the pointer ignition output via `create ignition-configs` Downstream bz https://bugzilla.redhat.com/show_bug.cgi?id=1833483 reported this issue, and we've taken the decision to revert this to resolve that interface regression, and look at other ways to satisfy the requirements that led to #3276 This reverts commit f67d61a7142a95063e096857a6c477bef376a3e7. --- data/data/baremetal/main.tf | 16 +++++++--------- data/data/baremetal/masters/main.tf | 5 ++--- data/data/baremetal/masters/variables.tf | 10 ---------- data/data/baremetal/variables-baremetal.tf | 10 ---------- pkg/asset/cluster/tfvars.go | 15 +-------------- pkg/tfvars/baremetal/baremetal.go | 6 +----- 6 files changed, 11 insertions(+), 51 deletions(-) diff --git a/data/data/baremetal/main.tf b/data/data/baremetal/main.tf index 2baa6e85b0a..b06a1af9370 100644 --- a/data/data/baremetal/main.tf +++ b/data/data/baremetal/main.tf @@ -21,13 +21,11 @@ module "bootstrap" { module "masters" { source = "./masters" - master_count = var.master_count - ignition = var.ignition_master - hosts = var.hosts - properties = var.properties - root_devices = var.root_devices - driver_infos = var.driver_infos - instance_infos = var.instance_infos - ignition_url = var.ignition_url - ignition_url_ca_cert = var.ignition_url_ca_cert + master_count = var.master_count + ignition = var.ignition_master + hosts = var.hosts + properties = var.properties + root_devices = var.root_devices + driver_infos = var.driver_infos + instance_infos = var.instance_infos } diff --git a/data/data/baremetal/masters/main.tf b/data/data/baremetal/masters/main.tf index fc05829b5db..45282841c99 100644 --- a/data/data/baremetal/masters/main.tf +++ b/data/data/baremetal/masters/main.tf @@ -41,8 +41,7 @@ resource "ironic_deployment" "openshift-master-deployment" { count.index, ) - instance_info = var.instance_infos[count.index] - user_data_url = var.ignition_url - user_data_url_ca_cert = var.ignition_url_ca_cert + instance_info = var.instance_infos[count.index] + user_data = var.ignition } diff --git a/data/data/baremetal/masters/variables.tf b/data/data/baremetal/masters/variables.tf index a4ed49c7d85..b6f39fec3d5 100644 --- a/data/data/baremetal/masters/variables.tf +++ b/data/data/baremetal/masters/variables.tf @@ -33,13 +33,3 @@ variable "instance_infos" { type = list(map(string)) description = "Instance information for hosts" } - -variable "ignition_url" { - type = string - description = "The URL of the full ignition" -} - -variable "ignition_url_ca_cert" { - type = string - description = "Root CA cert of the full ignition URL" -} diff --git a/data/data/baremetal/variables-baremetal.tf b/data/data/baremetal/variables-baremetal.tf index 810ed59dae8..d1632edc0dc 100644 --- a/data/data/baremetal/variables-baremetal.tf +++ b/data/data/baremetal/variables-baremetal.tf @@ -47,13 +47,3 @@ variable "instance_infos" { type = list(map(string)) description = "Instance information for hosts" } - -variable "ignition_url" { - type = string - description = "The URL of the full ignition" -} - -variable "ignition_url_ca_cert" { - type = string - description = "Root CA cert of the full ignition URL" -} diff --git a/pkg/asset/cluster/tfvars.go b/pkg/asset/cluster/tfvars.go index 31a0a435f34..dfc86ed4549 100644 --- a/pkg/asset/cluster/tfvars.go +++ b/pkg/asset/cluster/tfvars.go @@ -2,12 +2,9 @@ package cluster import ( "context" - "encoding/base64" "encoding/json" "fmt" "io/ioutil" - "net" - "net/url" "os" "strings" @@ -33,7 +30,6 @@ import ( "github.com/openshift/installer/pkg/asset/machines" "github.com/openshift/installer/pkg/asset/openshiftinstall" "github.com/openshift/installer/pkg/asset/rhcos" - "github.com/openshift/installer/pkg/asset/tls" "github.com/openshift/installer/pkg/tfvars" awstfvars "github.com/openshift/installer/pkg/tfvars/aws" azuretfvars "github.com/openshift/installer/pkg/tfvars/azure" @@ -93,7 +89,6 @@ func (t *TerraformVariables) Dependencies() []asset.Asset { &machine.Master{}, &machines.Master{}, &machines.Worker{}, - &tls.RootCA{}, } } @@ -108,8 +103,7 @@ func (t *TerraformVariables) Generate(parents asset.Parents) error { workersAsset := &machines.Worker{} rhcosImage := new(rhcos.Image) rhcosBootstrapImage := new(rhcos.BootstrapImage) - rootCA := &tls.RootCA{} - parents.Get(clusterID, installConfig, bootstrapIgnAsset, masterIgnAsset, mastersAsset, workersAsset, rhcosImage, rhcosBootstrapImage, rootCA) + parents.Get(clusterID, installConfig, bootstrapIgnAsset, masterIgnAsset, mastersAsset, workersAsset, rhcosImage, rhcosBootstrapImage) platform := installConfig.Config.Platform.Name() switch platform { @@ -405,11 +399,6 @@ func (t *TerraformVariables) Generate(parents asset.Parents) error { Data: data, }) case baremetal.Name: - ignitionURL := &url.URL{ - Scheme: "https", - Host: net.JoinHostPort(installConfig.Config.Platform.BareMetal.APIVIP, "22623"), - Path: "config/master", - } data, err = baremetaltfvars.TFVars( installConfig.Config.Platform.BareMetal.LibvirtURI, installConfig.Config.Platform.BareMetal.BootstrapProvisioningIP, @@ -418,8 +407,6 @@ func (t *TerraformVariables) Generate(parents asset.Parents) error { installConfig.Config.Platform.BareMetal.ProvisioningBridge, installConfig.Config.Platform.BareMetal.Hosts, string(*rhcosImage), - ignitionURL.String(), - base64.StdEncoding.EncodeToString(rootCA.Cert()), ) if err != nil { return errors.Wrapf(err, "failed to get %s Terraform variables", platform) diff --git a/pkg/tfvars/baremetal/baremetal.go b/pkg/tfvars/baremetal/baremetal.go index da2b9ede117..5e76ecb1134 100644 --- a/pkg/tfvars/baremetal/baremetal.go +++ b/pkg/tfvars/baremetal/baremetal.go @@ -22,8 +22,6 @@ type config struct { BootstrapOSImage string `json:"bootstrap_os_image,omitempty"` ExternalBridge string `json:"external_bridge,omitempty"` ProvisioningBridge string `json:"provisioning_bridge,omitempty"` - IgnitionURL string `json:"ignition_url,omitempty"` - IgnitionURLCACert string `json:"ignition_url_ca_cert,omitempty"` // Data required for control plane deployment - several maps per host, because of terraform's limitations Hosts []map[string]interface{} `json:"hosts"` @@ -34,7 +32,7 @@ type config struct { } // TFVars generates bare metal specific Terraform variables. -func TFVars(libvirtURI, bootstrapProvisioningIP, bootstrapOSImage, externalBridge, provisioningBridge string, platformHosts []*baremetal.Host, image string, ignitionURL string, ignitionURLCACert string) ([]byte, error) { +func TFVars(libvirtURI, bootstrapProvisioningIP, bootstrapOSImage, externalBridge, provisioningBridge string, platformHosts []*baremetal.Host, image string) ([]byte, error) { bootstrapOSImage, err := cache.DownloadImageFile(bootstrapOSImage) if err != nil { return nil, errors.Wrap(err, "failed to use cached bootstrap libvirt image") @@ -134,8 +132,6 @@ func TFVars(libvirtURI, bootstrapProvisioningIP, bootstrapOSImage, externalBridg DriverInfos: driverInfos, RootDevices: rootDevices, InstanceInfos: instanceInfos, - IgnitionURL: ignitionURL, - IgnitionURLCACert: ignitionURLCACert, } return json.MarshalIndent(cfg, "", " ")