Skip to content

Commit

Permalink
Merge pull request #53 from noironetworks/main
Browse files Browse the repository at this point in the history
Updated readme doc with latest vkaci changes
  • Loading branch information
camrossi authored Oct 15, 2023
2 parents 4b571ae + 54df3f2 commit 3d8bb1d
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 5 deletions.
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,31 @@ Cluster Network Graph Example: Without specific Namespace

![Cluster Network Graph Example: Without specific Namespace](readme-img/fig4.png)

VKACI can have 3 types of topologies based on the setup.
1. Baremetal: In this case the nodes are directly connected to the leaf(s)
2. Esxi5 and Nutanix: In this case, the nodes run on a hypervisor which in turn is connected to the leaf(s). The below image displays the Nutanix case
![Nutanix](readme-img/fig11.jpg)
3. Hybrid: This is a combination of baremetal & Esxi5 and Nutanix where some nodes are directly connected to the leaf(s) and some are running on a hypervisor which is connected to the leaf(s)

The VKACI has the support of secondary links as well. It can have SRIOV and MacVlan links. For better visualization, VKACI provides three different filtered views of the topology.
1. Primary Links: These are the traditional links with which different topology nodes are connected to each other
2. SRIOV Links: These are the secondary links between the different topology nodes. It is denoted by purple lines as shown in the figure.

![Cluster Network Graph Example: Sriov Links](readme-img/fig8.png)

The label of the links between a node and a leaf is denoted as node-interface:leaf-interface. So, in the above example, PF-ens1f2 is a node interface and eth1/41 is a leaf interface. Similarly, the label of the links between a node and a pod is denoted as pod-interface:node-interface. So, in the above example net1 is a pod interface and VF-ens1f2v2 is a node interface.

3. MacVlan Links: These are the secondary links between the different topology nodes and are denoted by teal coloured links as shown in the figure.

![Cluster Network Graph Example: MacVlan Links](readme-img/fig9.png)

The labels of the MacVlan links are displayed in the same way as are being displayed for SRIOV links.

4. View All: This view provides the view of all the nodes and links for all namespaces or for a particular namespace. The below image shows an example of hybrid topology in the View All menu.

![Cluster Network Graph Example: View All](readme-img/fig10.png)

Worker2 is directly connected to to the leaf-101 and leaf-102 whereas worker1 runs on a hypervisor which is connected to the leaf(s)
#### Table View

The secondary view of Vkaci outlines the cluster network in different tree table configurations.
Expand Down
9 changes: 4 additions & 5 deletions app/template/assets/cui-2.0.0/js/vkaci.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ function neo_viz_config(showPodName, container, cypher, seed = null) {
server_user: server_user,
server_password: server_password,
initial_cypher: cypher,
arrows: showPodName,
fix_nodes_in_place_on_drag: true,
layout: {
improvedLayout: true,
Expand Down Expand Up @@ -249,7 +248,7 @@ function draw_pods_and_nodes() {
let q = ` MATCH (p:Pod)-[r1]->(n:Node) WHERE p.ns =~ '${selectedNamespace}' `
q += addLabelQuery();
q += `RETURN p,r1,n`
draw(q)
draw(q, true)
//draw("MATCH (p:Pod)-[r]->(n2) WHERE p.ns =~ '" + selectedNamespace + "' RETURN *", true)
}

Expand All @@ -269,7 +268,7 @@ function draw_only_primary_links() {
OPTIONAL MATCH (p1:Pod)-[r2:RUNNING_ON]->(n1:Node)-[r3:RUNNING_IN]->(v:VM_Host)-[r4:CONNECTED_TO]-(b) WHERE p1.ns =~ '${selectedNamespace}'`
q += addLabelQuery();
q += `RETURN p, p1, n, n1, r, r2, r1, r3, r4, v, a, b`
draw(q)
draw(q, true)
}

function draw_only_sriov_links() {
Expand All @@ -278,7 +277,7 @@ function draw_only_sriov_links() {
OPTIONAL MATCH (p1:Pod)-[r2:RUNNING_ON_SEC]->(n1:Node)-[r3:RUNNING_IN]->(v:VM_Host)-[r4:CONNECTED_TO_SEC]->(b) WHERE p1.ns =~ '${selectedNamespace}'`
q += addLabelQuery();
q += `RETURN p, p1, n, n1, r, r2, r1, r3, r4, v, a, b`
draw(q)
draw(q, true)
}

function draw_only_macvlan_links() {
Expand All @@ -287,7 +286,7 @@ function draw_only_macvlan_links() {
OPTIONAL MATCH (p1:Pod)-[r2:RUNNING_ON_TER]->(n1:Node)-[r3:RUNNING_IN]->(v:VM_Host)-[r4:CONNECTED_TO_TER]->(b) WHERE p1.ns =~ '${selectedNamespace}'`
q += addLabelQuery();
q += `RETURN p, p1, n, n1, r, r2, r1, r3, r4, v, a, b`
draw(q)
draw(q, true)
}


Expand Down
Binary file added readme-img/fig10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme-img/fig11.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme-img/fig8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme-img/fig9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 3d8bb1d

Please sign in to comment.