Browse Source

env: export FSID

Signed-off-by: Alejandro Mery <amery@jpi.io>
pull/10/head
Alejandro Mery 10 months ago
parent
commit
a655603343
  1. 6
      cmd/jpictl/env.go
  2. 20
      pkg/zones/env.go

6
cmd/jpictl/env.go

@ -16,7 +16,11 @@ var envCmd = &cobra.Command{
return err return err
} }
_, err = m.Env(*envExport).WriteTo(os.Stdout) env, err := m.Env(*envExport)
if err != nil {
return err
}
_, err = env.WriteTo(os.Stdout)
return err return err
}, },
} }

20
pkg/zones/env.go

@ -11,15 +11,24 @@ import (
type Env struct { type Env struct {
ZoneIterator ZoneIterator
export bool cephFSID string
export bool
} }
// Env returns a shell environment factory // Env returns a shell environment factory
func (m *Zones) Env(export bool) *Env { func (m *Zones) Env(export bool) (*Env, error) {
return &Env{ fsid, err := m.GetCephFSID()
if err != nil {
return nil, err
}
env := &Env{
ZoneIterator: m, ZoneIterator: m,
cephFSID: fsid.String(),
export: export, export: export,
} }
return env, nil
} }
// Zones returns the list of Zone IDs // Zones returns the list of Zone IDs
@ -38,7 +47,12 @@ func (m *Env) Zones() []int {
func (m *Env) WriteTo(w io.Writer) (int64, error) { func (m *Env) WriteTo(w io.Writer) (int64, error) {
var buf bytes.Buffer var buf bytes.Buffer
if m.cephFSID != "" {
m.writeEnvVar(&buf, m.cephFSID, "FSID")
}
m.writeEnvVarInts(&buf, m.Zones(), "ZONES") m.writeEnvVarInts(&buf, m.Zones(), "ZONES")
m.ForEachZone(func(z *Zone) bool { m.ForEachZone(func(z *Zone) bool {
m.writeEnvZone(&buf, z) m.writeEnvZone(&buf, z)
return false return false

Loading…
Cancel
Save