Compare commits

..

6 Commits

Author SHA1 Message Date
amery 0233245c5b m/eu/k8s_token [DO-NOT-MERGE]
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-02 21:05:30 +00:00
amery fcb3f2e106 import m tree [DO-NOT-MERGE]
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-02 21:05:30 +00:00
amery 5e4adbfee5 Merge branch 'pr-amery-k8s_token' into next-amery 2024-03-02 21:04:54 +00:00
amery 3a19922b34 cluster: introduce Region.Cluster and m/{region}/k8s_token
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-02 20:59:01 +00:00
amery e97aaf9c8c Merge branch 'pr-amery-ceph' into next-amery 2024-03-02 19:18:37 +00:00
amery 5aab1a3303 ceph: prevent osd label update on startup
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-02 19:15:59 +00:00
3 changed files with 23 additions and 46 deletions
+11 -16
View File
@@ -4,7 +4,6 @@ import (
"io/fs" "io/fs"
"path" "path"
"sort" "sort"
"strings"
"darvaza.org/core" "darvaza.org/core"
) )
@@ -226,26 +225,22 @@ func (z *Zone) loadRegions() error {
} }
func (z *Zone) loadClusterToken() error { func (z *Zone) loadClusterToken() error {
var token string
filename := path.Join(z.Name, RegionClusterTokenFileName) filename := path.Join(z.Name, RegionClusterTokenFileName)
lines, err := z.zones.ReadLines(filename) lines, err := z.zones.ReadLines(filename)
if err != nil { if err == nil {
return err var token string
}
// first non-empty line for _, s := range lines {
for _, s := range lines { if s != "" {
s = strings.TrimSpace(s) token = s
if s != "" { break
token = s }
break
} }
}
err = z.zones.setRegionClusterToken(z.Name, token) err = z.zones.setRegionClusterToken(z.Name, token)
if err != nil { if err != nil {
err = core.Wrap(err, filename) err = core.Wrap(err, filename)
}
} }
return err return err
+12 -19
View File
@@ -85,29 +85,22 @@ func (m *Env) writeEnvZone(w io.Writer, z *Zone) {
} }
func (m *Env) writeEnvVarInts(w io.Writer, value []int, name string, args ...any) { func (m *Env) writeEnvVarInts(w io.Writer, value []int, name string, args ...any) {
var buf bytes.Buffer var s string
for _, v := range value { if n := len(value); n > 0 {
if buf.Len() > 0 { var buf bytes.Buffer
_, _ = fmt.Fprint(&buf, " ")
for i, v := range value {
if i != 0 {
_, _ = fmt.Fprint(&buf, " ")
}
_, _ = fmt.Fprintf(&buf, "%v", v)
} }
_, _ = fmt.Fprintf(&buf, "%v", v)
s = buf.String()
} }
m.writeEnvVar(w, buf.String(), name, args...) m.writeEnvVar(w, s, name, args...)
}
func (m *Env) writeEnvVarStrings(w io.Writer, value []string, name string, args ...any) {
var buf bytes.Buffer
for _, v := range value {
if buf.Len() > 0 {
_, _ = fmt.Fprint(&buf, " ")
}
_, _ = fmt.Fprintf(&buf, "%s", v)
}
m.writeEnvVar(w, buf.String(), name, args...)
} }
func (m *Env) writeEnvVar(w io.Writer, value string, name string, args ...any) { func (m *Env) writeEnvVar(w io.Writer, value string, name string, args ...any) {
-11
View File
@@ -8,14 +8,8 @@ import (
var ( var (
_ MachineIterator = (*Region)(nil) _ MachineIterator = (*Region)(nil)
_ ZoneIterator = (*Region)(nil) _ ZoneIterator = (*Region)(nil)
_ RegionIterator = (*Cluster)(nil)
) )
// A RegionIterator is a set of Regions we can iterate on
type RegionIterator interface {
ForEachRegion(func(*Region) bool)
}
// Region represents a group of zones geographically related // Region represents a group of zones geographically related
type Region struct { type Region struct {
m *Cluster m *Cluster
@@ -210,11 +204,6 @@ func (z *Zone) SyncRegions() error {
} else { } else {
err = p.WriteStringFile("none\n", "region") err = p.WriteStringFile("none\n", "region")
} }
if err == nil {
err = p.RemoveFile(RegionClusterTokenFileName)
}
return err != nil return err != nil
}) })
} }