🤬
  • ■ ■ ■ ■ ■ ■
    pkg/cloud_provider/client/fusioncompute.go
    skipped 25 lines
    26 26   Vars map[string]interface{}
    27 27  }
    28 28   
    29  -func (f *fusionComputeClient) ListDatacenter() ([]string, error) {
     29 +func (f *fusionComputeClient) ListDatacenter() ([]string, string, error) {
    30 30   c := f.newFusionComputeClient()
     31 + version := ""
    31 32   if err := c.Connect(); err != nil {
    32  - return nil, err
     33 + return nil, version, err
    33 34   }
    34 35   defer func() {
    35 36   if err := c.DisConnect(); err != nil {
    skipped 3 lines
    39 40   sm := site.NewManager(c)
    40 41   ss, err := sm.ListSite()
    41 42   if err != nil {
    42  - return nil, err
     43 + return nil, version, err
    43 44   }
    44 45   var result []string
    45 46   for _, s := range ss {
    46 47   result = append(result, s.Name)
    47 48   }
    48  - return result, nil
     49 + return result, version, nil
    49 50  }
    50 51   
    51 52  func (f *fusionComputeClient) ListClusters() ([]interface{}, error) {
    skipped 332 lines
    384 385   return results, nil
    385 386  }
    386 387   
     388 +func (v *fusionComputeClient) ListFolders() ([]string, error) {
     389 + folders := []string{}
     390 + return folders, nil
     391 +}
     392 + 
  • ■ ■ ■ ■ ■ ■
    pkg/cloud_provider/client/openstack.go
    skipped 44 lines
    45 45   }
    46 46  }
    47 47   
    48  -func (v *openStackClient) ListDatacenter() ([]string, error) {
     48 +func (v *openStackClient) ListDatacenter() ([]string, string, error) {
    49 49   var result []string
     50 + version := ""
    50 51   
    51 52   provider, err := v.GetAuth()
    52 53   if err != nil {
    53  - return result, err
     54 + return result, version, err
    54 55   }
    55 56   
    56 57   client := &http.Client{}
    skipped 3 lines
    60 61   body, _ := ioutil.ReadAll(resp.Body)
    61 62   m := make(map[string]interface{})
    62 63   if err := json.Unmarshal([]byte(body), &m); err != nil {
    63  - return result, err
     64 + return result, version, err
    64 65   }
    65 66   key, exist := m["regions"]
    66 67   if exist {
    skipped 3 lines
    70 71   result = append(result, region["id"].(string))
    71 72   }
    72 73   } else {
    73  - return result, errors.New(GetRegionError)
     74 + return result, version, errors.New(GetRegionError)
    74 75   }
    75 76   
    76  - return result, nil
     77 + return result, version, nil
    77 78  }
    78 79   
    79 80  func (v *openStackClient) ListClusters() ([]interface{}, error) {
    skipped 335 lines
    415 416   return results, nil
    416 417  }
    417 418   
     419 +func (v *openStackClient) ListFolders() ([]string, error) {
     420 + folders := []string{}
     421 + return folders, nil
     422 +}
     423 + 
  • ■ ■ ■ ■ ■
    pkg/cloud_provider/client/vsphere.go
    skipped 33 lines
    34 34   }
    35 35  }
    36 36   
    37  -func (v *vSphereClient) ListDatacenter() ([]string, error) {
     37 +func (v *vSphereClient) ListDatacenter() ([]string, string, error) {
    38 38   err := v.GetConnect()
     39 + version := ""
    39 40   if err != nil {
    40  - return nil, err
     41 + return nil, version, err
    41 42   }
    42 43   client := v.Client.Client
    43 44   var result []string
    44  - 
     45 + version = v.Client.ServiceContent.About.Version
    45 46   var datacenters []*object.Datacenter
    46 47   f := find.NewFinder(client, true)
    47 48   datacenters, err = f.DatacenterList(context.TODO(), "*")
    48 49   if err != nil {
    49  - return nil, err
     50 + return nil, version, err
    50 51   }
    51  - 
    52 52   for _, d := range datacenters {
    53 53   datacenterPath := d.Common.InventoryPath
    54 54   result = append(result, strings.Replace(datacenterPath, "/", "", 1))
    55 55   }
    56  - return result, nil
     56 + return result, version, nil
    57 57  }
    58 58   
    59 59  func (v *vSphereClient) ListClusters() ([]interface{}, error) {
    skipped 502 lines
    562 562   return result, nil
    563 563  }
    564 564   
     565 +func (v *vSphereClient) ListFolders() ([]string, error) {
     566 + result := []string{}
     567 + if err := v.GetConnect(); err != nil {
     568 + return result, err
     569 + }
     570 + client := v.Client.Client
     571 + ctx := context.TODO()
     572 + f := find.NewFinder(client, true)
     573 + dc, err := f.Datacenter(ctx, v.Vars["datacenter"].(string))
     574 + if err != nil {
     575 + return nil, err
     576 + }
     577 + f.SetDatacenter(dc)
     578 + folders, err := f.FolderList(ctx, "*")
     579 + if err != nil {
     580 + return nil, err
     581 + }
     582 + for _, fold := range folders {
     583 + result = append(result, fold.Name())
     584 + }
     585 + return result, nil
     586 +}
     587 + 
  • ■ ■ ■ ■ ■
    pkg/cloud_provider/cloud_client.go
    skipped 5 lines
    6 6  )
    7 7   
    8 8  type CloudClient interface {
    9  - ListDatacenter() ([]string, error)
     9 + ListDatacenter() ([]string, string, error)
    10 10   ListClusters() ([]interface{}, error)
    11 11   ListTemplates() ([]interface{}, error)
    12 12   ListFlavors() ([]interface{}, error)
    skipped 2 lines
    15 15   ImageExist(template string) (bool, error)
    16 16   CreateDefaultFolder() error
    17 17   ListDatastores() ([]client.DatastoreResult, error)
     18 + ListFolders() ([]string, error)
    18 19  }
    19 20   
    20 21  func NewCloudClient(vars map[string]interface{}) CloudClient {
    skipped 11 lines
  • ■ ■ ■ ■ ■ ■
    pkg/controller/region.go
    skipped 217 lines
    218 218   if err != nil {
    219 219   return nil, err
    220 220   }
    221  - data, err := r.RegionService.ListDatacenter(req)
     221 + data, version, err := r.RegionService.ListDatacenter(req)
    222 222   if err != nil {
    223 223   return nil, err
    224 224   }
    225  - return &dto.CloudRegionResponse{Result: data}, err
     225 + return &dto.CloudRegionResponse{Result: data, Version: version}, err
    226 226  }
    227 227   
  • ■ ■ ■ ■ ■ ■
    pkg/controller/zone.go
    skipped 258 lines
    259 259   return z.ZoneService.ListDatastores(req)
    260 260  }
    261 261   
     262 +func (z ZoneController) PostFolders() ([]string, error) {
     263 + var req dto.CloudZoneRequest
     264 + err := z.Ctx.ReadJSON(&req)
     265 + if err != nil {
     266 + return nil, err
     267 + }
     268 + return z.ZoneService.ListFolders(req)
     269 +}
     270 + 
  • ■ ■ ■ ■ ■
    pkg/dto/region.go
    skipped 22 lines
    23 23  }
    24 24   
    25 25  type CloudRegionResponse struct {
    26  - Result interface{} `json:"result"`
     26 + Result interface{} `json:"result"`
     27 + Version string `json:"version"`
    27 28  }
    28 29   
    29 30  type RegionUpdate struct {
    skipped 6 lines
  • ■ ■ ■ ■ ■ ■
    pkg/service/cluster_create.go
    skipped 108 lines
    109 109   tx.Rollback()
    110 110   }
    111 111   
     112 + var user model.User
     113 + db.DB.Model(&model.User{}).Where("name = admin").First(&user)
     114 + 
     115 + subscribeUser := model.MsgSubscribeUser{
     116 + SubscribeID: subscribe.ID,
     117 + UserID: user.ID,
     118 + }
     119 + if err := tx.Create(&subscribeUser).Error; err != nil {
     120 + tx.Rollback()
     121 + }
     122 + 
    112 123   writer, err := ansible.CreateAnsibleLogWriterWithId(cluster.Name, cluster.TaskLog.ID)
    113 124   if err != nil {
    114 125   tx.Rollback()
    skipped 15 lines
  • ■ ■ ■ ■ ■ ■
    pkg/service/region.go
    skipped 29 lines
    30 30   Delete(name string) error
    31 31   Create(creation dto.RegionCreate) (*dto.Region, error)
    32 32   Batch(op dto.RegionOp) error
    33  - ListDatacenter(creation dto.RegionDatacenterRequest) ([]string, error)
     33 + ListDatacenter(creation dto.RegionDatacenterRequest) ([]string, string, error)
    34 34   Update(name string, update dto.RegionUpdate) (*dto.Region, error)
    35 35  }
    36 36   
    skipped 149 lines
    186 186   return nil
    187 187  }
    188 188   
    189  -func (r regionService) ListDatacenter(creation dto.RegionDatacenterRequest) ([]string, error) {
     189 +func (r regionService) ListDatacenter(creation dto.RegionDatacenterRequest) ([]string, string, error) {
    190 190   cloudClient := cloud_provider.NewCloudClient(creation.RegionVars.(map[string]interface{}))
    191 191   var result []string
    192 192   if cloudClient != nil {
    193  - result, err := cloudClient.ListDatacenter()
    194  - if err != nil {
    195  - return result, err
    196  - }
    197  - return result, err
     193 + return cloudClient.ListDatacenter()
    198 194   }
    199  - return result, nil
     195 + return result, "", errors.New("client is nil")
    200 196  }
    201 197   
  • ■ ■ ■ ■ ■ ■
    pkg/service/zone.go
    skipped 36 lines
    37 37   ListByRegionName(regionName string) ([]dto.Zone, error)
    38 38   ListDatastores(creation dto.CloudZoneRequest) ([]dto.CloudDatastore, error)
    39 39   UploadImage(zoneName string) error
     40 + ListFolders(creation dto.CloudZoneRequest) ([]string, error)
    40 41  }
    41 42   
    42 43  type zoneService struct {
    skipped 603 lines
    646 647   return result, err
    647 648  }
    648 649   
     650 +func (z zoneService) ListFolders(creation dto.CloudZoneRequest) ([]string, error) {
     651 + var clientVars map[string]interface{}
     652 + clientVars = creation.CloudVars.(map[string]interface{})
     653 + cloudClient := cloud_provider.NewCloudClient(clientVars)
     654 + return cloudClient.ListFolders()
     655 +}
     656 + 
Please wait...
Page is in error, reload to recover