mirror of
https://github.com/kemko/nomad.git
synced 2026-01-07 19:05:42 +03:00
nomad: remove eval broker from state store
This commit is contained in:
@@ -55,7 +55,7 @@ type snapshotHeader struct {
|
||||
// NewFSMPath is used to construct a new FSM with a blank state
|
||||
func NewFSM(evalBroker *EvalBroker, logOutput io.Writer) (*nomadFSM, error) {
|
||||
// Create a state store
|
||||
state, err := NewStateStore(evalBroker, logOutput)
|
||||
state, err := NewStateStore(logOutput)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -244,7 +244,7 @@ func (n *nomadFSM) Restore(old io.ReadCloser) error {
|
||||
defer old.Close()
|
||||
|
||||
// Create a new state store
|
||||
state, err := NewStateStore(n.evalBroker, n.logOutput)
|
||||
state, err := NewStateStore(n.logOutput)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -17,9 +17,8 @@ import (
|
||||
// returned as a result of a read against the state store should be
|
||||
// considered a constant and NEVER modified in place.
|
||||
type StateStore struct {
|
||||
logger *log.Logger
|
||||
evalBroker *EvalBroker
|
||||
db *memdb.MemDB
|
||||
logger *log.Logger
|
||||
db *memdb.MemDB
|
||||
}
|
||||
|
||||
// StateSnapshot is used to provide a point-in-time snapshot
|
||||
@@ -52,7 +51,7 @@ type IndexEntry struct {
|
||||
}
|
||||
|
||||
// NewStateStore is used to create a new state store
|
||||
func NewStateStore(evalBroker *EvalBroker, logOutput io.Writer) (*StateStore, error) {
|
||||
func NewStateStore(logOutput io.Writer) (*StateStore, error) {
|
||||
// Create the MemDB
|
||||
db, err := memdb.NewMemDB(stateStoreSchema())
|
||||
if err != nil {
|
||||
@@ -61,9 +60,8 @@ func NewStateStore(evalBroker *EvalBroker, logOutput io.Writer) (*StateStore, er
|
||||
|
||||
// Create the state store
|
||||
s := &StateStore{
|
||||
logger: log.New(logOutput, "", log.LstdFlags),
|
||||
evalBroker: evalBroker,
|
||||
db: db,
|
||||
logger: log.New(logOutput, "", log.LstdFlags),
|
||||
db: db,
|
||||
}
|
||||
return s, nil
|
||||
}
|
||||
@@ -74,9 +72,8 @@ func NewStateStore(evalBroker *EvalBroker, logOutput io.Writer) (*StateStore, er
|
||||
func (s *StateStore) Snapshot() (*StateSnapshot, error) {
|
||||
snap := &StateSnapshot{
|
||||
StateStore: StateStore{
|
||||
logger: s.logger,
|
||||
evalBroker: s.evalBroker,
|
||||
db: s.db.Snapshot(),
|
||||
logger: s.logger,
|
||||
db: s.db.Snapshot(),
|
||||
},
|
||||
}
|
||||
return snap, nil
|
||||
@@ -144,10 +141,6 @@ func (s *StateStore) DeregisterNode(index uint64, nodeID string) error {
|
||||
return fmt.Errorf("index update failed: %v", err)
|
||||
}
|
||||
|
||||
// TODO: Handle the existing allocations, probably need
|
||||
// to change their states back to pending and kick the scheduler
|
||||
// to force it to move things around
|
||||
|
||||
txn.Commit()
|
||||
return nil
|
||||
}
|
||||
@@ -242,10 +235,6 @@ func (s *StateStore) RegisterJob(index uint64, job *structs.Job) error {
|
||||
return fmt.Errorf("index update failed: %v", err)
|
||||
}
|
||||
|
||||
// TODO: Handle the existing allocations, probably need
|
||||
// to change their states back to pending and kick the scheduler
|
||||
// to force it to move things around
|
||||
|
||||
txn.Commit()
|
||||
return nil
|
||||
}
|
||||
@@ -272,10 +261,6 @@ func (s *StateStore) DeregisterJob(index uint64, jobID string) error {
|
||||
return fmt.Errorf("index update failed: %v", err)
|
||||
}
|
||||
|
||||
// TODO: Handle the existing allocations, probably need
|
||||
// to change their states back to pending and kick the scheduler
|
||||
// to force it to move things around
|
||||
|
||||
txn.Commit()
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -10,8 +10,7 @@ import (
|
||||
)
|
||||
|
||||
func testStateStore(t *testing.T) *StateStore {
|
||||
b := testBroker(t, 0)
|
||||
state, err := NewStateStore(b, os.Stderr)
|
||||
state, err := NewStateStore(os.Stderr)
|
||||
if err != nil {
|
||||
t.Fatalf("err: %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user