Skip to content

Commit c16e9cf

Browse files
committed
add NodeList method
returns all nodes, including the ones in the node store
1 parent 8523c05 commit c16e9cf

File tree

3 files changed

+23
-3
lines changed

3 files changed

+23
-3
lines changed

cli/controller/aws.go

+6-2
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,15 @@ func Nodes() error {
1313
if err != nil {
1414
return log.Wrap(err)
1515
}
16-
if len(fs.Workspace().Nodes) == 0 {
16+
nodes, err := fs.Workspace().NodeList()
17+
if err != nil {
18+
return err
19+
}
20+
if len(nodes) == 0 {
1721
return log.Wrap(&domain.WorkspaceNoNodesError{})
1822
}
1923
var data [][]string
20-
for _, n := range fs.Workspace().Nodes {
24+
for _, n := range nodes {
2125
data = append(data, []string{n.Name, n.AccountID, n.Region, n.ID, n.Version})
2226
}
2327
ShowTable([]string{"name", "AWS Account", "AWS Region", "ID", "Version"}, data)

cli/controller/stage.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,11 @@ func (s *Stage) New() (bool, error) {
4545
}
4646

4747
// make sure there are nodes available for stage to be created on
48-
if len(s.store.Workspace().Nodes) == 0 {
48+
nodes, err := s.store.Workspace().NodeList()
49+
if err != nil {
50+
return false, log.Wrap(err)
51+
}
52+
if len(nodes) == 0 {
4953
return false, log.Wrap(&domain.WorkspaceNoNodesError{})
5054

5155
}

domain/workspace.go

+12
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,18 @@ func (w *Workspace) FindNode(name string) *Node {
179179
return w.Node(name)
180180
}
181181

182+
func (w *Workspace) NodeList() ([]*Node, error) {
183+
ns := w.Nodes
184+
for _, ne := range w.NodeStore.Nodes {
185+
n, err := w.NodeStore.Node(ne.Name)
186+
if err != nil {
187+
return nil, err
188+
}
189+
ns = append(ns, n)
190+
}
191+
return ns, nil
192+
}
193+
182194
func (w *Workspace) NodeNames() []string {
183195
var names []string
184196
for _, n := range w.Nodes {

0 commit comments

Comments
 (0)