X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=cmd%2Fbpa-operator%2Fpkg%2Fcontroller%2Fprovisioning%2Fprovisioning_controller.go;h=da0c18df069191937fe7434279db394949cc2c01;hb=refs%2Fchanges%2F88%2F4188%2F4;hp=5b5cc411298f200d1ad0acac21f6631d996cdaca;hpb=8ee3174032635cb6fe1e2cffe7f12ba60433b738;p=icn.git diff --git a/cmd/bpa-operator/pkg/controller/provisioning/provisioning_controller.go b/cmd/bpa-operator/pkg/controller/provisioning/provisioning_controller.go index 5b5cc41..da0c18d 100644 --- a/cmd/bpa-operator/pkg/controller/provisioning/provisioning_controller.go +++ b/cmd/bpa-operator/pkg/controller/provisioning/provisioning_controller.go @@ -192,7 +192,7 @@ func (r *ReconcileProvisioning) Reconcile(request reconcile.Request) (reconcile. mastersList := provisioningInstance.Spec.Masters workersList := provisioningInstance.Spec.Workers kudPlugins := provisioningInstance.Spec.KUDPlugins - + podSubnet := provisioningInstance.Spec.PodSubnet bareMetalHostList, _ := listBareMetalHosts(r.bmhClient) virtletVMList, _ := listVirtletVMs(r.clientset) @@ -254,9 +254,12 @@ func (r *ReconcileProvisioning) Reconcile(request reconcile.Request) (reconcile. err = fmt.Errorf("IP address not found for host with MAC address %s \n", masterMAC) return reconcile.Result{}, err } + allString += masterLabel + " ansible_ssh_host=" + hostIPaddress + " ansible_ssh_port=22" + "\n" } - allString += masterLabel + " ansible_ssh_host=" + hostIPaddress + " ansible_ssh_port=22" + "\n" + if clusterType == "virtlet-vm" { + allString += masterLabel + " ansible_ssh_host=" + hostIPaddress + " ansible_ssh_port=22" + " ansible_ssh_user=root" + " ansible_ssh_pass=root" + "\n" + } masterString += masterLabel + "\n" clusterData[masterTag + masterLabel] = hostIPaddress @@ -334,11 +337,13 @@ func (r *ReconcileProvisioning) Reconcile(request reconcile.Request) (reconcile. fmt.Errorf("IP address not found for host with MAC address %s \n", workerMAC) return reconcile.Result{}, err } + allString += workerLabel + " ansible_ssh_host=" + hostIPaddress + " ansible_ssh_port=22" + "\n" } fmt.Printf("%s : %s \n", hostIPaddress, workerMAC) - - allString += workerLabel + " ansible_ssh_host=" + hostIPaddress + " ansible_ssh_port=22" + "\n" + if clusterType == "virtlet-vm" { + allString += masterLabel + " ansible_ssh_host=" + hostIPaddress + " ansible_ssh_port=22" + " ansible_ssh_user=root" + " ansible_ssh_pass=root" + "\n" + } workerString += workerLabel + "\n" clusterData[workerTag + workerLabel] = hostIPaddress @@ -409,6 +414,7 @@ func (r *ReconcileProvisioning) Reconcile(request reconcile.Request) (reconcile. return reconcile.Result{}, err } + if clusterType != "virtlet-vm" { _, err = hostFile.NewRawSection("ovn-central", masterString) if err != nil { fmt.Printf("Error occured while creating section \n %v", err) @@ -426,7 +432,7 @@ func (r *ReconcileProvisioning) Reconcile(request reconcile.Request) (reconcile. fmt.Printf("Error occured while creating section \n %v", err) return reconcile.Result{}, err } - + } _, err = hostFile.NewRawSection("k8s-cluster:children", "kube-node\n" + "kube-master") if err != nil { fmt.Printf("Error occured while creating section \n %v", err) @@ -438,7 +444,7 @@ func (r *ReconcileProvisioning) Reconcile(request reconcile.Request) (reconcile. hostFile.SaveTo(iniHostFilePath) //Install KUD - err = createKUDinstallerJob(clusterName, request.Namespace, clusterLabel, kudPlugins, r.clientset) + err = createKUDinstallerJob(clusterName, request.Namespace, clusterLabel, podSubnet, kudPlugins, r.clientset) if err != nil { fmt.Printf("Error occured while creating KUD Installer job for cluster %v\n ERROR: %v", clusterName, err) return reconcile.Result{}, err @@ -619,12 +625,15 @@ func getConfigMapData(namespace, clusterName string, clientset kubernetes.Interf } //Function to create job for KUD installation -func createKUDinstallerJob(clusterName, namespace string, labels map[string]string, kudPlugins []string, clientset kubernetes.Interface) error{ +func createKUDinstallerJob(clusterName, namespace string, labels map[string]string, podSubnet string, kudPlugins []string, clientset kubernetes.Interface) error{ var backOffLimit int32 = 0 var privi bool = true installerString := " ./installer --cluster " + clusterName + if len(podSubnet) > 0 { + installerString += " --network " + podSubnet + } // Check if any plugin was specified if len(kudPlugins) > 0 { @@ -669,6 +678,11 @@ func createKUDinstallerJob(clusterName, namespace string, labels map[string]stri }, }, + EnvFrom: []corev1.EnvFromSource{ + { + ConfigMapRef: &corev1.ConfigMapEnvSource{LocalObjectReference: corev1.LocalObjectReference{Name: "kud-installer"}}, + }, + }, Command: []string{"/bin/sh","-c"}, Args: []string{"cp -r /.ssh /root/; chmod -R 600 /root/.ssh;" + installerString}, SecurityContext: &corev1.SecurityContext{ @@ -867,8 +881,8 @@ func listVirtletVMs(clientset kubernetes.Interface) ([]VirtletVM, error) { podStatusJson, _ := json.Marshal(pod.Status) json.Unmarshal([]byte(podStatusJson), &podStatus) - if runtime == "virtlet.cloud" && podStatus.Phase == "Running" && podAnnotation["v1.multus-cni.io/default-network"] != nil { - ns := podAnnotation["v1.multus-cni.io/default-network"].(string) + if runtime == "virtlet.cloud" && podStatus.Phase == "Running" && podAnnotation["k8s.v1.cni.cncf.io/networks-status"] != nil { + ns := podAnnotation["k8s.v1.cni.cncf.io/networks-status"].(string) json.Unmarshal([]byte(ns), &podDefaultNetStatus) vmPodList = append(vmPodList, VirtletVM{podStatus.PodIP, podDefaultNetStatus[0].Mac})