mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-09-15 08:41:02 +00:00
add run-uuid to bspawn and thread through bagent and create
also add forgotten crypto/ssh dependency to vendor which adds an unfortunate number of new files for all of golang.org/x/crypto
This commit is contained in:
parent
a94a0ac607
commit
99f234a1e2
3 changed files with 42 additions and 12 deletions
|
|
@ -31,6 +31,8 @@ import (
|
|||
"github.com/pilosa/pilosa/creator"
|
||||
"github.com/pilosa/pilosa/pilosactl"
|
||||
"github.com/pilosa/pilosa/roaring"
|
||||
|
||||
"github.com/satori/go.uuid"
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
@ -1067,6 +1069,7 @@ The following flags are allowed:
|
|||
type CreateOutput struct {
|
||||
Hosts []string `json:"hosts"`
|
||||
LogFiles []string `json:"log-files"`
|
||||
RunUUID string `json:"run-uuid"`
|
||||
}
|
||||
|
||||
// Run executes cluster creation.
|
||||
|
|
@ -1160,6 +1163,8 @@ type BagentCommand struct {
|
|||
// Enable pretty printing of results, for human consumption.
|
||||
HumanReadable bool
|
||||
|
||||
RunUUID string `json:"-"` // ignoring this here because we add it to the top level of the output
|
||||
|
||||
// Slice of pilosa hosts to run the Benchmarks against.
|
||||
Hosts []string `json:"hosts"`
|
||||
|
||||
|
|
@ -1193,9 +1198,10 @@ func (cmd *BagentCommand) ParseFlags(args []string) error {
|
|||
fs.SetOutput(ioutil.Discard)
|
||||
|
||||
var pilosaHosts string
|
||||
fs.StringVar(&pilosaHosts, "hosts", "localhost:15000", "Comma separated list of host:port")
|
||||
fs.IntVar(&cmd.AgentNum, "agentNum", 0, "An integer differentiating this agent from other in the fleet.")
|
||||
fs.BoolVar(&cmd.HumanReadable, "human", false, "Boolean to enable human-readable format.")
|
||||
fs.StringVar(&pilosaHosts, "hosts", "localhost:15000", "")
|
||||
fs.IntVar(&cmd.AgentNum, "agentNum", 0, "")
|
||||
fs.BoolVar(&cmd.HumanReadable, "human", false, "")
|
||||
fs.StringVar(&cmd.RunUUID, "run-uuid", "", "")
|
||||
|
||||
if err := fs.Parse(args); err != nil {
|
||||
return err
|
||||
|
|
@ -1283,6 +1289,9 @@ func (cmd *BagentCommand) Run(ctx context.Context) error {
|
|||
|
||||
res := sbm.Run(ctx, cmd.AgentNum)
|
||||
res["metadata"] = cmd
|
||||
if cmd.RunUUID != "" {
|
||||
res["run-uuid"] = cmd.RunUUID
|
||||
}
|
||||
enc := json.NewEncoder(cmd.Stdout)
|
||||
enc.SetIndent("", " ")
|
||||
if cmd.HumanReadable {
|
||||
|
|
@ -1377,6 +1386,7 @@ pilosactl spawn configfile
|
|||
|
||||
// Run executes the main program execution.
|
||||
func (cmd *BspawnCommand) Run(ctx context.Context) error {
|
||||
runUUID := uuid.NewV1()
|
||||
if len(cmd.PilosaHosts) == 0 {
|
||||
// must create cluster
|
||||
r, w := io.Pipe()
|
||||
|
|
@ -1398,15 +1408,24 @@ func (cmd *BspawnCommand) Run(ctx context.Context) error {
|
|||
return err
|
||||
}
|
||||
cmd.PilosaHosts = clus.Hosts
|
||||
|
||||
// add runUUID to create output, and print to stdout
|
||||
enc := json.NewEncoder(cmd.Stdout)
|
||||
enc.SetIndent("", " ")
|
||||
clus.RunUUID = runUUID.String()
|
||||
err = enc.Encode(clus)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if len(cmd.AgentHosts) > 0 {
|
||||
return cmd.spawnRemote(ctx)
|
||||
return cmd.spawnRemote(ctx, runUUID)
|
||||
} else {
|
||||
return cmd.spawnLocal(ctx)
|
||||
return cmd.spawnLocal(ctx, runUUID)
|
||||
}
|
||||
}
|
||||
|
||||
func (cmd *BspawnCommand) spawnRemote(ctx context.Context) error {
|
||||
func (cmd *BspawnCommand) spawnRemote(ctx context.Context, runUUID uuid.UUID) error {
|
||||
agentIndex := 0
|
||||
agentConnections, err := pilosactl.SSHClients(cmd.AgentHosts, cmd.SSHUser, "")
|
||||
if err != nil {
|
||||
|
|
@ -1422,7 +1441,7 @@ func (cmd *BspawnCommand) spawnRemote(ctx context.Context) error {
|
|||
sessions = append(sessions, sess)
|
||||
sess.Stdout = cmd.Stdout
|
||||
sess.Stderr = cmd.Stderr
|
||||
err = sess.Start("pilosactl bagent -agentNum=" + strconv.Itoa(i) + " -hosts=" + strings.Join(cmd.PilosaHosts, ",") + " " + strings.Join(sp.Args, " "))
|
||||
err = sess.Start("pilosactl bagent -agentNum=" + strconv.Itoa(i) + " -hosts=" + strings.Join(cmd.PilosaHosts, ",") + " -run-uuid=" + runUUID.String() + " " + strings.Join(sp.Args, " "))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -1438,13 +1457,13 @@ func (cmd *BspawnCommand) spawnRemote(ctx context.Context) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (cmd *BspawnCommand) spawnLocal(ctx context.Context) error {
|
||||
func (cmd *BspawnCommand) spawnLocal(ctx context.Context, runUUID uuid.UUID) error {
|
||||
agents := []*BagentCommand{}
|
||||
for _, sp := range cmd.Benchmarks {
|
||||
for i := 0; i < sp.Num; i++ {
|
||||
agentCmd := NewBagentCommand(cmd.Stdin, cmd.Stdout, cmd.Stderr)
|
||||
agents = append(agents, agentCmd)
|
||||
err := agentCmd.ParseFlags(append([]string{"-agentNum", strconv.Itoa(i), "-hosts", strings.Join(cmd.PilosaHosts, ",")}, sp.Args...))
|
||||
err := agentCmd.ParseFlags(append([]string{"-agentNum", strconv.Itoa(i), "-hosts", strings.Join(cmd.PilosaHosts, ","), "-run-uuid", runUUID.String()}, sp.Args...))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
14
glide.lock
generated
14
glide.lock
generated
|
|
@ -1,5 +1,5 @@
|
|||
hash: 9afe91839785e89880061fd2919b0a5cdb10d6f4c06b344c2924eeed0c9bfd65
|
||||
updated: 2016-12-01T16:53:45.096741528-07:00
|
||||
hash: 3b8279eaeec5a7b790ab8f2beacc451145362e91d8d9871d1c5b2313f7cd5d19
|
||||
updated: 2016-12-20T13:41:45.723967488-06:00
|
||||
imports:
|
||||
- name: github.com/boltdb/bolt
|
||||
version: 4b1ebc1869ad66568b313d0dc410e2be72670dda
|
||||
|
|
@ -21,6 +21,16 @@ imports:
|
|||
version: a6b377e3400b08991b80d6805d627f347f983866
|
||||
subpackages:
|
||||
- lru
|
||||
- name: github.com/satori/go.uuid
|
||||
version: 879c5887cd475cd7864858769793b2ceb0d44feb
|
||||
- name: golang.org/x/crypto
|
||||
version: d8e61c69ab46ca38328da2f4995abaf93b252290
|
||||
subpackages:
|
||||
- curve25519
|
||||
- ed25519
|
||||
- ed25519/internal/edwards25519
|
||||
- ssh
|
||||
- ssh/agent
|
||||
- name: golang.org/x/sys
|
||||
version: c200b10b5d5e122be351b67af224adc6128af5bf
|
||||
subpackages:
|
||||
|
|
|
|||
|
|
@ -24,4 +24,5 @@ import:
|
|||
version: c200b10b5d5e122be351b67af224adc6128af5bf
|
||||
subpackages:
|
||||
- unix
|
||||
|
||||
- package: github.com/satori/go.uuid
|
||||
version: v1.1.0
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue