🤬
  • ■ ■ ■ ■
    pkg/dto/component.go
    skipped 44 lines
    45 45   Name: c.Name,
    46 46   Type: c.Type,
    47 47   Version: c.Version,
    48  - Status: constant.StatusInitializing,
     48 + Status: constant.StatusCreating,
    49 49   Vars: string(vars),
    50 50   }
    51 51  }
    skipped 1 lines
  • ■ ■ ■ ■ ■ ■
    pkg/service/cluster_storage_provisioner.go
    skipped 135 lines
    136 136   return fmt.Errorf("save tasklog failed, err: %v", err)
    137 137   }
    138 138   
     139 + writer, err := ansible.CreateAnsibleLogWriterWithId(cluster.Name, fmt.Sprintf("%s (%s)", dp.ID, constant.StatusEnabled))
     140 + if err != nil {
     141 + _ = c.taskLogService.EndDetail(&task, dp.Name, "provisioner", constant.TaskLogStatusFailed, err.Error())
     142 + return fmt.Errorf("create ansible log writer failed, err: %v", err)
     143 + }
     144 + 
    139 145   if err := db.DB.Model(&model.ClusterStorageProvisioner{}).Where("id = ?", dp.ID).
    140 146   Updates(map[string]interface{}{"status": constant.StatusInitializing, "message": ""}).Error; err != nil {
     147 + _ = c.taskLogService.EndDetail(&task, dp.Name, "provisioner", constant.TaskLogStatusFailed, err.Error())
    141 148   return err
    142 149   }
    143 150   
    144  - //playbook
    145  - go c.docreate(&cluster, task, dp, creation.Vars)
     151 + go c.docreate(&cluster, task, dp, creation.Vars, writer)
    146 152   return nil
    147 153  }
    148 154   
    149  -func (c clusterStorageProvisionerService) docreate(cluster *model.Cluster, task model.TaskLogDetail, dp model.ClusterStorageProvisioner, vars map[string]interface{}) {
    150  - admCluster, writer, err := c.loadAdmCluster(*cluster, dp, vars, constant.StatusEnabled)
     155 +func (c clusterStorageProvisionerService) docreate(cluster *model.Cluster, task model.TaskLogDetail, dp model.ClusterStorageProvisioner, vars map[string]interface{}, writer io.Writer) {
     156 + admCluster, err := c.loadAdmCluster(*cluster, dp, vars, constant.StatusEnabled)
    151 157   if err != nil {
    152 158   _ = c.taskLogService.EndDetail(&task, dp.Name, "provisioner", constant.TaskLogStatusFailed, err.Error())
    153 159   c.errHandlerProvisioner(dp, constant.StatusFailed, err)
    skipped 56 lines
    210 216   return fmt.Errorf("save tasklog failed, err: %v", err)
    211 217   }
    212 218   
     219 + writer, err := ansible.CreateAnsibleLogWriterWithId(cluster.Name, fmt.Sprintf("%s (%s)", provisioner.ID, constant.StatusDisabled))
     220 + if err != nil {
     221 + _ = c.taskLogService.EndDetail(&task, provisioner.Name, "provisioner", constant.TaskLogStatusFailed, err.Error())
     222 + return fmt.Errorf("create ansible log writer failed, err: %v", err)
     223 + }
     224 + 
    213 225   if err := db.DB.Model(&model.ClusterStorageProvisioner{}).Where("id = ?", provisioner.ID).
    214 226   Updates(map[string]interface{}{"status": constant.StatusTerminating, "message": ""}).Error; err != nil {
     227 + _ = c.taskLogService.EndDetail(&task, provisioner.Name, "provisioner", constant.TaskLogStatusFailed, err.Error())
    215 228   return err
    216 229   }
    217 230   
    218  - go c.dodelete(&cluster, task, provisioner, Vars)
     231 + go c.dodelete(&cluster, task, provisioner, Vars, writer)
    219 232   
    220 233   return nil
    221 234  }
    222 235   
    223  -func (c clusterStorageProvisionerService) dodelete(cluster *model.Cluster, task model.TaskLogDetail, provisioner model.ClusterStorageProvisioner, vars map[string]interface{}) {
    224  - admCluster, writer, err := c.loadAdmCluster(*cluster, provisioner, vars, constant.StatusDisabled)
     236 +func (c clusterStorageProvisionerService) dodelete(cluster *model.Cluster, task model.TaskLogDetail, provisioner model.ClusterStorageProvisioner, vars map[string]interface{}, writer io.Writer) {
     237 + admCluster, err := c.loadAdmCluster(*cluster, provisioner, vars, constant.StatusDisabled)
    225 238   if err != nil {
    226 239   _ = c.taskLogService.EndDetail(&task, provisioner.Name, "provisioner", constant.TaskLogStatusFailed, err.Error())
    227 240   c.errHandlerProvisioner(provisioner, constant.StatusFailed, err)
    skipped 115 lines
    343 356   }
    344 357  }
    345 358   
    346  -func (c clusterStorageProvisionerService) loadAdmCluster(cluster model.Cluster, provisioner model.ClusterStorageProvisioner, vars map[string]interface{}, operation string) (*adm.AnsibleHelper, io.Writer, error) {
     359 +func (c clusterStorageProvisionerService) loadAdmCluster(cluster model.Cluster, provisioner model.ClusterStorageProvisioner, vars map[string]interface{}, operation string) (*adm.AnsibleHelper, error) {
    347 360   admCluster := adm.NewAnsibleHelper(cluster)
    348 361   
    349 362   if len(vars) != 0 {
    skipped 41 lines
    391 404   }
    392 405   }
    393 406   
    394  - writer, err := ansible.CreateAnsibleLogWriterWithId(cluster.Name, fmt.Sprintf("%s (%s)", provisioner.ID, operation))
    395  - if err != nil {
    396  - return admCluster, writer, err
    397  - }
    398 407   admCluster.Kobe.SetVar(facts.ProvisionerNamespaceFactName, provisioner.Namespace)
    399 408   
    400 409   switch provisioner.Type {
    skipped 14 lines
    415 424   case "rook-ceph":
    416 425   admCluster.Kobe.SetVar(facts.EnableRookFactName, operation)
    417 426   }
    418  - return admCluster, writer, err
     427 + return admCluster, nil
    419 428  }
    420 429   
  • ■ ■ ■ ■ ■ ■
    pkg/service/component.go
    skipped 166 lines
    167 167   LastProbeTime: time.Now().Unix(),
    168 168   Status: constant.TaskLogStatusRunning,
    169 169   }
     170 + 
    170 171   if err := c.taskLogService.StartDetail(&task); err != nil {
    171 172   c.errHandlerComponent(component, constant.StatusDisabled, err)
    172 173   return fmt.Errorf("save tasklog failed, err: %v", err)
    173 174   }
    174 175   
    175  - go c.docreate(&cluster, task, component, creation.Vars)
     176 + writer, err := ansible.CreateAnsibleLogWriterWithId(cluster.Name, fmt.Sprintf("%s (%s)", component.ID, constant.StatusDisabled))
     177 + if err != nil {
     178 + _ = c.taskLogService.EndDetail(&task, component.Name, "component", constant.TaskLogStatusFailed, err.Error())
     179 + return fmt.Errorf("create ansible log writer failed, err: %v", err)
     180 + }
     181 + 
     182 + if err := db.DB.Model(&model.ClusterSpecComponent{}).Where("id = ?", component.ID).
     183 + Updates(map[string]interface{}{"status": constant.StatusInitializing, "message": ""}).Error; err != nil {
     184 + _ = c.taskLogService.EndDetail(&task, component.Name, "component", constant.TaskLogStatusFailed, err.Error())
     185 + return err
     186 + }
     187 + 
     188 + go c.docreate(&cluster, task, component, creation.Vars, writer)
    176 189   return nil
    177 190  }
    178 191   
    179  -func (c componentService) docreate(cluster *model.Cluster, task model.TaskLogDetail, component model.ClusterSpecComponent, vars map[string]interface{}) {
    180  - admCluster, writer, err := c.loadAdmCluster(*cluster, component, vars, constant.StatusEnabled)
     192 +func (c componentService) docreate(cluster *model.Cluster, task model.TaskLogDetail, component model.ClusterSpecComponent, vars map[string]interface{}, writer io.Writer) {
     193 + admCluster, err := c.loadAdmCluster(*cluster, component, vars, constant.StatusEnabled)
    181 194   if err != nil {
    182 195   _ = c.taskLogService.EndDetail(&task, component.Name, "component", constant.TaskLogStatusFailed, err.Error())
    183 196   c.errHandlerComponent(component, constant.StatusDisabled, err)
    skipped 46 lines
    230 243   return fmt.Errorf("save tasklog failed, err: %v", err)
    231 244   }
    232 245   
     246 + writer, err := ansible.CreateAnsibleLogWriterWithId(cluster.Name, fmt.Sprintf("%s (%s)", component.ID, constant.StatusDisabled))
     247 + if err != nil {
     248 + _ = c.taskLogService.EndDetail(&task, component.Name, "component", constant.TaskLogStatusFailed, err.Error())
     249 + return fmt.Errorf("create ansible log writer failed, err: %v", err)
     250 + }
     251 + 
    233 252   if err := db.DB.Model(&model.ClusterSpecComponent{}).Where("id = ?", component.ID).
    234 253   Updates(map[string]interface{}{"status": constant.StatusTerminating, "message": ""}).Error; err != nil {
     254 + _ = c.taskLogService.EndDetail(&task, component.Name, "component", constant.TaskLogStatusFailed, err.Error())
    235 255   return err
    236 256   }
    237 257   
    238  - go c.dodelete(&cluster, task, component)
     258 + go c.dodelete(&cluster, task, component, writer)
    239 259   
    240 260   return nil
    241 261  }
    242 262   
    243  -func (c componentService) dodelete(cluster *model.Cluster, task model.TaskLogDetail, component model.ClusterSpecComponent) {
    244  - admCluster, writer, err := c.loadAdmCluster(*cluster, component, map[string]interface{}{}, constant.StatusDisabled)
     263 +func (c componentService) dodelete(cluster *model.Cluster, task model.TaskLogDetail, component model.ClusterSpecComponent, writer io.Writer) {
     264 + admCluster, err := c.loadAdmCluster(*cluster, component, map[string]interface{}{}, constant.StatusDisabled)
    245 265   if err != nil {
    246 266   _ = c.taskLogService.EndDetail(&task, component.Name, "component", constant.TaskLogStatusFailed, err.Error())
    247 267   c.errHandlerComponent(component, constant.StatusFailed, err)
    skipped 159 lines
    407 427   }
    408 428  }
    409 429   
    410  -func (c componentService) loadAdmCluster(cluster model.Cluster, component model.ClusterSpecComponent, vars map[string]interface{}, operation string) (*adm.AnsibleHelper, io.Writer, error) {
     430 +func (c componentService) loadAdmCluster(cluster model.Cluster, component model.ClusterSpecComponent, vars map[string]interface{}, operation string) (*adm.AnsibleHelper, error) {
    411 431   admCluster := adm.NewAnsibleHelper(cluster)
    412 432   
    413 433   if len(vars) != 0 {
    skipped 2 lines
    416 436   admCluster.Kobe.SetVar(k, fmt.Sprintf("%v", v))
    417 437   }
    418 438   }
    419  - }
    420  - 
    421  - writer, err := ansible.CreateAnsibleLogWriterWithId(cluster.Name, fmt.Sprintf("%s (%s)", component.ID, operation))
    422  - if err != nil {
    423  - return admCluster, writer, err
    424 439   }
    425 440   
    426 441   switch component.Name {
    skipped 14 lines
    441 456   case "istio":
    442 457   admCluster.Kobe.SetVar(facts.EnableIstioFactName, operation)
    443 458   }
    444  - return admCluster, writer, err
     459 + return admCluster, nil
    445 460  }
    446 461   
    447 462  func (c componentService) loadPlayBookName(name string) string {
    skipped 17 lines
Please wait...
Page is in error, reload to recover