Skip to content

Commit e7001f3

Browse files
authored
update block format output (#51)
Signed-off-by: Dmitry Shmulevich <[email protected]>
1 parent cfe5bfc commit e7001f3

File tree

4 files changed

+35
-13
lines changed

4 files changed

+35
-13
lines changed

pkg/server/http_server_test.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,14 @@ SwitchName=sw14 Nodes=n14-[1-2]
164164
]
165165
}
166166
`,
167-
expected: `BlockName=nvl1 Nodes=n11-[1-2]
168-
BlockName=nvl2 Nodes=n12-[1-2]
169-
BlockName=nvl3 Nodes=n13-[1-2]
170-
BlockName=nvl4 Nodes=n14-[1-2]
167+
expected: `# block001=nvl1
168+
BlockName=block001 Nodes=n11-[1-2]
169+
# block002=nvl2
170+
BlockName=block002 Nodes=n12-[1-2]
171+
# block003=nvl3
172+
BlockName=block003 Nodes=n13-[1-2]
173+
# block004=nvl4
174+
BlockName=block004 Nodes=n14-[1-2]
171175
BlockSizes=2,4
172176
`,
173177
},

pkg/translate/block.go

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package translate
1818

1919
import (
20+
"fmt"
2021
"sort"
2122

2223
"github.com/NVIDIA/topograph/pkg/topology"
@@ -40,14 +41,24 @@ func (m DomainMap) ToBlocks() *topology.Vertex {
4041
}
4142
sort.Strings(domainNames)
4243

43-
for _, domainName := range domainNames {
44-
domain := m[domainName]
44+
for i, domainName := range domainNames {
45+
nodes := make([]string, 0, len(m[domainName]))
46+
for node := range m[domainName] {
47+
nodes = append(nodes, node)
48+
}
49+
sort.Strings(nodes)
50+
4551
vertex := &topology.Vertex{
46-
ID: domainName,
52+
ID: fmt.Sprintf("block%03d", i+1),
53+
Name: domainName,
4754
Vertices: make(map[string]*topology.Vertex),
4855
}
49-
for node := range domain {
50-
vertex.Vertices[node] = &topology.Vertex{Name: node, ID: node}
56+
57+
for _, node := range nodes {
58+
vertex.Vertices[node] = &topology.Vertex{
59+
Name: node,
60+
ID: node,
61+
}
5162
}
5263

5364
blockRoot.Vertices[domainName] = vertex

pkg/translate/block_test.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ func TestToBlocks(t *testing.T) {
4141
blocks: &topology.Vertex{
4242
Vertices: map[string]*topology.Vertex{
4343
"domain1": {
44-
ID: "domain1",
44+
Name: "domain1",
45+
ID: "block001",
4546
Vertices: map[string]*topology.Vertex{
4647
"host1": {ID: "host1", Name: "host1"},
4748
"host2": {ID: "host2", Name: "host2"},
@@ -59,14 +60,16 @@ func TestToBlocks(t *testing.T) {
5960
blocks: &topology.Vertex{
6061
Vertices: map[string]*topology.Vertex{
6162
"domain1": {
62-
ID: "domain1",
63+
Name: "domain1",
64+
ID: "block001",
6365
Vertices: map[string]*topology.Vertex{
6466
"host1": {ID: "host1", Name: "host1"},
6567
"host2": {ID: "host2", Name: "host2"},
6668
},
6769
},
6870
"domain2": {
69-
ID: "domain2",
71+
Name: "domain2",
72+
ID: "block002",
7073
Vertices: map[string]*topology.Vertex{
7174
"host3": {ID: "host3", Name: "host3"},
7275
},

pkg/translate/output.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,11 @@ func printBlock(wr io.Writer, block *topology.Vertex, domainVisited map[string]i
5050
for _, node := range block.Vertices { //nodes within each domain
5151
nodes = append(nodes, node.Name)
5252
}
53-
_, err := wr.Write([]byte(fmt.Sprintf("BlockName=%s Nodes=%s\n", block.ID, strings.Join(compress(nodes), ","))))
53+
var comment string
54+
if len(block.Name) != 0 {
55+
comment = fmt.Sprintf("# %s=%s\n", block.ID, block.Name)
56+
}
57+
_, err := wr.Write([]byte(fmt.Sprintf("%sBlockName=%s Nodes=%s\n", comment, block.ID, strings.Join(compress(nodes), ","))))
5458
if err != nil {
5559
return err
5660
}

0 commit comments

Comments
 (0)