mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
parent
7fbfdc2b6a
commit
e7888805e1
@ -369,6 +369,7 @@ func (c *RaftCluster) SetVersion(ver *semver.Version, onSet func(*semver.Version
|
|||||||
} else {
|
} else {
|
||||||
plog.Noticef("set the initial cluster version to %v", version.Cluster(ver.String()))
|
plog.Noticef("set the initial cluster version to %v", version.Cluster(ver.String()))
|
||||||
}
|
}
|
||||||
|
oldVer := c.version
|
||||||
c.version = ver
|
c.version = ver
|
||||||
mustDetectDowngrade(c.version)
|
mustDetectDowngrade(c.version)
|
||||||
if c.store != nil {
|
if c.store != nil {
|
||||||
@ -377,8 +378,11 @@ func (c *RaftCluster) SetVersion(ver *semver.Version, onSet func(*semver.Version
|
|||||||
if c.be != nil {
|
if c.be != nil {
|
||||||
mustSaveClusterVersionToBackend(c.be, ver)
|
mustSaveClusterVersionToBackend(c.be, ver)
|
||||||
}
|
}
|
||||||
ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": ver.String()}).Set(1)
|
if oldVer != nil {
|
||||||
onSet(ver)
|
ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": version.Cluster(oldVer.String())}).Set(0)
|
||||||
|
}
|
||||||
|
ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": version.Cluster(ver.String())}).Set(1)
|
||||||
|
onSet(ver)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *RaftCluster) IsReadyToAddNewMember() bool {
|
func (c *RaftCluster) IsReadyToAddNewMember() bool {
|
||||||
|
@ -602,7 +602,7 @@ func (s *EtcdServer) start() {
|
|||||||
s.leaderChanged = make(chan struct{})
|
s.leaderChanged = make(chan struct{})
|
||||||
if s.ClusterVersion() != nil {
|
if s.ClusterVersion() != nil {
|
||||||
plog.Infof("starting server... [version: %v, cluster version: %v]", version.Version, version.Cluster(s.ClusterVersion().String()))
|
plog.Infof("starting server... [version: %v, cluster version: %v]", version.Version, version.Cluster(s.ClusterVersion().String()))
|
||||||
membership.ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": s.ClusterVersion().String()}).Set(1)
|
membership.ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": version.Cluster(s.ClusterVersion().String())}).Set(1)
|
||||||
} else {
|
} else {
|
||||||
plog.Infof("starting server... [version: %v, cluster version: to_be_decided]", version.Version)
|
plog.Infof("starting server... [version: %v, cluster version: to_be_decided]", version.Version)
|
||||||
}
|
}
|
||||||
|
@ -105,11 +105,7 @@ func TestReleaseUpgrade(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// expect upgraded cluster version
|
// expect upgraded cluster version
|
||||||
ver := version.Version
|
if err := cURLGet(cx.epc, cURLReq{endpoint: "/metrics", expected: fmt.Sprintf(`etcd_cluster_version{cluster_version="%s"} 1`, version.Cluster(version.Version)), metricsURLScheme: cx.cfg.metricsURLScheme}); err != nil {
|
||||||
if strings.HasSuffix(ver, "+git") {
|
|
||||||
ver = strings.Replace(ver, "+git", "", 1)
|
|
||||||
}
|
|
||||||
if err := cURLGet(cx.epc, cURLReq{endpoint: "/metrics", expected: fmt.Sprintf(`etcd_cluster_version{cluster_version="%s"} 1`, ver), metricsURLScheme: cx.cfg.metricsURLScheme}); err != nil {
|
|
||||||
cx.t.Fatalf("failed get with curl (%v)", err)
|
cx.t.Fatalf("failed get with curl (%v)", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"go.etcd.io/etcd/version"
|
"github.com/coreos/etcd/version"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestV3MetricsSecure(t *testing.T) {
|
func TestV3MetricsSecure(t *testing.T) {
|
||||||
@ -50,7 +50,7 @@ func metricsTest(cx ctlCtx) {
|
|||||||
if strings.HasSuffix(ver, "+git") {
|
if strings.HasSuffix(ver, "+git") {
|
||||||
ver = strings.Replace(ver, "+git", "", 1)
|
ver = strings.Replace(ver, "+git", "", 1)
|
||||||
}
|
}
|
||||||
if err := cURLGet(cx.epc, cURLReq{endpoint: "/metrics", expected: fmt.Sprintf(`etcd_cluster_version{cluster_version="%s"} 1`, ver), metricsURLScheme: cx.cfg.metricsURLScheme}); err != nil {
|
if err := cURLGet(cx.epc, cURLReq{endpoint: "/metrics", expected: fmt.Sprintf(`etcd_cluster_version{cluster_version="%s"} 1`, version.Cluster(version.Version)), metricsURLScheme: cx.cfg.metricsURLScheme}); err != nil {
|
||||||
cx.t.Fatalf("failed get with curl (%v)", err)
|
cx.t.Fatalf("failed get with curl (%v)", err)
|
||||||
}
|
}
|
||||||
if err := cURLGet(cx.epc, cURLReq{endpoint: "/health", expected: `{"health":"true"}`, metricsURLScheme: cx.cfg.metricsURLScheme}); err != nil {
|
if err := cURLGet(cx.epc, cURLReq{endpoint: "/health", expected: `{"health":"true"}`, metricsURLScheme: cx.cfg.metricsURLScheme}); err != nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user