create devops job with admin ns name

Signed-off-by: runzexia <runzexia@yunify.com>
This commit is contained in:
runzexia
2020-03-23 16:13:49 +08:00
parent e06a1a8335
commit a48d7f5478
2 changed files with 24 additions and 21 deletions

View File

@@ -197,18 +197,7 @@ func (c *Controller) syncHandler(key string) error {
if !sliceutil.HasString(project.ObjectMeta.Finalizers, devopsv1alpha3.DevOpsProjectFinalizerName) {
copyProject.ObjectMeta.Finalizers = append(copyProject.ObjectMeta.Finalizers, devopsv1alpha3.DevOpsProjectFinalizerName)
}
// Check project exists, otherwise we will create it.
_, err := c.devopsClient.GetDevOpsProject(key)
if err != nil && devopsClient.GetDevOpsStatusCode(err) != http.StatusNotFound {
klog.Error(err, fmt.Sprintf("failed to get project %s ", key))
return err
} else {
_, err := c.devopsClient.CreateDevOpsProject(key)
if err != nil {
klog.Error(err, fmt.Sprintf("failed to get project %s ", key))
return err
}
}
if project.Status.AdminNamespace != "" {
ns, err := c.namespaceLister.Get(project.Status.AdminNamespace)
if err != nil && !errors.IsNotFound(err) {
@@ -244,6 +233,7 @@ func (c *Controller) syncHandler(key string) error {
return err
}
}
} else {
// list ns by devops project
namespaces, err := c.namespaceLister.List(
@@ -283,6 +273,7 @@ func (c *Controller) syncHandler(key string) error {
}
}
if !reflect.DeepEqual(copyProject, project) {
_, err := c.kubesphereClient.DevopsV1alpha3().DevOpsProjects().Update(copyProject)
if err != nil {
@@ -290,6 +281,18 @@ func (c *Controller) syncHandler(key string) error {
return err
}
}
// Check project exists, otherwise we will create it.
_, err := c.devopsClient.GetDevOpsProject(copyProject.Status.AdminNamespace)
if err != nil && devopsClient.GetDevOpsStatusCode(err) != http.StatusNotFound {
klog.Error(err, fmt.Sprintf("failed to get project %s ", key))
return err
} else {
_, err := c.devopsClient.CreateDevOpsProject(copyProject.Status.AdminNamespace)
if err != nil {
klog.Error(err, fmt.Sprintf("failed to get project %s ", key))
return err
}
}
} else {
// Finalizers processing logic