Microsoft recently announced the new Windows 10 Insider Preview Build 14316 which includes the ability to run native bash on Ubuntu on Windows. First off BRILLIANT! Secondly I just had to get this working with the new Pure Storage Python Toolkit 1.6. Here is the short journey to get things working. The example script does the following:
- Connects to the Pure Storage FlashArray
- Creates a new volume
- Creates a snapshot of the new volume
- Creates a new volume from the new snapshot
- Create a Protection Group
- Adds the new volume from the snapshot to the Protection Group
- Creates a Protection Group snapshot
- Performs a cleanup of items 1 – 7
Steps
- Follow the steps in the following MSDN article, https://devblogs.microsoft.com/commandline/bash-on-ubuntu-on-windows-download-now-3/ to download and install the Windows 10 Insider Preview Build 14316 and get the Windows Subsystem for Linux (Beta) running.
- Once the Windows Subsystem for Linux is running open a Command Prompt (Admin) and type bash.
- Run all of the following commands:
1wget <a href=“https://pypi.python.org/packages/source/p/purestorage/purestorage-1.6.0.tar.gz”>https://pypi.python.org/packages/source/p/purestorage/purestorage-1.6.0.tar.gz<br></a>apt-get update<br>apt-get install python-pip<br>pip install requests <br>pip install purestorage-1.6.0.tar.gz - Basic Python script creation:
1vim PS–BASHTEST.py
1from purestorage import purestorage<br>array = purestorage.FlashArray(target=“1.1.1.1”, username=”pureuser“,password=”xxxxxxx“)<br>print “Creating volume...“<br>array.create_volume(“BASH–VOL1“, size=”1T“)<br>print “Creating snapshot...“<br>array.create_snapshots([‘BASH-VOL1’], suffix=”FOO“)<br>print “Creating new volume from snapshot...“<br>array.copy_volume(source=”BASH–VOL1.FOO“, dest=”BASH–TEST“)<br>print “Creating Protection Group and adding Volume...“<br>array.create_pgroup(pgroup=”BASH–PG1“)<br>array.set_pgroup(pgroup=”BASH–PG1“,addvollist=[‘BASH-TEST’])<br>print “Creating Protection Group snapshot...“<br>array.create_pgroup_snapshot(source=”BASH–PG1“)<br>print “CLEANUP——————————————————————————–“<br>response = raw_input(“Do you want to remove everything? y/n “)<br>if response == “y“:<br> array.destroy_pgroup(“BASH–PG1“)<br> array.eradicate_pgroup(“BASH–PG1“)<br> array.destroy_volume(“BASH–TEST“)<br> array.eradicate_volume(“BASH–TEST“)<br> array.destroy_volume(“BASH–VOL1“)<br> array.eradicate_volume(“BASH–VOL1“)<br> print(“n All objects destroyed and eradicated.“)<br>else:<br> print(“n Nothing destroyed.“) - Save and Exit
1ESC :x - Run the script:
python PS-BASHTEST.py
Best new feature in Windows I’ve seen in years!
Cheers,
Barkz