Skip to content

Commit

Permalink
Merge pull request #14 from rebelinux/dev
Browse files Browse the repository at this point in the history
v0.6.2 minor release
  • Loading branch information
rebelinux authored Jan 12, 2022
2 parents cd40e50 + db6a4d8 commit 027375a
Show file tree
Hide file tree
Showing 89 changed files with 402 additions and 520 deletions.
2 changes: 1 addition & 1 deletion AsBuiltReport.NetApp.ONTAP.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

},
"InfoLevel": {
"_comment_": "0 = Disabled, 1 = Enabled / Summary, 2 = Adv Summary",
"_comment_": "0 = Disabled, 1 = Enabled, 2 = Adv Summary",
"Cluster": 1,
"Node": 1,
"Storage": 1,
Expand Down
2 changes: 1 addition & 1 deletion AsBuiltReport.NetApp.ONTAP.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
RootModule = 'AsBuiltReport.NetApp.ONTAP.psm1'

# Version number of this module.
ModuleVersion = '0.6.1'
ModuleVersion = '0.6.2'

# Supported PSEditions
# CompatiblePSEditions = @()
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# :arrows_counterclockwise: NetApp ONTAP Storage As Built Report Changelog

## [0.6.2] - 2022-01-12

### Added

- Added more health check discovery.

### Changed

- Removes unneeded paragraph section.

### Fixed

- Fix for table caption error message "List table captions are only supported on tables with a single row"

## [0.6.1] - 2021-12-02

### Added
Expand Down
38 changes: 18 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,32 +25,18 @@

# NetApp ONTAP Arrays AsBuiltReport

NetApp ONTAP AsBuiltReport is a module of the parent "AsBuiltReport" [project](https://github.com/AsBuiltReport/AsBuiltReport). AsBuiltReport is a PowerShell module which generates As-Built documentation for many common datacentre infrastructure systems. Reports can be generated in Text, HTML and MS Word formats and can be presented with custom styling to align with your company/customer's brand.
NetApp ONTAP As Built Report is a PowerShell module which works in conjunction with [AsBuiltReport.Core](https://github.com/AsBuiltReport/AsBuiltReport.Core).

For detailed documentation around the whole project, please refer to the `README.md` file in the parent AsBuiltReport repository (linked to above). This README is specific only to the NetApp ONTAP Array repository.
[AsBuiltReport](https://github.com/AsBuiltReport/AsBuiltReport) is an open-sourced community project which utilises PowerShell to produce as-built documentation in multiple document formats for multiple vendors and technologies.

Please refer to the AsBuiltReport [website](https://www.asbuiltreport.com) for more detailed information about this project.

## :books: Sample Reports

### Sample Report - Custom Style 1

Sample NetApp ONTAP As Built report HTML file: [Sample NetApp As-Built Report.html](https://technomyth.zenprsolutions.net/wp-content/uploads/2021/11/NetApp-ONTAP-As-Built-Report.html)

Sample NetApp ONTAP As Built report with health checks, using custom report style.

![Sample NetApp ONTAP As Built Report](https://github.com/AsBuiltReport/AsBuiltReport.NetApp.ONTAP/raw/master/Samples/Sample_NetApp_Report_1.png "Sample NetApp ONTAP As Built Report")

### Sample Report - Custom Style 2

Sample NetApp ONTAP As Built report with health checks, using custom report style.

![Sample NetApp ONTAP As Built Report](https://github.com/AsBuiltReport/AsBuiltReport.NetApp.ONTAP/raw/master/Samples/Sample_NetApp_Report_2.png "Sample NetApp ONTAP As Built Report")

### Sample Report - Custom Style 3

Sample NetApp ONTAP As Built report with health checks, using custom report style.

![Sample NetApp ONTAP As Built Report](https://github.com/AsBuiltReport/AsBuiltReport.NetApp.ONTAP/raw/master/Samples/Sample_NetApp_Report_3.png "Sample NetApp ONTAP As Built Report")

# :beginner: Getting Started

Below are the instructions on how to install, configure and generate a NetApp ONTAP As Built Report
Expand Down Expand Up @@ -83,15 +69,27 @@ These modules may also be manually installed.
| AsBuiltReport.Core | 1.1.0 | [Link](https://www.powershellgallery.com/packages/AsBuiltReport.Core) | [Link](https://github.com/AsBuiltReport/AsBuiltReport.Core/releases/latest) |
| Netapp.ONTAP | 9.9.1 | [Link](https://www.powershellgallery.com/packages/NetApp.ONTAP) | |

### :package: Module Installation
### Linux & macOS

- .NET Core is required for cover page image support on Linux and macOS operating systems.
- [Installing .NET Core for macOS](https://docs.microsoft.com/en-us/dotnet/core/install/macos)
- [Installing .NET Core for Linux](https://docs.microsoft.com/en-us/dotnet/core/install/linux)

❗ If you are unable to install .NET Core, you must set `ShowCoverPageImage` to `False` in the report JSON configuration file.

## :package: Module Installation

### PowerShell

Open a PowerShell terminal window and install each of the required modules as follows;

```powershell
Install-Module AsBuiltReport.NetApp.ONTAP
```

Ensure you repeat the following steps for the [system requirements](https://github.com/AsBuiltReport/AsBuiltReport.NetApp.ONTAP#wrench-system-requirements) also.
### GitHub

If you are unable to use the PowerShell Gallery, you can still install the module manually. Ensure you repeat the following steps for the [system requirements](https://github.com/AsBuiltReport/AsBuiltReport.NetApp.ONTAP#wrench-system-requirements) also.

1. Download the code package / [latest release](https://github.com/AsBuiltReport/AsBuiltReport.NetApp.ONTAP/releases/latest) zip from GitHub
2. Extract the zip file
Expand Down
33 changes: 18 additions & 15 deletions Src/Private/Get-AbrOntapClusterASUP.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrOntapClusterASUP {
.DESCRIPTION
.NOTES
Version: 0.5.0
Version: 0.6.2
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand All @@ -25,28 +25,31 @@ function Get-AbrOntapClusterASUP {
process {
$AutoSupport = Get-NcAutoSupportConfig -Controller $Array
if ($AutoSupport) {
$AutoSupportSummary = foreach ($NodesAUTO in $AutoSupport) {
[PSCustomObject] @{
$Outobj = @()
foreach ($NodesAUTO in $AutoSupport) {
$Inobj = [ordered] @{
'Node Name' = $NodesAUTO.NodeName
'Protocol' = $NodesAUTO.Transport
'Enabled' = ConvertTo-TextYN $NodesAUTO.IsEnabled
'Last Time Stamp' = $NodesAUTO.LastTimestampDT
'Last Subject' = $NodesAUTO.LastSubject
}
}
if ($Healthcheck.Cluster.AutoSupport) {
$AutoSupportSummary | Where-Object { $_.'Enabled' -like 'No' } | Set-Style -Style Warning -Property 'Enabled'
}
$Outobj = [PSCustomObject]$Inobj

$TableParams = @{
Name = "Cluster AutoSupport Status - $($ClusterInfo.ClusterName)"
List = $true
ColumnWidths = 25, 75
}
if ($Report.ShowTableCaptions) {
$TableParams['Caption'] = "- $($TableParams.Name)"
if ($Healthcheck.Cluster.AutoSupport) {
$Outobj | Where-Object { $_.'Enabled' -like 'No' } | Set-Style -Style Warning -Property 'Enabled'
}

$TableParams = @{
Name = "Cluster AutoSupport Status - $($NodesAUTO.NodeName)"
List = $true
ColumnWidths = 25, 75
}
if ($Report.ShowTableCaptions) {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$Outobj | Table @TableParams
}
$AutoSupportSummary | Table @TableParams
}
}

Expand Down
4 changes: 1 addition & 3 deletions Src/Private/Get-AbrOntapClusterLicense.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrOntapClusterLicense {
.DESCRIPTION
.NOTES
Version: 0.5.0
Version: 0.6.2
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand All @@ -26,8 +26,6 @@ function Get-AbrOntapClusterLicense {
$Nodes = Get-NcNode -Controller $Array
foreach ($Node in $Nodes) {
Section -Style Heading3 "$Node License Usage" {
Paragraph "The following section provides per node installed licenses on $($ClusterInfo.ClusterName)."
BlankLine
$License = Get-NcLicense -Owner $Node -Controller $Array
if ($License) {
$LicenseSummary = foreach ($Licenses in $License) {
Expand Down
4 changes: 2 additions & 2 deletions Src/Private/Get-AbrOntapEfficiencyAggr.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrOntapEfficiencyAggr {
.DESCRIPTION
.NOTES
Version: 0.5.0
Version: 0.6.2
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand Down Expand Up @@ -40,7 +40,7 @@ function Get-AbrOntapEfficiencyAggr {
}

$TableParams = @{
Name = "Aggregate Efficiency Savings Information - $($ClusterInfo.ClusterName)"
Name = "Aggregate Efficiency Savings - $($ClusterInfo.ClusterName)"
List = $false
ColumnWidths = 35, 15, 15, 15, 20
}
Expand Down
4 changes: 2 additions & 2 deletions Src/Private/Get-AbrOntapEfficiencyConfig.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrOntapEfficiencyConfig {
.DESCRIPTION
.NOTES
Version: 0.5.0
Version: 0.6.2
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand Down Expand Up @@ -42,7 +42,7 @@ function Get-AbrOntapEfficiencyConfig {
}

$TableParams = @{
Name = "Storage Efficiency Savings Information - $($ClusterInfo.ClusterName)"
Name = "Storage Efficiency Savings - $($ClusterInfo.ClusterName)"
List = $false
ColumnWidths = 30, 10, 15, 15, 15, 15
}
Expand Down
4 changes: 2 additions & 2 deletions Src/Private/Get-AbrOntapEfficiencyVol.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrOntapEfficiencyVol {
.DESCRIPTION
.NOTES
Version: 0.5.0
Version: 0.6.2
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand Down Expand Up @@ -45,7 +45,7 @@ function Get-AbrOntapEfficiencyVol {
}

$TableParams = @{
Name = "Volume Efficiency Savings Information - $($Vserver)"
Name = "Volume Efficiency Savings - $($Vserver)"
List = $false
ColumnWidths = 30, 15, 10, 11, 10, 12 ,12
}
Expand Down
4 changes: 2 additions & 2 deletions Src/Private/Get-AbrOntapEfficiencyVolDetailed.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrOntapEfficiencyVolDetailed {
.DESCRIPTION
.NOTES
Version: 0.5.0
Version: 0.6.2
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand Down Expand Up @@ -46,7 +46,7 @@ function Get-AbrOntapEfficiencyVolDetailed {
}

$TableParams = @{
Name = "Volume Efficiency Savings Detailed Information - $($Vserver)"
Name = "Volume Efficiency Savings Detailed - $($Vserver)"
List = $false
ColumnWidths = 20, 10, 10, 11, 10, 12, 12, 15
}
Expand Down
7 changes: 5 additions & 2 deletions Src/Private/Get-AbrOntapEfficiencyVolSisStatus.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrOntapEfficiencyVolSisStatus {
.DESCRIPTION
.NOTES
Version: 0.5.0
Version: 0.6.2
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand Down Expand Up @@ -45,9 +45,12 @@ function Get-AbrOntapEfficiencyVolSisStatus {
}
$OutObj += [pscustomobject]$inobj
}
if ($Healthcheck.Storage.Efficiency) {
$OutObj | Where-Object { $_.'State' -like 'Disabled' } | Set-Style -Style Warning -Property 'State'
}

$TableParams = @{
Name = "Volume Deduplication Information - $($Vserver)"
Name = "Volume Deduplication - $($Vserver)"
List = $false
ColumnWidths = 30, 15, 15, 20, 20
}
Expand Down
4 changes: 2 additions & 2 deletions Src/Private/Get-AbrOntapNetworkBdomain.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrOntapNetworkBdomain {
.DESCRIPTION
.NOTES
Version: 0.5.0
Version: 0.6.2
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand Down Expand Up @@ -38,7 +38,7 @@ function Get-AbrOntapNetworkBdomain {
}

$TableParams = @{
Name = "Network Broadcast Domain Information - $($ClusterInfo.ClusterName)"
Name = "Network Broadcast Domain - $($ClusterInfo.ClusterName)"
List = $false
ColumnWidths = 20, 20, 20, 10, 30
}
Expand Down
4 changes: 2 additions & 2 deletions Src/Private/Get-AbrOntapNetworkFailoverGroup.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrOntapNetworkFailoverGroup {
.DESCRIPTION
.NOTES
Version: 0.5.0
Version: 0.6.2
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand Down Expand Up @@ -36,7 +36,7 @@ function Get-AbrOntapNetworkFailoverGroup {
}

$TableParams = @{
Name = "Network Failover Group Information - $($ClusterInfo.ClusterName)"
Name = "Network Failover Group - $($ClusterInfo.ClusterName)"
List = $false
ColumnWidths = 30, 30, 40
}
Expand Down
4 changes: 2 additions & 2 deletions Src/Private/Get-AbrOntapNetworkIfgrp.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrOntapNetworkIfgrp {
.DESCRIPTION
.NOTES
Version: 0.5.0
Version: 0.6.2
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand Down Expand Up @@ -51,7 +51,7 @@ function Get-AbrOntapNetworkIfgrp {


$TableParams = @{
Name = "Link Aggregation Group Information - $($Node)"
Name = "Link Aggregation Group - $($Node)"
List = $false
ColumnWidths = 15, 15, 15 ,20 ,20, 15
}
Expand Down
30 changes: 15 additions & 15 deletions Src/Private/Get-AbrOntapNetworkIpSpace.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrOntapNetworkIpSpace {
.DESCRIPTION
.NOTES
Version: 0.5.0
Version: 0.6.2
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand Down Expand Up @@ -33,23 +33,23 @@ function Get-AbrOntapNetworkIpSpace {
'Ports' = $Item.Ports -join '; '
'Broadcast Domains' = $Item.BroadcastDomains -join '; '
}
$IPSpaceObj += [pscustomobject]$inobj
}
if ($Healthcheck.Network.Port) {
$IPSpaceObj | Where-Object { $_.'Port' -match "Down" } | Set-Style -Style Warning -Property 'Port'
$IPSpaceObj | Where-Object { $_.'Port Participation' -ne "full" } | Set-Style -Style Warning -Property 'Port Participation'
}
$IPSpaceObj = [pscustomobject]$inobj

if ($Healthcheck.Network.Port) {
$IPSpaceObj | Where-Object { $_.'Port' -match "Down" } | Set-Style -Style Warning -Property 'Port'
$IPSpaceObj | Where-Object { $_.'Port Participation' -ne "full" } | Set-Style -Style Warning -Property 'Port Participation'
}

$TableParams = @{
Name = "Network IPSpace Information - $($ClusterInfo.ClusterName)"
List = $true
ColumnWidths = 25, 75
}
if ($Report.ShowTableCaptions) {
$TableParams['Caption'] = "- $($TableParams.Name)"
$TableParams = @{
Name = "Network IPSpace - $($Item.Ipspace)"
List = $true
ColumnWidths = 25, 75
}
if ($Report.ShowTableCaptions) {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$IPSpaceObj | Table @TableParams
}
$IPSpaceObj | Table @TableParams
}
}

Expand Down
Loading

0 comments on commit 027375a

Please sign in to comment.