feat(region): support hcsop

This commit is contained in:
ioito
2022-12-07 21:48:41 +08:00
parent 32a9f1840a
commit e0bd0574fb
19 changed files with 535 additions and 14 deletions
+27
View File
@@ -345,6 +345,7 @@ type SResources struct {
KubeClusters TResource
Storages TResource
ModelartsPool TResource
Wires TResource
}
func NewResources() *SResources {
@@ -360,6 +361,7 @@ func NewResources() *SResources {
Buckets: NewBaseResources(&compute.Buckets),
KubeClusters: NewBaseResources(&compute.KubeClusters),
ModelartsPool: NewBaseResources(&compute.ModelartsPools),
Wires: NewBaseResources(&compute.Wires),
}
}
@@ -411,6 +413,10 @@ func (self *SResources) Init(ctx context.Context, userCred mcclient.TokenCredent
if err != nil {
errs = append(errs, errors.Wrapf(err, "ModelartsPool.init"))
}
err = self.Wires.init()
if err != nil {
errs = append(errs, errors.Wrapf(err, "Wires.init"))
}
return errors.NewAggregate(errs)
}()
if err != nil {
@@ -469,6 +475,10 @@ func (self *SResources) IncrementSync(ctx context.Context, userCred mcclient.Tok
if err != nil {
errs = append(errs, errors.Wrapf(err, "ModelartsPool.increment"))
}
err = self.Wires.increment()
if err != nil {
errs = append(errs, errors.Wrapf(err, "Wires.increment"))
}
return errors.NewAggregate(errs)
}()
if err != nil {
@@ -526,6 +536,10 @@ func (self *SResources) DecrementSync(ctx context.Context, userCred mcclient.Tok
if err != nil {
errs = append(errs, errors.Wrapf(err, "ModelartsPool.decrement"))
}
err = self.Wires.decrement()
if err != nil {
errs = append(errs, errors.Wrapf(err, "ModelartsPool.decrement"))
}
return errors.NewAggregate(errs)
}()
if err != nil {
@@ -730,6 +744,19 @@ func (self *SResources) CollectMetrics(ctx context.Context, userCred mcclient.To
if err != nil && errors.Cause(err) != cloudprovider.ErrNotImplemented && errors.Cause(err) != cloudprovider.ErrNotSupported {
log.Errorf("CollectModelartsPoolMetrics for %s(%s) error: %v", manager.Name, manager.Provider, err)
}
resources = self.Wires.getResources(manager.Id)
wires := map[string]api.WireDetails{}
err = jsonutils.Update(&wires, resources)
if err != nil {
log.Errorf("unmarsha wires resources error: %v", err)
}
err = driver.CollectWireMetrics(ctx, manager, provider, wires, startTime, endTime)
if err != nil && errors.Cause(err) != cloudprovider.ErrNotImplemented && errors.Cause(err) != cloudprovider.ErrNotSupported {
log.Errorf("CollectWireMetrics for %s(%s) error: %v", manager.Name, manager.Provider, err)
}
}(cloudproviders[i])
}
wg.Wait()