Signed-off-by: llhuii <liulinghui@huawei.com>tags/v0.2.0
| @@ -409,6 +409,13 @@ func (fc *FederatedController) createPod(job *sednav1.FederatedLearningJob) (act | |||
| return active, fmt.Errorf("failed to get model %s: %w", | |||
| modelName, err) | |||
| } | |||
| secretName := model.Spec.CredentialName | |||
| var modelSecret *v1.Secret | |||
| if secretName != "" { | |||
| modelSecret, _ = fc.kubeClient.CoreV1().Secrets(job.Namespace).Get(context.TODO(), secretName, metav1.GetOptions{}) | |||
| } | |||
| participantsCount := strconv.Itoa(len(job.Spec.TrainingWorkers)) | |||
| // deliver pod for aggregation worker | |||
| @@ -432,8 +439,9 @@ func (fc *FederatedController) createPod(job *sednav1.FederatedLearningJob) (act | |||
| aggWorkerParam.mounts = append(aggWorkerParam.mounts, | |||
| WorkerMount{ | |||
| URL: &MountURL{ | |||
| URL: model.Spec.URL, | |||
| Mode: workerMountWriteOnly, | |||
| URL: model.Spec.URL, | |||
| Mode: workerMountWriteOnly, | |||
| Secret: modelSecret, | |||
| }, | |||
| EnvName: "MODEL_URL", | |||
| }, | |||
| @@ -467,20 +475,28 @@ func (fc *FederatedController) createPod(job *sednav1.FederatedLearningJob) (act | |||
| datasetName, err) | |||
| } | |||
| secretName := dataset.Spec.CredentialName | |||
| var datasetSecret *v1.Secret | |||
| if secretName != "" { | |||
| datasetSecret, _ = fc.kubeClient.CoreV1().Secrets(job.Namespace).Get(context.TODO(), secretName, metav1.GetOptions{}) | |||
| } | |||
| // Configure container mounting and Env information by initial WorkerParam | |||
| var workerParam *WorkerParam = new(WorkerParam) | |||
| workerParam.mounts = append(workerParam.mounts, | |||
| WorkerMount{ | |||
| URL: &MountURL{ | |||
| URL: model.Spec.URL, | |||
| URL: model.Spec.URL, | |||
| Secret: modelSecret, | |||
| }, | |||
| EnvName: "MODEL_URL", | |||
| }, | |||
| WorkerMount{ | |||
| URL: &MountURL{ | |||
| URL: dataset.Spec.URL, | |||
| URL: dataset.Spec.URL, | |||
| Secret: datasetSecret, | |||
| }, | |||
| EnvName: "TRAIN_DATASET_URL", | |||
| }, | |||
| @@ -434,8 +434,16 @@ func (jc *JointInferenceServiceController) createCloudWorker(service *sednav1.Jo | |||
| var workerParam WorkerParam | |||
| secretName := cloudModel.Spec.CredentialName | |||
| var modelSecret *v1.Secret | |||
| if secretName != "" { | |||
| modelSecret, _ = jc.kubeClient.CoreV1().Secrets(service.Namespace).Get(context.TODO(), secretName, metav1.GetOptions{}) | |||
| } | |||
| workerParam.mounts = append(workerParam.mounts, WorkerMount{ | |||
| URL: &MountURL{URL: cloudModel.Spec.URL}, | |||
| URL: &MountURL{ | |||
| URL: cloudModel.Spec.URL, | |||
| Secret: modelSecret, | |||
| }, | |||
| Name: "model", | |||
| EnvName: "MODEL_URL", | |||
| }) | |||
| @@ -468,6 +476,12 @@ func (jc *JointInferenceServiceController) createEdgeWorker(service *sednav1.Joi | |||
| edgeModelName, err) | |||
| } | |||
| secretName := edgeModel.Spec.CredentialName | |||
| var modelSecret *v1.Secret | |||
| if secretName != "" { | |||
| modelSecret, _ = jc.kubeClient.CoreV1().Secrets(service.Namespace).Get(context.TODO(), secretName, metav1.GetOptions{}) | |||
| } | |||
| // FIXME(llhuii): only the case that Spec.NodeName specified is support, | |||
| // will support Spec.NodeSelector. | |||
| // get bigModelIP from nodeName in cloudWorker | |||
| @@ -483,7 +497,10 @@ func (jc *JointInferenceServiceController) createEdgeWorker(service *sednav1.Joi | |||
| var workerParam WorkerParam | |||
| workerParam.mounts = append(workerParam.mounts, WorkerMount{ | |||
| URL: &MountURL{URL: edgeModel.Spec.URL}, | |||
| URL: &MountURL{ | |||
| URL: edgeModel.Spec.URL, | |||
| Secret: modelSecret, | |||
| }, | |||
| Name: "model", | |||
| EnvName: "MODEL_URL", | |||
| }) | |||
| @@ -54,8 +54,10 @@ type IncrementalCondData struct { | |||
| // the data samples reference will be stored into this URL. | |||
| // The content of this url would be: | |||
| // s3://dataset/ mnist/0.jpg | |||
| // s3://dataset/ mnist/1.jpg | |||
| // # the first uncomment line means the directory | |||
| // s3://dataset/ | |||
| // mnist/0.jpg | |||
| // mnist/1.jpg | |||
| DataIndexURL string `json:"dataIndexURL,omitempty"` | |||
| OutputDir string `json:"outputDir,omitempty"` | |||