Merge pull request #10216 from travisn/reef-version

core: Add reef version info
This commit is contained in:
Travis Nielsen authored and GitHub committed 2022-05-06 09:03:37 -06:00
commit 85a4c867cd
2 files changed
+22 -4

No files matched your search

+14
View File
@@ -47,6 +47,8 @@ var (
Pacific = CephVersion{16, 0, 0, 0, ""}
// Quincy Ceph version
Quincy = CephVersion{17, 0, 0, 0, ""}
// Reef Ceph version
Reef = CephVersion{18, 0, 0, 0, ""}
// supportedVersions are production-ready versions that rook supports
supportedVersions = []CephVersion{Octopus, Pacific, Quincy}
@@ -89,6 +91,8 @@ func (v *CephVersion) ReleaseName() string {
return "pacific"
case Quincy.Major:
return "quincy"
case Reef.Major:
return "reef"
default:
return unknownVersionString
}
@@ -179,6 +183,11 @@ func (v *CephVersion) IsQuincy() bool {
return v.isRelease(Quincy)
}
// IsReef checks if the Ceph version is Reef
func (v *CephVersion) IsReef() bool {
return v.isRelease(Reef)
}
// IsAtLeast checks a given Ceph version is at least a given one
func (v *CephVersion) IsAtLeast(other CephVersion) bool {
if v.Major > other.Major {
@@ -202,6 +211,11 @@ func (v *CephVersion) IsAtLeast(other CephVersion) bool {
return true
}
// IsAtLeastReef check that the Ceph version is at least Reef
func (v *CephVersion) IsAtLeastReef() bool {
return v.IsAtLeast(Reef)
}
// IsAtLeastQuincy check that the Ceph version is at least Quincy
func (v *CephVersion) IsAtLeastQuincy() bool {
return v.IsAtLeast(Quincy)
+8 -4
View File
@@ -101,14 +101,17 @@ func TestSupported(t *testing.T) {
for _, v := range supportedVersions {
assert.True(t, v.Supported())
}
assert.False(t, Reef.Supported())
}
func TestIsRelease(t *testing.T) {
assert.True(t, Octopus.isRelease(Octopus))
assert.True(t, Pacific.isRelease(Pacific))
assert.True(t, Quincy.isRelease(Quincy))
assert.True(t, Reef.isRelease(Reef))
assert.False(t, Pacific.isRelease(Octopus))
assert.False(t, Reef.isRelease(Quincy))
OctopusUpdate := Octopus
OctopusUpdate.Minor = 33
@@ -206,10 +209,11 @@ func TestCephVersion_Unsupported(t *testing.T) {
fields fields
want bool
}{
{"supported", fields{Major: 16, Minor: 2, Extra: 1, Build: 0}, false},
{"supported", fields{Major: 15, Minor: 2, Extra: 1, Build: 0}, false},
{"supported", fields{Major: 15, Minor: 2, Extra: 6, Build: 0}, false},
{"unsupported", fields{Major: 17, Minor: 2, Extra: 0, Build: 0}, false},
{"octopus", fields{Major: 15, Minor: 2, Extra: 1, Build: 0}, false},
{"octopus", fields{Major: 15, Minor: 2, Extra: 6, Build: 0}, false},
{"pacific", fields{Major: 16, Minor: 2, Extra: 1, Build: 0}, false},
{"quincy", fields{Major: 17, Minor: 2, Extra: 0, Build: 0}, false},
{"reef", fields{Major: 18, Minor: 2, Extra: 0, Build: 0}, false},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {