Giter VIP home page Giter VIP logo

purestorage.flasharray.vmware's Introduction

To help our customers I have written a module that includes a lot of the common operations people might need to “connect” PowerCLI to our PowerShell SDK.

The module is called PureStorage.FlashArray.VMware.

Latest version 2.1.0.1 (October 8th, 2020)

New Features:

  1. New CMDLETS:
    1. Get-PfaVcfVasaProvider--get all registered VASA providers in VCF SDD Manager
    2. New-PfaVcfVasaProvider--register a new VASA provider in VCF SDD Manager
  2. Initialize-PfaVcfWorkloadDomain enhancements:
    1. Configures requirements for ESXi (enables SSH)
    2. Configures iSCSI requirements for iSCSI deployments with vVols
    3. vVol configuration support
    4. VASA provider registration
    5. Validates and commissions hosts in SDDC Manager.

Fixed Issues:

  1. Support for PowerShell Core for VCF cmdlets
  2. Fixes issue with name collision for New-PfaHostFromVmHost

Previous version 2.0.0.0 (August 26th, 2020)

New Features:

Fixed Issues:

To report issues or request new features, please enter them here:

https://github.com/PureStorage-OpenConnect/PureStorage.FlashArray.VMware/issues

For questions, join our Pure Storage Code Slack team! Check out the #PowerCLI channel

The module is designed into six separate modules that are included when you install the main one:

  • PureStorage.FlashArray.VMware.Configuration --this does connection management, host configuration, and generic initial setup.
  • PureStorage.FlashArray.VMware.VMFS--this offers VMFS-related cmdlets
  • PureStorage.FlashArray.VMware.vVol--this offers vVol-related cmdlets
  • PureStorage.FlashArray.VMware.RDM--this offers RDM-related cmdlets
  • PureStorage.FlashArray.VMware.Pure1--this offers Pure1 Meta-related cmdlets (experimental)
  • PureStorage.FlashArray.VMware.Software--this offers Pure Storage software deployment and management cmdlets

There are two places you can install this. The best option is the PowerShell gallery! This allows you to use install-module to automatically install the module.

It requires PowerCLI...

...and the PureStorage PowerShell SDK to be installed, the Pure Storage PowerShell SDK will be automatically installed when you install this module if it is not already.

The module will help you connect PowerCLI commands (like get-datastore or get-vmhost) to operations you might want to do on the FlashArray. The cmdlets support pipeline input for most variables (datastores, FlashArray connections, ESXi hosts, etc.).

To install:

install-module PureStorage.FlashArray.VMware

To load the module:

import-module PureStorage.FlashArray.VMware

To update:

update-module PureStorage.FlashArray.VMware

For all available commands, use get-command:

For specifics, use get-help plus the function you want.

Comment on Versioning

Versions numbering w.x.y.z (for example 1.3.0.0)

  • W is iterated for large updates
  • X is iterated for new cmdlets
  • Y is iterated for new functions to existing cmdlets
  • Z is iterated for bug fixes

 

purestorage.flasharray.vmware's People

Contributors

codyhosterman avatar dstamen avatar mikenelson-io avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

purestorage.flasharray.vmware's Issues

Remove-PfaVasaProvider throws error

Remove-PfaVasaProvider throws an error but does remove the VASA providers. I believe this is because it calls get-pfaVasaProvider after there are no more providers but doesnt handle the error correctly. Will look into this

Allow specifying the name for VMFS volumes from a snapshot

Currently the new-pfavmfs cmdlet just automatically specifies the name when creating a VMFS from a snapshot. For new VMFS volumes you can specify the name. Some customers want to be able to do this for copied datastores too. I will work on adding the -volumeName parameter to this parameter set.

Install-PfavSpherePlugin with vCenter proxy

There are reports of the PowerShell install method of the plugin does not work when the vCenter has a proxy. While this may be more environmental (can the proxy route to S3) this should be tested and understood.

Underscore support in naming

Looks like the module blocks underscores in naming (or has some issue with it) I will take a look at this and fix it.

"get-pfaConnectionlfromRDM" not exist.

Remove the extra "l" of "get-pfaConnectionlfromRDM" in code could fix this.

-----------Error message-------------
PS> remove-pfaVolRDM -rdm $rdm -flasharray $purepoc01
get-pfaConnectionlfromRDM : The term 'get-pfaConnectionlfromRDM' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Have Get-PfaVasaProvider return all providers

Currently Get-PfaVasaProvider requires a FA connection and will then return the active provider for that FA. Sometimes you might want to know all active Pure providers. So update this cmdlet to not require a FA connection and then return all providers.

Add Older Versions of Plugin for Install Options

For 90% of the use cases, installing the most recent plugin will generally be used. However, in the event that a new plugin version is causing problems, has a bug or in the end the customer needs to install a older version we should make sure we have at least one version behind the newest available to install.

Misspelled out-null in Copy-PfaVvolVmdkToExistingVvolVmdk

"Out-Nul: /Users/dstamen/.local/share/powershell/Modules/PureStorage.FlashArray.VMware.VVol/PureStorage.FlashArray.VMware.vVol.psm1:716
Line |
716 | … $sourceFaVolume)`""}"" -SkipCertificateCheck -ErrorAction Stop |Out-Nul
| ~~~~~~~
| The term 'Out-Nul' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if
| a path was included, verify that the path is correct and try again."

Set-PfaRDMCapacity has issue with invalid parameter conversion.

Set-PfaRDMCapacity -rdm $disk -sizeInGB 11 -flasharray $array -offlineConfirm
Set-PfaRDMCapacity: Cannot process argument transformation on parameter 'flasharray'. Cannot convert the "PurePowerShell.PureArray[]" value of type "PurePowerShell.PureArray[]" to type "PurePowerShell.PureArray".

Remove deprecated parameter snapname

Some cmdlets used snapname as the parameter when it should be suffix. There have been deprecation warning on them. Removing them in the next release.

Get-PfavVolStoragePolicy

Returns all available FlashArray Storage policies. Optional parameter of -replication for replication type policies

Get-PfavVolStorageArray

Cmdlet to return FlashArray type VASA storage arrays. Takes in a name, serial, or FA connection, or nothing.

New vmfs volume from replicated protection group snapshot fails on invalid volume name

Protection group replicated snapshot from arrayA to arrayB is named arraya:protectiongroup.snapshotsuffix.volumegroup/volumename which fails on new-pfavolume with invalid name. Tried without volumegroup with the same result. Seems like colon in the snapshot name is being passed to new-pfavolume and returning the following error:

New-PfaVolVmfsFromSnapshot -cluster $arraybcluster -flasharray $arrayb -snapName arraya:protectiongroup.snapshotsuffix.volumegroup/volumename

New-PfaVolume : [{"msg": "Volume name must be between 1 and 63 characters (alphanumeric, '_' and '-') in length and begin and end with a letter or number. The name must include at least one letter.", "code": 19, "ctx": "ArrayA:ProtectionGroup-snap-5862"}] At C:\Program Files\WindowsPowerShell\Modules\PureStorage.FlashArray.VMware.VMFS\1.1.0.2\PureStorage.FlashArray.VMware.VMFS.psm1:717 char:12
+ $newVol =New-PfaVolume -Array $flasharray -Source $snapName -Volume ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [New-PfaVolume], PureRestException + FullyQualifiedErrorId : PurePowerShell.NewVolumeCmdlet

Need a parameter to rename the newly copied volume on arrayb.

New-PfaVasaProvider conversion error

Cannot process argument transformation on parameter 'flasharray'. Cannot convert the "PurePowerShell.PureArray[]" value of type | "PurePowerShell.PureArray[]" to type "PurePowerShell.PureArray"

Convert-PfaRDMtoVvol fails with type conversion issue

Convert-PfaRDMtoVvol: Cannot process argument transformation on parameter 'flasharray'. Cannot convert the "PurePowerShell.PureArray[]" value of type "PurePowerShell.PureArray[]" to type "PurePowerShell.PureArray". Additionally it unmounts the RDM from the VM & does not resize it.

Clear attributes upon uninstall

Add the ability to clear attributes upon uninstall of the plugin. Probably make it an opt-in option, like -clearCredentials or something.

Get-PfavVolReplicationGroup

Return replication groups that are just for the FlashArray, filter by policy or datastore. -Target or -Source parameter.

Port group not working for dvs

The port group parameter didn’t seem to work with distributed port groups. I had to create a standard vswitch and port group to get it to work.

Deploy-PfaAppliance : Cannot process argument transformation on parameter ‘portGroup’. Cannot convert the “dvspg-name” value of type
“VMware.VimAutomation.ViCore.Impl.V1.Host.Networking.DistributedPortGroupImpl” to type
“VMware.VimAutomation.ViCore.Types.V1.Host.Networking.VirtualPortGroup”.

Remove-PfaVasaProvider does not work

Infinite loop trying to remove provider:

Remove-VasaProvider -Provider $vasaProvider -Confirm:$fal … | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 8/30/2020 4:47:07 PM Remove-VasaProvider Object reference not set to an instance of an object.

PowerShell Core support

Currently this module is only supported on Windows and has not been tested with core. Certain cmdlets certainly do not work on core. Will work on adding core support.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.