Having automation, like found in the DPTPB dynamic shapes which will automatically populate your shapes with additional elements, is usually a good thing.
One could compare automation to using GUI. It makes life easier and there are safeguards preventing users from making mistakes.
However automation without ability to override or handle exceptions might not be such a good thing. You are limited to what the automation can do and you might not be able to handle exceptions. One way to handle exceptions would be to provide CLI access with more freedom to do things in more manual fashion.
To give users freedom to handle exceptions or by-pass automation, I’ve designed the Dynamic shapes in a way that still allows the shapes to be used in manual (non-dynamic) mode, instead of relying on the built-in automation. In manual mode users can combine shapes as they desire without the built-in automation restricting their choices. And best of all (for CLI haters), no CLI required…
Just bear in mind: With more freedom comes more responsibility.
Using DPTPB Dynamic shapes in manual mode
In an ideal world best practices and product specs would be always followed, but unfortunately that is not the case all the time. Sometimes a Multi-Node block might be populated in different order than standard installation order: A,B,C and then D. Or the first NIC card might be placed in non-standard PCI slot. Typically these environments tend to work, if you don’t deviate too much from the norm. The further you deviate from spec sheets, the more likely it is that you end up with problems.
It is very hard to make dynamic shapes that are at the same time easy to use and contain every imaginable permutation possible, even the unsupported combinations and all possible exceptions. Simply too many possible combinations and too much code required to back those combinations, which in turn would unnecessarily slow down shape usage and development.
Yet, somehow it would be nice if one could document these non-standard environments as well with the DPTPB Nutanix Dynamic Visio Shapes.
That is why I’ve included some of the elements used with dynamic shapes as separate Visio shapes. By default there should be no need to use these separate shapes, but to handle exceptions these might be handy.
The default look of Dynamic shape
With exceptions in mind, by default dynamic shapes look like basic product images without any dynamic elements visible. In other words dynamic shapes look like any normal non-dynamic Visio shapes.
Using Dynamic Rear View shapes manually
In addition to looking like a non-dynamic shape by default, the dynamic rear view shapes also can be used like normal non-dynamic shapes. Instead of using pull-down menus to populate PCI slots with NICs and GPUs, you can populate the PCI slots manually by adding separate NIC and GPU shapes to your drawing.
PCI Slot connection points
The dynamic rear view shapes contain connection points in PCI slots, so you can manually add separate add-on-card shapes, like NIC and GPU shapes. Depending on Nutanix model all or some of the PCI slots have connection points for add-on-card shapes.
Using built-in connection points
The connection points for add-on-cards in PCI slots are placed according to spec sheets. At first glance some shapes might look like they are exactly the same, however there might be model specific differences in PCI slot connection points.
For example the background image, showing PCI slots and such, for rear view dynamic shapes NX-3155G-G7, NX-8150-G7 and NX-8155-G7 is exactly the same. But each shape uses different PCI slots and have different associated connection points enabled.
PCI slots with connection points:
- NX-3155G-G7: 1,2,4,5,7,8
- NX-8150-G7: 5,2,4
- NX-8155-G7: 4,7,8
Usually it is better to use correct shape and connection points that come with the shape. This way you would at least place your NICs / GPUs in one of the PCI slots that is actually usable and supported.
Ignoring connection points
Nothing stops you adding a NIC or GPU to your drawing and then manually positioning the NIC/GPU shape on top of NX Node PCI slot which does not have connection points. It just might take bit longer to get into right position. Doing so might lead also to unsupported configuration, so take care…
No forced PCI slot usage order
With manual placement of NIC or GPU shapes there are NO automation or rules regarding PCI slot usage order. You can populate the PCI slots in any order you desire. For example nothing prevents you from placing your NIC #1 into PCI slot which normally used for NIC #2.
PCI Slot Orientation
To give some safeguards against placing NICs / GPUs in wrong orientation, I’ve created two sets of NICs and GPUs. One set with 0° orientation and one set with 180º orientation. The PCI slot connection points with NX appliances are laid in such way that you can’t use wrong orientation NIC with a PCI slot.
Or more precisely, if you use a wrong orientation NIC in a PCI slot, it won’t land in a correct position within the PCI slot. It will either land above the PCI slot or below the PCI slot as seen below examples, not within the PCI slot as it should.
Once again you can ignore the orientation and place your NIC shape manually without taking advantage of the connection points. And like before, the more manual operations you make, the more likely it is that you end up with problems.
Example: NIC with 0° orientation used in 0° orientation PCI slot
- NIC2 (with 0° orientation) connection points connected to PCI slot (with 0° orientation) connection points
- Successful connection indicated by green round shapes
- Connection points for NIC2 with 0° orientation are in
- top left and right corners of the shape
- Connection points for PCI slot with 0° orientation are in
- top left and right corners of the shape
- Since connection points line up
- The NIC2 shape WILL land WITHIN the PCI slot slot shape
- The CORRECT way of using NIC shapes
Example: NIC with 180° orientation used in 0° orientation PCI slot
- NIC2 (with 180° orientation) connection points connected to PCI slot (with 0° orientation) connection points
- Successful connection indicated by green round shapes
- Connection points for NIC2 with 180° orientation are in
- bottom left and right corners of the shape
- Connection points for PCI slot with 0° orientation are in
- top left and right corners of the shape
- Since connection points DON’T line up
- The NIC2 shape WON’T land within the PCI slot slot shape
- Instead it lands ABOVE the PCI slot shape
- The WRONG way of using NIC shapes
Example: NIC with 180° orientation used in 180° orientation PCI slot
- NIC1 (with 180° orientation) connection points connected to PCI slot (with 180° orientation) connection points
- Successful connection indicated by green round shapes
- Connection points for NIC1 with 180° orientation are in
- bottom left and right corners of the shape
- Connection points for PCI slot with 180° orientation are in
- bottom left and right corners of the shape
- Since connection points line up
- The NIC1 shape WILL land WITHIN the PCI slot slot shape
- The CORRECT way of using NIC shapes
Example: NIC with 0° orientation used in 180° orientation PCI slot
- NIC1 (with 0° orientation) connection points connected to PCI slot (with 180° orientation) connection points
- Successful connection indicated by green round shapes
- Connection points for NIC1 with 0° orientation are in
- top left and right corners of the shape
- Connection points for PCI slot with 0° orientation are in
- bottom left and right corners of the shape
- Since connection points DON’T line up
- The NIC1 shape WON’T land within the PCI slot slot shape
- Instead it lands BELOW of the PCI slot shape
- The WRONG way of using NIC shapes
Conclusion of NIC/GPU and PCI slot orientations
- Don’t mix different orientations of NICs/GPUs and PCI slots.
- How would you know what is the orientation of a NIC/GPU shape?
- NIC/GPU orientation is part of the name of a NIC/GPU shape
- For example:
- “NIC FH SFP+ Dual 180°“
- “NIC LP SFP+ Dual 0°“
- GPU Nvidia P40 0°
- GPU Nvidia T4 180°
- For example:
- NIC/GPU orientation is part of the name of a NIC/GPU shape
- How would you know what is the orientation of a PCI slot?
- You wouldn’t
- You have to try to connect a NIC/GPU shape to a PCI slot
- If it lines up with the PCI slot, you are good
- If not, try a different NIC/GPU shape (with different orientation)
- Yes, frustrating and laborious
- Price of doing manual operations…
- If you don’t care about NIC / GPU orientation, you can ignore the connection points and manually drag the NIC / GPU shape anywhere you desire.
Separate NIC shapes
All NIC shapes which are used as dynamic elements with dynamic shapes are also available as separate Visio shapes.
Different variants
- Form Factor
- Full-Height (FH)
- Low-Profile (LP)
- NIC connector type
- BaseT
- SFP+
- QSFP+
- Port count
- Dual
- Quad
- Orientation
- 0°
- 180°
Naming format
- “NIC Form Factor Connector Type Port Count Orientation“
- Examples:NIC LP BaseT Dual 0°NIC LP SFP+ Quad 0°
- NIC FH SFP+ Dual 180°
- NIC FH QSFP+ Dual 180°
Example: NIC LP BaseT Dual 0°
- Two ports with BaseT connectors
- Low-Profile (LP) form factor
- Orientation 0°
- Connection points (white circles) in top left and right corners
Example: NIC LP BaseT Dual 180°
- The same as above
- But turned by 180°
- Connection points (white circles) in bottom left and right corners
- But turned by 180°
Example: NIC FH BaseT Dual 180°
- The same as above
- But Full-Height (FH) form factor
Example: NIC FH sfp+ Dual 180°
- The same as above
- But with sfp+ (or sfp28) port type
Example: NIC FH sfp+ Dual 0°
- The same as above
- But with 0° orientation
Example: NIC FH sfp+ Quad 0°
- The same as above
- But with Quad port count
Example: NIC FH qsfp+ Dual 180°
- FH form factor
- qsfp+ connector type
- Dual port count
- 180° orientation
- Connection points (white circles) in bottom left and right corners
Separate GPU shapes
All GPU shapes which are used as dynamic elements with dynamic shapes are also available as separate Visio shapes.
While using GPU shapes you have use correct orientation to match the orientation of the PCI slot.
With G7 generation GPUs are only supported with NX-3155G-G7. With G6 generation also NX-3170-G6 supports using GPUs.
Different Variants
- Vendor
- Nvidia
- No other vendors at the moment
- Model
- M10,M60,P40,V100,T4
- Orientation
- 0°
- 180°
Naming format
- “GPU Vendor Model Orientation“
- Examples:
- GPU Nvidia P40 0°
- GPU Nvidia T4 180°
Example: GPU Nvidia P40 0°
- Nvidia P40
- DWFH form factor, because GPU is so wide it takes the space of two PCI slots to install
- Orientation 0°
- Connection points (white circles) in top left and right corners
Example: GPU Nvidia P40 180°
- The same as above
- But turned by 180°
- Connection points (white circles) in bottom left and right corners
- But turned by 180°
Example: GPU Nvidia M10 0°
- Nvidia M10
- DWFH form factor, because GPU is so wide it takes the space of two PCI slots to install
- 0° orientation
- Connection points (white circles) in top left and right corners
Example: GPU Nvidia T4 0°
- Nvidia T4
- FH form factor, only takes one PCI slot to install
- Orientation 0°
- Connection points (white circles) in top left and right corners
Separate (PCI Slot) Placeholder shapes
Sometimes when making documents using actual NIC or GPU shapes might make the document harder to understand and better results are achieved by using simpler and more generic placeholder shapes.
I’ve used placeholder shapes while making this documentation series.
Here are few examples:
- Numbering PCI slots, which would have been quite difficult with actual NIC / GPU shapes
- Additionally, the text within placeholder shapes can be flipped 180° to indicate PCI slot or NIC orientation
Three basic placeholder shapes
While the dynamic stencil set contains few dozen placeholder shapes (PH), there are actually only three basic “parent” placeholder shapes, which can be dynamically changed to produce required variants, one for LP form factor, one for FH form factor and one for DWFH form factor.
Not all possible variants are stored as separate shapes, you can take an existing shape and modify it to make new ones, for example by changing the text that is displayed.
Naming format “NIC1 FH PH 0°“
- The text that is shown with the shapePossible values: Any Text
- Form FactorPossible values: LP,FH,DWFH
- PHTo indicate that this is a Placeholder shape
- 0°To indicate the shape orientation
- Possible values: 0° / 180°
- Examples:
- NIC1 LP PH 0°
- GPU FH PH 180°
- GPU1/NIC2 DWFH PH 0°
“Shape Data” menu entries
- “Enter Text”
- Text field that can be edited
- Any text entered here will be shown on the shape
- Limited space
- if too many characters are used
- the text might spill over the shape
- “Select Text Style”
- Pull-down menu
- Font Color
- Possible values:
- Light
- Default setting
- More subtle way of showing information with placeholders
- Doesn’t draw attention to just to placeholder shape
- Dark
- If your main point is the information shown in the placeholder
- Then using more pronounced font color might be useful
- Light
- “Select Text orientation”
- Pull-down menu
- Orientation of the text
- Depending on the actual shape orientation you can turn the text to run upside down
- Possible values:
- 0°
- With 0° shape orientation
- The text runs in the same orientation as the shape
- Default value with PH shapes in 0° orientation
- With 180° shape orientation
- The text runs in the opposite orientation as the shape
- With 0° shape orientation
- 180°
- With 0° shape orientation
- The text runs in the same orientation as the shape
- With 180° shape orientation
- The text runs in the opposite orientation as the shape
- Default value with PH shapes in 180°
- This way both PH shapes in orientations 0°/180°
- Have their text running in the same orientation
- With 0° shape orientation
- 0°
Example: NIC1 LP PH 0°
- Default settings
- Text Orientation = 0°
- Like with 0° orientation NICs
- connection points in top left and right corners
Example: “NIC1 LP PH 0°” shape with text style changed
- “Dark” selected in “Shape Data” / “Select Text Style”
- Otherwise the same settings as above
Example: “NIC2 LP PH 180°” shape
- Default settings
- Text Orientation = 180°
- Like with 180° orientation NICs
- connection points in bottom left and right corners
Example: “NIC2 LP PH 180°” shape with text style changed
- “Dark” selected in “Shape Data” / “Select Text Style”
- Otherwise the same settings as above
Example: “NIC3 FH PH 0°” shape
- Default settings
- Text Orientation = 0°
- Like with 0° orientation NICs
- connection points in top left and right corners
Example: “GPU4 FH PH 180°” shape
- Default settings
- Text Orientation = 180°
- Like with 180° orientation NICs
- connection points in bottom left and right corners
Example: “GPU1 DWFH PH 0°” shape
- Default settings
- Text Orientation = 0°
- Like with 0° orientation NICs
- connection points in top left and right corners
Example: “GPU2/NIC3 DWFH PH 180°” shape
- Default settings
- Text Orientation = 180°
- Like with 180° orientation NICs
- connection points in bottom left and right corners
Example: PH shapes used “NX-8150-G7 Dyn (F)” shape to show NIC population order
- NIC1 shape = “NIC1 LP PH 180°”
- “Shape Data” / “Select Text Style”
- was changed from “light” to “dark”
- to draw attention to NICs
- PCI slot has 180° orientation
- PCI/PH form factor = LP (Low-Profile)
- “Shape Data” / “Select Text Style”
- NIC2 shape = “NIC2 FH PH 0°”
- “Shape Data” / “Select Text Style”
- was changed from “light” to “dark”
- to draw attention to NICs
- PCI slot has 0° orientation
- PCI/PH form factor = FH (Full-Height)
- “Shape Data” / “Select Text Style”
- NIC3 shape = “NIC3 FH PH 0°”
- “Shape Data” / “Select Text Style”
- was changed from “light” to “dark”
- to draw attention to NICs
- PCI slot has 0° orientation
- PCI/PH form factor = FH (Full-Height)
- “Shape Data” / “Select Text Style”
Example: PH shapes used “NX-8150-G7 Dyn (F)” shape to show NIC population order and orientation
- Same settings and shapes as in previous example
- except for “NIC1 LP PH 180°” shape
- “Shape Data” / “Select Text Orientation”
- was changed from “180°” to “0°”
- Now NIC1 text also indicates the NIC orientation
- But is little bit harder to read
- “Shape Data” / “Select Text Orientation”
- No need to change the text orientation for NIC2 & NIC3
- The text is already in the same orientation as NIC orientation
Separate Node filler shapes
Sometimes users might need to document multi-node models while working in manual / non-dynamic mode. To understand how manual mode works let’s first recap how multi-node shapes work in automatic / dynamic mode
Dynamic rear view multi-node shapes in automatic mode
With dynamic shapes for Multi-Node models users can document also partially populated blocks. Automation behind this functionality was built with assumption that the nodes are installed in “correct” order. First populate Node A, then Node B, then Node C and finally Node D.
The number of nodes shown / in use can be changed with “Shape Data” / “Select Nutanix Model” and automation will show required number of nodes to match your selection using sequence described above.
How it actually works under covers is slightly different. All the nodes are visible in the background image. If lesser than full number of nodes is selected, the unused nodes are “hidden” by an “empty” Node Filler shape.
Example: default mode for “NX-1065-G7 Dyn (R)” shape
- (default) selection for “Shape Data” / “Select Nutanix Model” is
- NX-1465-G7 = All four nodes visible
Example: Showing only three nodes with “NX-1065-G7 Dyn (R)” shape
- selection for “Shape Data” / “Select Nutanix Model” is now
- NX-1365-G7 = three nodes visible,
- nodes A,B and C
- Node D is now hidden
- By using “Node Filler” shape
- NX-1365-G7 = three nodes visible,
Manually masking unused nodes
The problem with automatic multi-node shapes is that the nodes are always hidden/shown using set sequence. What if you have to document a multi-node model, where the one and only node is installed in Node slot D (nodes are not populated following the set sequence).
Well, in dynamic / automatic mode you can’t. For this reason the stencil set contains also separate “Node Filler” shapes. With these shapes you can “hide” whatever node you want to and in any possible order.
Since there are two possible types for Multi-Node models, two “Node Filler” shapes are required. One for “Two Nodes in 2U” and another one “Four Nodes in 2U”
Example: Separate “Node 2U4N Filler Plate” shape
- Used with NX-1065-Gx and NX-3060-Gx
Example: Separate “Node 2U2N Filler Plate” shape
- Used with NX-8035-Gx
Additionally for both basic filler plates there is a transparent version of the filler shape, that partially shows the node which is underneath the filler plate
Example: Separate “Node 2U4N Filler Plate TP” shape
Example: Separate “Node 2U2N Filler Plate TP” shape
How to use “Node Filler Plate” shapes
- Start by pulling a multi-node shape in to the drawing
- Do not change “Shape Data” / “Select Nutanix Model” setting
- Reducing the number of nodes will disable connection points needed for “Node Filler Plates”
- The pull a suitable “Node Filler Plate” on top of the multi-node shape
- Both the multi-node shape and “Node Filler Plate” have compatible connection points
Example: 3x”Node 2U4N Filler Plate” shapes used with “NX-3060-G7 Dyn (R)” shape
- Only Node D is visible
- Rest of the nodes are “hidden” by “Node 2U4N Filler Plate” shapes
Example: 2x”Node 2U4N Filler Plate TP” shapes used with “NX-1065-G7 Dyn (R)” shape
- Node A & D visibile
- Rest of the nodes are partially “hidden” by transparent “Node 2U4N Filler Plate TP” shapes
Example: 1x”Node 2U2N Filler Plate” shape used with “NX-8035-G7 Dyn (R)” shape
- Node B visible
- Node A “hidden” by transparent “Node Filler Plate” shape
- It only makes sense to use separate “Node 2U2N Filler Plate” to hide Node A, as Node B can be hidden in normal automated / dynamic mode
Example: 1x”Node 2U2N Filler Plate TP” shape used with “NX-8035-G7 Dyn (R)” shape
- Unless you want to use transparent “Node Filler Plate” which is not available in normal automated / dynamic mode
- Node A shown
- Node B partially “hidden” by transparent “Node 2U2N Filler Plate TP”
Documenting Front View shapes manually
With official (non-dynamic) Nutanix front view shapes there are not so many separate elements you can use. You basically have the actual NX front view shapes with detailed disk bay view and then you have separate Bezel front view shapes which can be placed on top of the NX shapes to hide the disks.
So to follow this logic I have decided NOT make separate disk or disk label shapes. Nor there are connection points with front view shapes where you could attach separate disk or disk label shapes.
I can’t think of use cases for separate disk or disk label shapes, at least not realistic enough to warrant all the work required to create them. Maybe I’ll create them if requested enough or I can think of real use case where they are really needed.
Separate Bezel shape
Not much special with separate bezel shapes, they have the same rack compatible connection points as NX shapes. If you place it on top of NX shape, it hides the disks. Maybe less cluttered way of documenting racks filled with front view NX shapes.
Four different Bezel shapes
- Bezel 1U G7
- Bezel 2U G7
- Bezel 1U G6
- Bezel 2U G6
In right-click menu there is an option to show Nutanix model as text. The model can be changed in “Shape Data” pull-down menu. I chose to make separate shapes for G6 and G7 generations as with single shape, the list of different models would have been quite long.
Why right-click and then “Shape Data”? Yes, valid point both could be moved to “Shape Data” making shape usage slightly easier, maybe in some future release. In the meanwhile – cost of working in manual mode 🙂
What about disk labels then?
Since you thought that disk labels were important enough to warrant making dynamic front view shapes, why not manual labeling?
Automatic labeling with Dynamic Shapes
Labeling disks with dynamic NX front view shapes is easy enough that somebody might actually be bothered to do that. That is all because of automation, it just takes couple of mouse clicks and as a end result you will have a detailed front view shape instead of generic front view shape.
With very small effort you can for example present your solution to your customer with images
- which look very customer specific
- look like you spent a lot of time making them
- making the customer feel special
- giving you higher chance of winning the deal
- possibly good ROI for time spent
Manual labeling
While disk labeling is possible to do manually, it is a task which most of the time is not worth the effort and time required, even with cleverly designed separate dynamic label or disk shapes (non-existent) and built-in connection points (also non-existent).
Manually labeling a small cluster
Maybe, just maybe doable for a single 12 disk NX-1365-G6. Just 12 labels to do. With premade labels and connection points, maybe few minutes.
Manually labeling few small clusters
Without premade labels and connection points, maybe 30 minutes. But then again you rarely present just one option and you would have to document all your alternate configs the same way, now we are talking about hours.
Oh, the requirements have changed
What if you have to change the NX model as customer presents new new requirements or there are budget constraints. Hours quickly turn into days.
Manually labeling a large cluster
And that was just for one small environment. Now consider that you have to label all the disks in a larger cluster with mixture of nodes and disk configurations. Possibly hundreds or even thousands of disks to be labeled. And then you are asked to change all 3.84TB SSD drives to 1.92TB SSD drives or change NX model for nodes x, y and z…
Sure, if you are billing by the hour, but even then it would drive you crazy.
Hold on you said that you can’t think of any use cases where you might need to label disks manually
“I can think of two immediately: Disk size missing or Disk combination missing”
Yes, both valid points – but there is an easier way to fix this than manually labeling the disks.
Disk size missing or Disk combination missing?
Rather than labeling manually possibly up to 24 disks per node, there is a much easier solution.
Update the parameter file or list containing the supported disks sizes or disk combinations for a NX platform and ta-daa, you can use the pull-down menus to label the disks with this new information.
While slightly more advanced and more difficult than just pulling shapes from stencil to drawing and using pull-down menus, still fairly easy task to accomplish, if done correctly.
I won’t describe the exact process here as this post is already getting quite long.
Editing the disk size or disk layout lists
If you already know how to read Visio shape sheets, you can reverse engineer how to do it.
Few clues:
- Open the shape sheet for a front view shape that is missing
- a disk of given size
- or
- a disk layout
- In the “User” section,
- in the very few first lines there are variables with names containing SSD/HDD/SEDSSD/SEDHDD or NVMe
- The value of the variable tells you where to find the list in master shapesheet of the drawing
- Go to master shape sheet
- add new disk sizes at the end of that variable
- containing list of supported disk sizes or disk combinations
- follow the format used in the previous entries
- adding them anywhere on the list than at end might break any existing shapes using the same variable.
- add new disk sizes at the end of that variable
- Your pull-down menu should now contain a new disk size or disk combination entries at the end of the list
If shapesheets, master shapesheets and visio variables are unfamiliar territory, my suggestion is not to try it unless you are prepared to break your drawing. I will try to make more detailed and safer instructions in the next post.
Bugs found?
Comments regarding any possible bugs can be left in the comments section of this post, your help is much appreciated
Downloads
- 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.
Further documentation
- Intro
- Front & Rear View Shape usage
- Cables & Labels
- 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 (this post)
- Custom Disk Sizes
- Disk Size Validity Checks
- Why unofficial shapes?
- Limitations
- Update Notes
- NX-3170-G7 & Minor updates
- NX-8170-G7 with partially populated NVMe bays
- NX-1120S-G7 & Minor updates