New Dynamic Cables
In my previous cable stencils I used dedicated cables for every cable speed. This was due to font related limitations with the custom round shapes in each end of the cable shape. As result my older cable stencils had quite a few different cable shapes.
This time I decided to reduce the number of different cable shapes by using a custom round shape in each end of the cable. This custom shape has no filling, i.e the middle part is transparent. With new Dynamic Nutanix shapes you can now label the NIC ports on Nutanix appliances with built-in labels/placeholder shapes indicating the port speed just by few mouse clicks in “Shape Data”.
If you want to run cables, you place the cable shape on top of existing NIC label shape and there is no need to separately label the cable shapes or NIC ports any more. And since the cable “line-end” shape is transparent, you can see the text in the NIC label.
Separate Cable stencil
To make maintenance easier cables are organized into separate stencil from NX appliance stencils. Both NX and Cable stencils are part of Nutanix Dynamic Stencil package found on the Nutanix Downloads page.
Dynamic elements of cable shapes
Like with NX appliance shapes you can modify the appearance of the cable shape by using “Shape Data” window’s pull-down menus
- Line Color
- Three colors
- indicating cable type
- Red = RJ-45 connected cable
- Black = sfp/qsfp connected Direct Attach Copper (DAC) cable
- Orange = sfp/qsfp connect Fiber cable
- You can change the color of the cable in case your design changes and you have to change your cable type
- You can keep the cable in place and just change the color, no need to rerun and reroute the cable
- Three colors
- Direction of the 1st leg
- Vertical / Horizontal
- By default the cables are horizontal
- i.e the cable first runs from port either up or down
- Vertical setting is typically used with vertically positioned NICs
- All G6 & G7 Nutanix appliance NICs are in horizontal position
- Number of legs
- basically how many turns the cable makes
- Number of turns = Number of legs – 1
- 1 to 7 legs or 0 to 6 turns
- By default the cables have 5 legs
- which should be enough to document node-to-switch cabling
- 1st leg: running vertically up/down from NIC port
- a turn to either left or right
- 2nd leg: running horizontally to either side of the rack
- a turn to either up or down
- 3rd leg: running vertically up or down besides the rack
- a turn to either left or right
- 4th leg running horizontally towards a switch port
- a final turn either up or down
- 5th leg running vertically up/down to switchport
- Two cable variants
- Pri = continuous line pattern
- Alt = dotted line pattern
Cable Shape Examples
Example: A “Fiber Pri” cable with control points
Example: A “DAC Alt” cable with control points
Example: NX-3460-G7 cabled to switches with cable shapes
Note: oops, the node NIC labels (40G ntnx) don’t match with switch port labels (40G brcd). Not a problem, just change the NIC label type from NX-3060-G6 “shape data”
Example: After few seconds and mouse clicks all the Node NIC labels have been changed
Note: First and last node cabled, rest of the ports reserved with placeholder shapes
The old way vs the new way of cabling
One of the design goals of Dynamic NX shapes was to make it easier and faster to use them. This principle also applies with the new cable shapes. As you can see in the examples below the old way involves (way) more steps while cabling and is slower and more error prone to do.
The old way of cabling (non-dynamic shapes)
Step1: Place a NX shape without NIC shapes to drawing
Step2: Find appropriate NIC shape from NX stencil
Step3: Place NIC shape(s) into NIC slot(s)
Note1: Some of the official Nutanix stencils were built to have handle two different orientations for NICs. The connection points were laid out such way that you couldn’t place wrong orientation NICs into ports. If you try to, the NIC won’t land in correct position as seen in the example above.
Note2: Unfortunately there are bugs related to this functionality in the official Nutanix stencil. Only NX-3060-Gx and NX-1065-Gx are equipped to handle different orientation NICs. In reality almost all NX models have NICs in varying orientation and the official NX shapes are not built to handle this. As a result you might end up with faulty documentation. This one of the reasons why I started to work with Dynamic shapes.
Step4: Oops selected a wrong orientation NIC, select another one
Step5: Place NIC shape(s) with right orientation into NIC slot(s)
Step6: Find appropriate Primary port placeholder shape from Cable stencil
Note: how would you know where the primary (1) and alternate (2) ports are? Look it up from spec sheet. Depending on NIC orientation primary port can be on the left or on the right. In this case NIC1 (shown) port 1 is the RIGHTmost NIC port. Had we been working with NIC2, port 1 would have been the LEFTmost port.
Step7: Place placeholder shape(s) into NIC port(s)
Step8: Find appropriate Alternate port placeholder shape from Cable stencil
Step9: Place Alternate port placeholder shape(s) into NIC port(s)
Step10: Find cable shape that matches the placeholder shape used from Cable stencil
- Damn, no cable shapes in the official Nutanix stencils as those had to be dropped to make the stencil set compatible with “No Scale” drawings
Step10B: Use some other cable shape, I am using new dynamic cables
Step11: Place cable shape(s) on top of placeholder shapes(s)
Step XX: repeat steps 4 to 11 for any additional NICs and placeholders
The new way of cabling (dynamic shapes)
Step1: Place a NX shape without NIC shapes to drawing
Step2: Use “Shape Data” pull-down menus to populate the NIC ports and label them
step2a: Select NIC type to used
Step2b: Select NIC port labels to be shown
Step2c: Select NIC port label type
Result: You will end up NICs and placeholders shapes in place (in each Node present in the block). Just few mouse clicks instead repeating steps 4-11 (like with non-dynamic shapes).
Step3: Find generic cable shape(s) from Cable stencil(s)
Step4: Place cable shape(s) on top of NIC label shapes(s)
New Dynamic Labels
Previously I’ve used word “placeholder” to describe the shapes used to label NIC ports. With my earlier stencils and drawings these shapes were used not just to label node NIC ports, they were also used to reserve ports from switches and it felt more natural to call them with more generic name “placeholder” or with abbreviation “PH” when naming the shapes in stencil. Going forward I will use “placeholder” and (NIC) “Label” interchangeably.
Since with Dynamic NX Appliance shapes (NIC) “Port Label” shapes are now built into the shapes, there is no need to manually populate the Node NIC ports with these shapes, just use “Shape Data” pull-down menus to select an option to show the labels and the shape will automatically change its appearance to match your intent.
However while documenting Nutanix environments you might want to document networking and maybe document connectivity between nodes and switches. So you might want to label also the switch ports with corresponding “placeholder” shapes to reserve ports from switches to be used by the nodes. For this reason I’ve included separate “placeholder” shapes in the cables stencil.
Whether you use just “placeholder” shapes or also run cables between nodes and switches is up to you. Many times I just use the placeholder shapes. If cabling is required as well, I typically only cable the first and last nodes in the cluster, especially if there is only one node/block type used. Rest of the cabling should run pretty much the same and adding them to the drawing would make it harder to understand the drawing.
Old posts where I’ve explored “To Cable or Not to Cable”:
Visio by DPTPB: Different ways to use the Nutanix Visio shapes
Visio by DPTPB: Not Running Cables in Drawings?
Dynamic elements of Placeholder shapes
Like with NX appliance shapes you can modify the appearance of the placeholder shape by using “Shape Data” window’s pull-down menus
- What ever is typed in this field will be shown on the “placeholder” shape
- Space is limited, try not to use more than five characters
- if you want to split the text on two lines, just leave a “space” between words
- Due to Visio limits in font scaling, the text is shown only while using scales from 1:1 – 1:16.
- Using any scales beyond 1:16, like 1:20, will disable the text
- Red = Cat6 RJ45 connected cabling
- Black = sfp/qsfp DAC connected cabling
- Orange = sfp/qsfp Fiber connected cabling
I have also included some new (switch) vendor specific DAC placeholder shapes. Like with normal “placeholder” shapes displays:
- the speed of the port
- additionally a “ticker” is shown to indicate the cable manufacturer
- “tickers” used
- ntnx = Nutanix
- brcd = Brocade
- csco = Cisco
- extr = Extreme
- hpe = HPE
- jnpr = Juniper
- mlnx = Mellanox
Vendor missing? You can easily make your own by changing the text of an existing placeholder shape.
Why separate switch vendor specific DAC “placeholders”?
Example: Generic placeholder shapes
Example: Switch vendor specific placeholder shapes
Making of “New Dynamic Cables”
Some notes how new Dynamic Cables were made and why they ended up like they are now. If you are not interested how Visio works underneath the covers, you may as well skip this section.
Last summer while developing the official G7 Nutanix stencils, a requirement for supporting “No Scale” or “1:1” drawings was presented. The feedback was obviously from some very big spending customer with a lot clout as Nutanix was very eager to solve the issue, despite the fairly strong language used in the feedback.
So it was decided that we had to make the Nutanix stencils compatible with “No Scale” drawings.
Fixing the actual Nutanix NX shapes went without too many problems, it just took some time to basically redo all NX appliance shapes. Unfortunately when I tried my custom cables with “No Scale” drawings, I quickly found out that they were not compatible.
Old cables vs Old placeholders
In my old cables I had used custom “line-end” shapes, which had the same appearance as the placeholder shapes. However under the hood they were totally different.
With “placeholder” or “label” shapes the text, like “10G” was a string, which could be easily manipulated with various string functions. If you wanted to change the text, you could simply edit the text or assign a new string to a string variable. Also there was no issues with normal scaling, even “No Scale” worked with just minor tweaking. So making “placeholder” shapes “No Scale” compatible followed pretty much the same formula as NX appliance had.
The custom “line-end” shapes are made in a special Visio window and for some reason they behave differently. One of the limitation seems to be that you can’t use any strings in a line-end shape or you can, but no text is shown when the “line-end” shape is used with normal “line” shape.
So in order to make it look like text, I had to actually turn text into image. The end result was a tiny picture which looked exactly like the placeholder shape. Since it was a image instead of string, you couldn’t use any string functions to manipulate the text. So I ended up doing quite many images, like “1G”, “10G”, “25G” and inserting them into unique “line-end” shapes to have matching “line-end” shapes for each of the “placeholder” shapes. While these custom image based “line-end” shapes worked just fine with scaled drawings, they completely broke down when used with “No Scale” drawings.
I didn’t have much time left (=budget) to play around with cables, so it was decided to drop the cables from the stencil to have everything working with the “No Scale” requirement.
Maintaining “No Scale” compatibility?
I still believe that you are digging a fairly deep hole, if you decide to use the unfortunate default Visio setting “No Scale” or “1:1” scale while documenting IT environments.
I am not alone with this opinion. Most of the stencil sets found on http://www.visiocafe.com come with a disclaimer:
“These stencils work best for any scale templates from 1:2 to 1:30 but NOT Visio’s “Blank Page” which is 1 to 1 (no-scale). Visio’s “Blank page” causes much frustration.”
And the disclaimer is there for good reasons, maybe a topic for another blog post, as this post is already becoming quite lengthy…
Then again who am I to tell people how to use Visio… If you want to do it the hard way, be my guest. I will try to maintain compatibility with “No Scale” also with Dynamic shapes, if possible. I found a partial solution for cables, I am not perfectly happy with the solution, but at least it works.
Solution attempt 1
While making some tests I found a solution which seemed work with “No Scale” and 1:10 scale (which I am normally using to build Visio shapes) . This time I used one of the built-in “line-end” shapes, an empty circle or (line-end style number 23). If placed on top of one of the labeled NIC ports, you could see the text shown on the “label/placeholder” shape as there was no filling.
Cool, now I wouldn’t have to make separate shapes with for example “10G” since you could see the text from “NIC label”. Maybe just make couple of shapes in different colors and be done with them. Wrong!!!
Unfortunately while testing the solution with different scales I found out that the built-in “line end” shape did not scale, I just had stumbled on a solution that would work with 1:10. As it turns out with the built-in “line-end” shapes there are size settings from 0-6 and setting 2 just happened to work with 1:10 scale and “No scale”.
After a bit of shape sheet magic, which would check the page scale and then adjust the “line end” size setting to match the page scale, I ended up with following set scales:
- 0= 1:16
When using these scales the “line-end” shape was exactly the same size as the “NIC label” shape. But when using any other scales the “line-end” shape was either too small or too big.
Not really happy with this solution as it works only with small set of scales just to fulfill “No Scale” compatibility.
Solution attempt 2
Back to custom “line-end” shapes. I made a shape which looked just like the built-in “line-end” shape 23. This time chose to use “Scaled” setting in “line-end” settings. Test showed that this would work with any scale between 1:2-1:16.
Technically it also works scales beyond 1:16, but there are other limitations in play with those scales, relating to font sizes. Because of these font related limitations I’ve disabled showing text in “NIC labels” while using scales larger that 1:16 as it would require Visio to render fonts in size smaller that 1 pt, a feat that Visio is unfortunately incapable of doing.
How about the infamous “No Scale”? Nope: does not work.
I tried few other approaches, but always ended up with either some scaled drawings breaking or “No Scale” drawings breaking.
So finally, I decided to make separate cable shapes for scaled drawings (=solution 2) and “No Scale” drawings (=solution 1).
Since I was not limited by “No scale” I could make the scaled cable shapes look little bit better. With scaled “Alt” cables both the “line-end” shape and the line between these shapes have a “dotted” line pattern. There is no such built-in “line end” shape, so with “No Scale Alt” cables only the line running between the “line-end” shape has a dotted line pattern.
I am not still perfectly happy with the cable shapes, I may visit this topic again in the future
- It would be nice, if there was no need for separate “No Scale” cables
- The normal cables have a slight scaling issue
- Line weight used is constant
- With larger scales (1:2 – 1:6), the line weight seems thinner than the other lines used in the drawing
- With smaller scales (1:16 and byend), the line weight seem thicker than the other lines used in the drawing
- This is because you can not dynamically adjust the line weight of the “line-end” shapes
- Line weight used is constant
Can’t wait to get your hands on the Nutanix Dynamic Visio shapes?
Please visit the Nutanix stencil download page for the latest stencil package.
Since these are unofficial Visio shapes, they are not available on visiocafe.com, where the official stencil package resides.
- Front & Rear View Shape usage
- Cables & Labels (this post)
- NX-1175S-G7 & NX-1175S-G6
- NX-1065-G7 /-G6 & NX-3060-G7 /-G6
- NX-8150-G7 & NX-8155-G7/ -G6 & NX-5155-G6
- NX-8035-G7 & NX-8035-G6
- NX-8170-G7 & NX-3170-G6
- NX-3155-G7 & NX-3155-G6
- Non-Dynamic mode
- Custom Disk Sizes
- Disk Size Validity Checks
- Why unofficial shapes?
- Update Notes
- NX-3170-G7 & Minor updates