diff --git a/Build-Module.ps1 b/Build-Module.ps1 index 60bd526..f8d75ea 100644 --- a/Build-Module.ps1 +++ b/Build-Module.ps1 @@ -6,4 +6,4 @@ param( [String]$Version ) -Update-ModuleManifest -Path ".\DellOpenManage\DellOpenManage.psd1" -ModuleVersion $Version -Copyright "(c) 2021 Dell EMC. All rights reserved." \ No newline at end of file +Update-ModuleManifest -Path ".\DellOpenManage\DellOpenManage.psd1" -ModuleVersion $Version -Copyright "(c) 2023 Dell EMC. All rights reserved." \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c9ccb2..9d5780e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [3.5.0]() - 2023-04-14 +### Added +- Invoke-OMEQuickDeploy +- Set-OMEChassisName +- Set-OMEChassisSlotName +- Get-OMEApplicationSettings +- Set-OMEApplicationSettings + ## [3.4.1]() - 2023-03-23 ### Changed - Get-OMEGroup added support for paging results to return over 100 groups diff --git a/DellOpenManage/Classes/QuickDeploySlot.psm1 b/DellOpenManage/Classes/QuickDeploySlot.psm1 deleted file mode 100755 index 080e94b..0000000 --- a/DellOpenManage/Classes/QuickDeploySlot.psm1 +++ /dev/null @@ -1,7 +0,0 @@ -Class QuickDeploySlot { - [int]$Slot - [String]$IPv4Address - [String]$IPv6Address - [int]$VlanId - [String]$SlotType -} \ No newline at end of file diff --git a/DellOpenManage/DellOpenManage.psd1 b/DellOpenManage/DellOpenManage.psd1 index 01b079b..6792e25 100644 --- a/DellOpenManage/DellOpenManage.psd1 +++ b/DellOpenManage/DellOpenManage.psd1 @@ -3,7 +3,7 @@ # # Generated by: Trevor Squillario # -# Generated on: 3/23/2023 +# Generated on: 4/14/2023 # @{ @@ -12,7 +12,7 @@ RootModule = 'DellOpenManage.psm1' # Version number of this module. -ModuleVersion = '3.4.1' +ModuleVersion = '3.5.0' # Supported PSEditions # CompatiblePSEditions = @() diff --git a/DellOpenManage/Public/OME/Invoke-OMEQuickDeploy.ps1 b/DellOpenManage/Public/OME/Invoke-OMEQuickDeploy.ps1 index 31b5e01..b8ffb5c 100755 --- a/DellOpenManage/Public/OME/Invoke-OMEQuickDeploy.ps1 +++ b/DellOpenManage/Public/OME/Invoke-OMEQuickDeploy.ps1 @@ -1,5 +1,4 @@ using module ..\..\Classes\Device.psm1 -using module ..\..\Classes\QuickDeploySlot.psm1 function Get-QuickDeployPayload($Name, [SecureString]$RootPassword, $SlotType, $DeviceId, $IPv4Enabled, $IPv4NetworkType, $IPv4SubnetMask, $IPv4Gateway, $IPv6Enabled, $IPv6NetworkType, $IPv6Gateway, $IPv6PrefixLength, $Slots) { $Payload = '{ @@ -249,7 +248,7 @@ Process { # Submit job $JobURL = $BaseUri + "/api/JobService/Jobs" $JobPayload = $JobPayload | ConvertTo-Json -Depth 6 - Write-Verbose $JobPayload + #Write-Verbose $JobPayload $JobResp = Invoke-WebRequest -Uri $JobURL -UseBasicParsing -Headers $Headers -ContentType $Type -Method POST -Body $JobPayload if ($JobResp.StatusCode -eq 201) { Write-Verbose "Job creation successful..." diff --git a/Documentation/CommandReference.md b/Documentation/CommandReference.md index d58a392..9aa1d45 100644 --- a/Documentation/CommandReference.md +++ b/Documentation/CommandReference.md @@ -10,6 +10,7 @@ - [Get-OMEAlert](Functions/Get-OMEAlert.md) - [Get-OMEAlertDefinition](Functions/Get-OMEAlertDefinition.md) - [Get-OMEApplianceInfo](Functions/Get-OMEApplianceInfo.md) +- [Get-OMEApplicationSettings](Functions/Get-OMEApplicationSettings.md) - [Get-OMEAuditLog](Functions/Get-OMEAuditLog.md) - [Get-OMECatalog](Functions/Get-OMECatalog.md) - [Get-OMEConfigurationBaseline](Functions/Get-OMEConfigurationBaseline.md) @@ -49,6 +50,7 @@ - [Invoke-OMEMcmGroupRetireLead](Functions/Invoke-OMEMcmGroupRetireLead.md) - [Invoke-OMEOnboarding](Functions/Invoke-OMEOnboarding.md) - [Invoke-OMEProfileUnassign](Functions/Invoke-OMEProfileUnassign.md) +- [Invoke-OMEQuickDeploy](Functions/Invoke-OMEQuickDeploy.md) - [Invoke-OMEReport](Functions/Invoke-OMEReport.md) - [Invoke-OMEResetApplication](Functions/Invoke-OMEResetApplication.md) - [Invoke-OMETemplateDeploy](Functions/Invoke-OMETemplateDeploy.md) @@ -77,6 +79,9 @@ - [Remove-OMESupportAssistGroup](Functions/Remove-OMESupportAssistGroup.md) - [Remove-OMETemplate](Functions/Remove-OMETemplate.md) - [Remove-OMEUser](Functions/Remove-OMEUser.md) +- [Set-OMEApplicationSettings](Functions/Set-OMEApplicationSettings.md) +- [Set-OMEChassisName](Functions/Set-OMEChassisName.md) +- [Set-OMEChassisSlotName](Functions/Set-OMEChassisSlotName.md) - [Set-OMEIOMPortBreakout](Functions/Set-OMEIOMPortBreakout.md) - [Set-OMEPowerState](Functions/Set-OMEPowerState.md) - [Set-OMETemplateIdentityPool](Functions/Set-OMETemplateIdentityPool.md) diff --git a/Documentation/Functions/Get-OMEApplicationSettings.md b/Documentation/Functions/Get-OMEApplicationSettings.md new file mode 100755 index 0000000..e3caaff --- /dev/null +++ b/Documentation/Functions/Get-OMEApplicationSettings.md @@ -0,0 +1,46 @@ +--- +external help file: DellOpenManage-help.xml +Module Name: DellOpenManage +online version: +schema: 2.0.0 +--- + +# Get-OMEApplicationSettings + +## SYNOPSIS +Get Application Settings + +## SYNTAX + +``` +Get-OMEApplicationSettings [] +``` + +## DESCRIPTION +{{ Fill in the Description }} + +## EXAMPLES + +### EXAMPLE 1 +``` +Get-OMEApplicationSettings +``` + +### EXAMPLE 2 +``` +Get-OMEApplicationSettings | Select-Object -ExpandProperty SystemConfiguration | Select-Object -ExpandProperty Components | Select-Object -First 1 | Select-Object -ExpandProperty Attributes | Format-Table +Display all Attributes in Table. See README for more examples. +``` + +## PARAMETERS + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/Documentation/Functions/Invoke-OMEQuickDeploy.md b/Documentation/Functions/Invoke-OMEQuickDeploy.md new file mode 100755 index 0000000..946760f --- /dev/null +++ b/Documentation/Functions/Invoke-OMEQuickDeploy.md @@ -0,0 +1,272 @@ +--- +external help file: DellOpenManage-help.xml +Module Name: DellOpenManage +online version: +schema: 2.0.0 +--- + +# Invoke-OMEQuickDeploy + +## SYNOPSIS +Invoke quick deploy job on chassis slots + +## SYNTAX + +``` +Invoke-OMEQuickDeploy [[-Name] ] [[-Chassis] ] [-RootPassword] + [-SlotType] [-IPv4Enabled] [[-IPv4NetworkType] ] [[-IPv4SubnetMask] ] + [[-IPv4Gateway] ] [-IPv6Enabled] [[-IPv6NetworkType] ] [[-IPv6Gateway] ] + [[-IPv6PrefixLength] ] [-Slots] [-Wait] [[-WaitTime] ] [] +``` + +## DESCRIPTION +{{ Fill in the Description }} + +## EXAMPLES + +### EXAMPLE 1 +``` +Invoke-OMEQuickDeploy -RootPassword $(ConvertTo-SecureString 'calvin' -AsPlainText -Force) -SlotType "SLED" -Chassis $("C38V9ZZ" | Get-OMEDevice) -IPv4Enabled -IPv4NetworkType "DHCP" -Slots @(@{Slot=1;},@{Slot=2;}) -Wait -Verbose +Quick Deploy sleds in slot 1 and 2 using DHCP. See README for more examples. +``` + +## PARAMETERS + +### -Name +Name of the quick deploy job + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 1 +Default value: "Quick Deploy Task Device $((Get-Date).ToString('yyyyMMddHHmmss'))" +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Chassis +Object of type Device returned from Get-OMEDevice function. +Must be a Chassis device type. + +```yaml +Type: Device +Parameter Sets: (All) +Aliases: + +Required: False +Position: 2 +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -RootPassword +SecureString containing the root password + +```yaml +Type: SecureString +Parameter Sets: (All) +Aliases: + +Required: True +Position: 3 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SlotType +String to represent the slot type (Default="SLED", "IOM") + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 4 +Default value: SLED +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IPv4Enabled +Switch to enable IPv4 + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: False +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IPv4NetworkType +String to determine the network type (Default="DHCP", "STATIC") + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 5 +Default value: DHCP +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IPv4SubnetMask +String representing the IPv4 subnet mask + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 6 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IPv4Gateway +String representing the IPv4 gateway + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 7 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IPv6Enabled +Switch to enable IPv6 + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: False +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IPv6NetworkType +String to determine the network type (Default="DHCP", "STATIC") + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 8 +Default value: DHCP +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IPv6Gateway +String representing the IPv6 gateway + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 9 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -IPv6PrefixLength +String representing the IPv6 prefix length + +```yaml +Type: Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: 10 +Default value: 0 +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Slots +Array of PSCustomObject (Hashtable) containing slot quick deploy settings. +Example: $Settings = @(@{Slot=1; IPv4Address="192.169.1.100"; IPv6Address="2001:0db8:85a3:0000:0000:8a2e:0370:7334"; VlanId=1}) + +```yaml +Type: PSObject[] +Parameter Sets: (All) +Aliases: + +Required: True +Position: 11 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Wait +Wait for job to complete + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: False +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WaitTime +Time, in seconds, to wait for the job to complete + +```yaml +Type: Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: 12 +Default value: 3600 +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Device +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/Documentation/Functions/Set-OMEApplicationSettings.md b/Documentation/Functions/Set-OMEApplicationSettings.md new file mode 100755 index 0000000..4eafc3a --- /dev/null +++ b/Documentation/Functions/Set-OMEApplicationSettings.md @@ -0,0 +1,88 @@ +--- +external help file: DellOpenManage-help.xml +Module Name: DellOpenManage +online version: +schema: 2.0.0 +--- + +# Set-OMEApplicationSettings + +## SYNOPSIS +Set Application Settings + +## SYNTAX + +``` +Set-OMEApplicationSettings [-Settings] [-Wait] [[-WaitTime] ] [] +``` + +## DESCRIPTION +{{ Fill in the Description }} + +## EXAMPLES + +### EXAMPLE 1 +``` +Set-OMEApplicationSettings -Settings @(@{Name="SSH.1#Enable"; Value=$true}) -Wait -Verbose +Enable SSH. See README for more examples. +``` + +## PARAMETERS + +### -Settings +Array of PSCustomObject (Hashtable) containing Attributes to set. +Use Get-OMEApplicationSettings to view available Attributes. +Example: $Settings = @(@{Name="SSH.1#Enable"; Value=$true}) + +```yaml +Type: PSObject[] +Parameter Sets: (All) +Aliases: + +Required: True +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Wait +{{ Fill Wait Description }} + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: False +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WaitTime +{{ Fill WaitTime Description }} + +```yaml +Type: Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: 2 +Default value: 3600 +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/Documentation/Functions/Set-OMEChassisName.md b/Documentation/Functions/Set-OMEChassisName.md new file mode 100755 index 0000000..1c763ee --- /dev/null +++ b/Documentation/Functions/Set-OMEChassisName.md @@ -0,0 +1,102 @@ +--- +external help file: DellOpenManage-help.xml +Module Name: DellOpenManage +online version: +schema: 2.0.0 +--- + +# Set-OMEChassisName + +## SYNOPSIS +Set chassis name + +## SYNTAX + +``` +Set-OMEChassisName [-Chassis] [-Name] [-Wait] [[-WaitTime] ] [] +``` + +## DESCRIPTION +{{ Fill in the Description }} + +## EXAMPLES + +### EXAMPLE 1 +``` +Set-OMEChassisName -Name "TESTMX7000-1" -Chassis $("C38V9ZZ" | Get-OMEDevice) -Wait -Verbose +``` + +## PARAMETERS + +### -Chassis +Object of type Device returned from Get-OMEDevice function. +Must be a Chassis device type. + +```yaml +Type: Device +Parameter Sets: (All) +Aliases: + +Required: True +Position: 1 +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +String to represent the Chassis name + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 2 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Wait +Wait for job to complete + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: False +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WaitTime +Time, in seconds, to wait for the job to complete + +```yaml +Type: Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: 3 +Default value: 3600 +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Device +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/Documentation/Functions/Set-OMEChassisSlotName.md b/Documentation/Functions/Set-OMEChassisSlotName.md new file mode 100755 index 0000000..ba5e57f --- /dev/null +++ b/Documentation/Functions/Set-OMEChassisSlotName.md @@ -0,0 +1,146 @@ +--- +external help file: DellOpenManage-help.xml +Module Name: DellOpenManage +online version: +schema: 2.0.0 +--- + +# Set-OMEChassisSlotName + +## SYNOPSIS +Set Chassis slot names + +## SYNTAX + +``` +Set-OMEChassisSlotName [-Chassis] [-Slot] [-Name] [[-SlotType] ] [-Wait] + [[-WaitTime] ] [] +``` + +## DESCRIPTION +{{ Fill in the Description }} + +## EXAMPLES + +### EXAMPLE 1 +``` +Set-OMEChassisSlotName -Chassis $("C38V9ZZ" | Get-OMEDevice) -Slot 1 -Name "MX840c-C39N9ZZ" -Wait -Verbose +Set chassis sled slot name +``` + +### EXAMPLE 2 +``` +Set-OMEChassisSlotName -Chassis $("C38V9ZZ" | Get-OMEDevice) -Slot 4 -Name "MX5016s-C39R9ZZ" -SlotType "STORAGESLED" -Wait -Verbose +Set chassis storage sled slot name +``` + +### EXAMPLE 3 +``` +Set-OMEChassisSlotName -Chassis $("C38V9ZZ" | Get-OMEDevice) -Slot 1 -Name "MX5108-C38T9ZZ" -SlotType "IOM" -Wait -Verbose +Set chassis IOM slot name +``` + +## PARAMETERS + +### -Chassis +Object of type Device returned from Get-OMEDevice function. +Must be a Chassis device type. + +```yaml +Type: Device +Parameter Sets: (All) +Aliases: + +Required: True +Position: 1 +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Slot +Int to represent the slot number + +```yaml +Type: Int32 +Parameter Sets: (All) +Aliases: + +Required: True +Position: 2 +Default value: 0 +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +String to represent the slot name + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 3 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SlotType +String to represent the slot type (Default="SLED", "STORAGESLED", "IOM") + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 4 +Default value: SLED +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Wait +Wait for job to complete + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: False +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WaitTime +Time, in seconds, to wait for the job to complete + +```yaml +Type: Int32 +Parameter Sets: (All) +Aliases: + +Required: False +Position: 5 +Default value: 3600 +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Device +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/Examples/Chassis-BareMetalProvision.ps1 b/Examples/Chassis-BareMetalProvision.ps1 index 6bb4ccd..bb3a549 100644 --- a/Examples/Chassis-BareMetalProvision.ps1 +++ b/Examples/Chassis-BareMetalProvision.ps1 @@ -57,6 +57,7 @@ $ChassisSettings = @{ FabricUplinkStorageFabricAPorts = "C38S9T2:fibrechannel1/1/43:1" FabricUplinkStorageFabricBName = "StorageFabricBUplink" FabricUplinkStorageFabricBPorts = "CMWSV43:fibrechannel1/1/43:1" + IdentityPoolName = "TestPool01" IdentityPoolCount = 128 IdentityPoolEthernetMAC = "02:00:00:00:00:00" IdentityPoolFCoEMAC = "04:00:00:00:00:00" @@ -129,16 +130,17 @@ New-OMEFabricUplink -Name $ChassisSettings.FabricUplinkStorageFabricAName -Fabri -TaggedNetworks $StorageFabricANetwork -Ports $ChassisSettings.FabricUplinkStorageFabricAPorts -Verbose New-OMEFabricUplink -Name $ChassisSettings.FabricUplinkStorageFabricBName -Fabric $Fabric -UplinkType $ChassisSettings.FabricUplinkStorageType ` -TaggedNetworks $StorageFabricBNetwork -Ports $ChassisSettings.FabricUplinkStorageFabricBPorts -Verbose + # Create Identity Pool New-OMEIdentityPool ` - -Name "TestPool01" ` + -Name $ChassisSettings.IdentityPoolName ` -EthernetSettings_IdentityCount $ChassisSettings.IdentityPoolCount ` -EthernetSettings_StartingMacAddress $ChassisSettings.IdentityPoolEthernetMAC ` -FcoeSettings_IdentityCount $ChassisSettings.IdentityPoolCount ` -FcoeSettings_StartingMacAddress $ChassisSettings.IdentityPoolFCoEMAC ` -Verbose -# Loop through Chassis setting chassis name, slot names and quick deploying sleds/IOM +# Loop through Chassis setting chassis name, slot names and quick deploy for sleds/IOM foreach ($Chassis in $ChassisSettings.Chassis) { $ChassisDevice = $Chassis.ServiceTag | Get-OMEDevice # Set Chassis Name @@ -158,6 +160,7 @@ foreach ($Chassis in $ChassisSettings.Chassis) { foreach ($SledSlot in $Chassis.SledSlots) { Set-OMEChassisSlotName -Chassis $ChassisDevice -Slot $SledSlot.Slot -Name $SledSlot.Name -Verbose } + foreach ($IOMSlot in $Chassis.IOMSlots) { Set-OMEChassisSlotName -Chassis $ChassisDevice -Slot $IOMSlot.Slot -Name $IOMSlot.Name -SlotType "IOM" -Verbose } @@ -166,12 +169,20 @@ foreach ($Chassis in $ChassisSettings.Chassis) { # Set Application Settings Set-OMEApplicationSettings -Settings $ChassisSettings.Attributes -Wait -Verbose -# Create Alert Policy -# Import Default Template -# Configure NPAR partitions for FCoE -# Assign Identity Pool & VLANs -# Include FCoE VLANs +# Create Alert Policy (TODO) + +# Import Default Template which includes NPAR partitions for FCoE. Configure this on a server via the Lifecycle Controller and export SCP to XML file. New-OMETemplateFromFile -Name $ChassisSettings.TemplateName -Content $(Get-Content -Path .\Data.xml | Out-String) + +# Assign VLANs to Template +$Template = $ChassisSettings.TemplateName | Get-OMETemplate +$Template | Set-OMETemplateNetwork -NICIdentifier "NIC in Mezzanine 1A" -Port 1 -TaggedNetworks $Port1Networks -Mode "Replace" -Verbose +$Template | Set-OMETemplateNetwork -NICIdentifier "NIC in Mezzanine 1A" -Port 2 -TaggedNetworks $Port2Networks -Mode "Replace" -Verbose + +# Assign Identity Pool to Template +$IdentityPool = $ChassisSettings.IdentityPoolName | Get-OMEIdentityPool +$Template | Set-OMETemplateIdentityPool -IdentityPool $IdentityPool -Verbose + # Deploy Template to Sleds $DefaultTemplate = $($ChassisSettings.TemplateName | Get-OMETemplate) $AllComputeDevices = $(1000 | Get-OMEDevice -FilterBy "Type") diff --git a/README.md b/README.md index 5893508..34714d0 100644 --- a/README.md +++ b/README.md @@ -652,13 +652,14 @@ Set-OMEChassisName -Name "TESTMX7000-1" -Chassis $Chassis -Wait -Verbose ``` $Chassis = "C38V9ZZ" | Get-OMEDevice Set-OMEChassisSlotName -Chassis $Chassis -Slot 1 -Name "MX840c-C39N9ZZ" -Wait -Verbose + Set-OMEChassisSlotName -Chassis $Chassis -Slot 1 -Name "MX5108-C38T9ZZ" -SlotType "IOM" -Wait -Verbose ``` ## Quick Deploy ``` $RootPassword = $(ConvertTo-SecureString 'calvin' -AsPlainText -Force) -$Chassis = "C38V9T2" | Get-OMEDevice +$Chassis = "C38V9ZZ" | Get-OMEDevice ``` Sleds DHCP @@ -681,7 +682,7 @@ Invoke-OMEQuickDeploy -RootPassword $RootPassword -SlotType "SLED" -Chassis $Cha Sleds IPv4 Only ``` $QuickDeployIPv4Static = @( - @{Slot=1; IPv4Address="100.79.6.12"; VlanId=1} + @{Slot=1; IPv4Address="192.168.1.100"; VlanId=1} ) Invoke-OMEQuickDeploy -RootPassword $RootPassword -SlotType "SLED" -Chassis $Chassis ` -IPv4Enabled -IPv4NetworkType "STATIC" -IPv4SubnetMask "255.255.254.0" -IPv4Gateway "192.168.1.1" ` @@ -702,7 +703,7 @@ Invoke-OMEQuickDeploy -RootPassword $RootPassword -SlotType "SLED" -Chassis $Cha Sleds IPv4 and IPv6 ``` $QuickDeployBothStatic = @( - @{Slot=1; IPv4Address="100.79.6.12"; IPv6Address="2001:0db8:85a3:0000:0000:8a2e:0370:7334"; VlanId=1} + @{Slot=1; IPv4Address="192.168.1.100"; IPv6Address="2001:0db8:85a3:0000:0000:8a2e:0370:7334"; VlanId=1} ) Invoke-OMEQuickDeploy -RootPassword $RootPassword -SlotType "SLED" -Chassis $Chassis ` -IPv4Enabled -IPv4NetworkType "STATIC" -IPv4SubnetMask "255.255.254.0" -IPv4Gateway "192.168.1.1" ` @@ -713,7 +714,7 @@ Invoke-OMEQuickDeploy -RootPassword $RootPassword -SlotType "SLED" -Chassis $Cha IOM IPv4 ``` $QuickDeployIPv4Static = @( - @{Slot=1; IPv4Address="100.79.6.12"; VlanId=1} + @{Slot=1; IPv4Address="192.168.1.100"; VlanId=1} ) Invoke-OMEQuickDeploy -RootPassword $RootPassword -SlotType "IOM" -Chassis $Chassis ` -IPv4Enabled -IPv4NetworkType "STATIC" -IPv4SubnetMask "255.255.255.0" -IPv4Gateway "192.168.1.1" `