fix(host): convert migrate set downtime value to float64 (#15475)

* fix(host): convert migrate set downtime value to float64

* fix(host): live migration optimize

Qemu will send `STOP` event on start last time migration, but this
moment migration not completed. So we need wait magration complete.
Configurable Auto converge max cpu throttle.
This commit is contained in:
wanyaoqi
2022-12-12 14:20:51 +08:00
committed by mhf
parent 376f896e36
commit 113c2b5f7d
5 changed files with 18 additions and 5 deletions
+1 -1
View File
@@ -84,7 +84,7 @@ require (
k8s.io/client-go v0.19.3
k8s.io/cluster-bootstrap v0.19.3
moul.io/http2curl/v2 v2.3.0
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20221207133409-773feb6995bb
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20221208070107-269b6ee5ad79
yunion.io/x/executor v0.0.0-20211018100936-39a2cd966656
yunion.io/x/jsonutils v1.0.1-0.20220819091305-3bab322ab4fd
yunion.io/x/log v1.0.0
+2 -2
View File
@@ -1176,8 +1176,8 @@ sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20221207133409-773feb6995bb h1:cNbCa1nIgeOuDmFW1c5WOGIKkpnKHuu9otBW1olrB/g=
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20221207133409-773feb6995bb/go.mod h1:drc/WDD65r6wI1tSejk19xcl9QwmzZlgJGXN7a9o2KQ=
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20221208070107-269b6ee5ad79 h1:9GSawOA+wPD5wWaF0hbHJWyiaYMf5wNJwO4FzMGT5bA=
yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20221208070107-269b6ee5ad79/go.mod h1:drc/WDD65r6wI1tSejk19xcl9QwmzZlgJGXN7a9o2KQ=
yunion.io/x/executor v0.0.0-20211018100936-39a2cd966656 h1:0zlZD5uhZoIHgLVAWCz2aHaYk2ZrNsACCYD7R6EIBII=
yunion.io/x/executor v0.0.0-20211018100936-39a2cd966656/go.mod h1:Uxuou9WQIeJXNpy7t2fPLL0BYLvLiMvGQwY7Qc6aSws=
yunion.io/x/jsonutils v0.0.0-20190625054549-a964e1e8a051/go.mod h1:4N0/RVzsYL3kH3WE/H1BjUQdFiWu50JGCFQuuy+Z634=
+6
View File
@@ -15,6 +15,8 @@
package providerdriver
import (
"time"
api "yunion.io/x/onecloud/pkg/apis/compute"
)
@@ -33,3 +35,7 @@ func (collect *CloudpodsCollect) IsSupportMetrics() bool {
func init() {
Register(&CloudpodsCollect{})
}
func (self *CloudpodsCollect) GetDelayDuration() time.Duration {
return time.Minute * 9
}
+1 -1
View File
@@ -1439,7 +1439,7 @@ sigs.k8s.io/structured-merge-diff/v4/value
# sigs.k8s.io/yaml v1.2.0
## explicit; go 1.12
sigs.k8s.io/yaml
# yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20221207133409-773feb6995bb
# yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20221208070107-269b6ee5ad79
## explicit; go 1.18
yunion.io/x/cloudmux/pkg/apis
yunion.io/x/cloudmux/pkg/apis/billing
+8 -1
View File
@@ -529,10 +529,17 @@ type SMetricData struct {
func (cli *SCloudpodsClient) GetMetrics(opts *cloudprovider.MetricListOptions) ([]cloudprovider.MetricValues, error) {
brandArr := []string{"OneCloud", "VMware"}
metrics := []SMetricData{}
usefulResourceType := []cloudprovider.TResourceType{cloudprovider.METRIC_RESOURCE_TYPE_HOST, cloudprovider.METRIC_RESOURCE_TYPE_SERVER}
isUse, _ := utils.InArray(opts.ResourceType, usefulResourceType)
if !isUse {
return nil, nil
}
for i := 0; i < len(brandArr); i++ {
params := map[string]interface{}{
"metric_name": opts.MetricType,
"tags": map[string]interface{}{
"start_time": opts.StartTime,
"end_time": opts.EndTime,
"tag_pairs": map[string]interface{}{
"brand": brandArr[i],
},
}