Skip to content

Instantly share code, notes, and snippets.

@ronin13
Created November 6, 2016 16:51
Show Gist options
  • Save ronin13/83d99b801202e63f07523c1c5b2be450 to your computer and use it in GitHub Desktop.
Save ronin13/83d99b801202e63f07523c1c5b2be450 to your computer and use it in GitHub Desktop.
pyvolume itest
make itest
bash itest/test_sshfs.sh
For sshfs, make sure ssh keys exist in this session
2048 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxx /home/rprabhu/.ssh.bkp/id_rsa (RSA)
running install
running bdist_egg
running egg_info
writing requirements to pyvolume.egg-info/requires.txt
writing pyvolume.egg-info/PKG-INFO
writing top-level names to pyvolume.egg-info/top_level.txt
writing dependency_links to pyvolume.egg-info/dependency_links.txt
writing entry points to pyvolume.egg-info/entry_points.txt
reading manifest file 'pyvolume.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no files found matching '*.jpg' under directory 'docs'
warning: no files found matching '*.png' under directory 'docs'
warning: no files found matching '*.gif' under directory 'docs'
writing manifest file 'pyvolume.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/pyvolume
copying build/lib/pyvolume/__init__.py -> build/bdist.linux-x86_64/egg/pyvolume
copying build/lib/pyvolume/exceptions.py -> build/bdist.linux-x86_64/egg/pyvolume
copying build/lib/pyvolume/local.py -> build/bdist.linux-x86_64/egg/pyvolume
copying build/lib/pyvolume/sshfs.py -> build/bdist.linux-x86_64/egg/pyvolume
copying build/lib/pyvolume/manager.py -> build/bdist.linux-x86_64/egg/pyvolume
byte-compiling build/bdist.linux-x86_64/egg/pyvolume/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/pyvolume/exceptions.py to exceptions.pyc
byte-compiling build/bdist.linux-x86_64/egg/pyvolume/local.py to local.pyc
byte-compiling build/bdist.linux-x86_64/egg/pyvolume/sshfs.py to sshfs.pyc
byte-compiling build/bdist.linux-x86_64/egg/pyvolume/manager.py to manager.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying pyvolume.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pyvolume.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pyvolume.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pyvolume.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pyvolume.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pyvolume.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pyvolume.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating 'dist/pyvolume-0.1.0-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing pyvolume-0.1.0-py2.7.egg
removing '/home/rprabhu/repo/pyvolume/venv/lib/python2.7/site-packages/pyvolume-0.1.0-py2.7.egg' (and everything under it)
creating /home/rprabhu/repo/pyvolume/venv/lib/python2.7/site-packages/pyvolume-0.1.0-py2.7.egg
Extracting pyvolume-0.1.0-py2.7.egg to /home/rprabhu/repo/pyvolume/venv/lib/python2.7/site-packages
pyvolume 0.1.0 is already the active version in easy-install.pth
Installing pyvolume script to /home/rprabhu/repo/pyvolume/venv/bin
Installed /home/rprabhu/repo/pyvolume/venv/lib/python2.7/site-packages/pyvolume-0.1.0-py2.7.egg
Processing dependencies for pyvolume==0.1.0
Searching for argparse==1.4.0
Best match: argparse 1.4.0
Processing argparse-1.4.0-py2.7.egg
argparse 1.4.0 is already the active version in easy-install.pth
Using /home/rprabhu/repo/pyvolume/venv/lib/python2.7/site-packages/argparse-1.4.0-py2.7.egg
Searching for plumbum==1.6.2
Best match: plumbum 1.6.2
Processing plumbum-1.6.2-py2.7.egg
plumbum 1.6.2 is already the active version in easy-install.pth
Using /home/rprabhu/repo/pyvolume/venv/lib/python2.7/site-packages/plumbum-1.6.2-py2.7.egg
Searching for Flask==0.11.1
Best match: Flask 0.11.1
Processing Flask-0.11.1-py2.7.egg
Flask 0.11.1 is already the active version in easy-install.pth
Installing flask script to /home/rprabhu/repo/pyvolume/venv/bin
Using /home/rprabhu/repo/pyvolume/venv/lib/python2.7/site-packages/Flask-0.11.1-py2.7.egg
Searching for click==6.6
Best match: click 6.6
Processing click-6.6-py2.7.egg
click 6.6 is already the active version in easy-install.pth
Using /home/rprabhu/repo/pyvolume/venv/lib/python2.7/site-packages/click-6.6-py2.7.egg
Searching for itsdangerous==0.24
Best match: itsdangerous 0.24
Processing itsdangerous-0.24-py2.7.egg
itsdangerous 0.24 is already the active version in easy-install.pth
Using /home/rprabhu/repo/pyvolume/venv/lib/python2.7/site-packages/itsdangerous-0.24-py2.7.egg
Searching for Jinja2==2.8
Best match: Jinja2 2.8
Processing Jinja2-2.8-py2.7.egg
Jinja2 2.8 is already the active version in easy-install.pth
Using /home/rprabhu/repo/pyvolume/venv/lib/python2.7/site-packages/Jinja2-2.8-py2.7.egg
Searching for Werkzeug==0.11.11
Best match: Werkzeug 0.11.11
Processing Werkzeug-0.11.11-py2.7.egg
Werkzeug 0.11.11 is already the active version in easy-install.pth
Using /home/rprabhu/repo/pyvolume/venv/lib/python2.7/site-packages/Werkzeug-0.11.11-py2.7.egg
Searching for MarkupSafe==0.23
Best match: MarkupSafe 0.23
Processing MarkupSafe-0.23-py2.7-linux-x86_64.egg
MarkupSafe 0.23 is already the active version in easy-install.pth
Using /home/rprabhu/repo/pyvolume/venv/lib/python2.7/site-packages/MarkupSafe-0.23-py2.7-linux-x86_64.egg
Finished processing dependencies for pyvolume==0.1.0
+ curl -X GET -s http://0.0.0.0:1331
+ grep 1331
Docker volume driver listening on 1331
+ curl -X POST -s -d '{"Name": "TESTVOL", "Opts": {"ssh_config": "/home/rprabhu/.ssh/config", "remote_path": "server:/home/user"} }' http://0.0.0.0:1331/VolumeDriver.Create
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -X POST -s http://0.0.0.0:1331/Plugin.Activate
+ grep VolumeDriver
"VolumeDriver"
+ curl -X POST -s -d '{"Name": "TESTVOL"}' http://0.0.0.0:1331/VolumeDriver.Mount
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -X POST -s http://0.0.0.0:1331/VolumeDriver.List
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -X POST -s -d '{"Name": "TESTVOL"}' http://0.0.0.0:1331/VolumeDriver.Path
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -X POST -s -d '{"Name": "TESTVOL"}' http://0.0.0.0:1331/VolumeDriver.Path
+ jq .Mountpoint
+ grep /mnt/TESTVOL
"/mnt/TESTVOL"
+ curl -X POST -s -d '{"Name": "TESTVOL"}' http://0.0.0.0:1331/VolumeDriver.Get
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -X POST -s -d '{"Name": "TESTVOL"}' http://0.0.0.0:1331/VolumeDriver.Get
+ jq '.Volume .Mountpoint'
+ grep /mnt/TESTVOL
"/mnt/TESTVOL"
+ curl -X POST -s -d '{"Name": "TESTVOL"}' http://0.0.0.0:1331/VolumeDriver.Mount
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -X POST -s -d '{"Name": "TESTVOL"}' http://0.0.0.0:1331/VolumeDriver.UnMount
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -X POST -s -d '{"Name": "TESTVOL"}' http://0.0.0.0:1331/VolumeDriver.Path
+ jq .Mountpoint
+ grep /mnt/TESTVOL
"/mnt/TESTVOL"
+ curl -X POST -s -d '{"Name": "TESTVOL"}' http://0.0.0.0:1331/VolumeDriver.UnMount
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -X POST -s -d '{"Name": "TESTVOL"}' http://0.0.0.0:1331/VolumeDriver.Path
+ jq .Err
+ grep 'is not mounted'
"Volume TESTVOL is not mounted"
+ curl -X POST -s -d '{"Name": "NEXTVOL", "Opts": {"ssh_config": "/home/rprabhu/.ssh/config", "remote_path": "server:/home/user"} }' http://0.0.0.0:1331/VolumeDriver.Create
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -X POST -s -d '{"Name": "NEXTVOL"}' http://0.0.0.0:1331/VolumeDriver.Mount
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -X POST -s -d '{"Name": "NEXTVOL"}' http://0.0.0.0:1331/VolumeDriver.Remove
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -X POST -s -d '{"Name": "AFTERVOL", "Opts": {"ssh_config": "/home/rprabhu/.ssh/config", "remote_path": "server:/home/user"} }' http://0.0.0.0:1331/VolumeDriver.Create
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -X POST -s -d '{"Name": "AFTERVOL"}' http://0.0.0.0:1331/VolumeDriver.Mount
+ jq .Err
+ grep -v '[a-z]'
""
+ curl -s -X POST http://0.0.0.0:1331/VolumeDriver.Capabilities
+ jq '.Capabilities .Scope'
+ grep global
"global"
+ curl -s -X POST http://0.0.0.0:1331/shutdown
+ grep 'Server shutting down'
Server shutting down...
+ set +x
+ for vols in '$volname' '$volname2' '$volname3'
+ [[ -d /mnt/TESTVOL ]]
+ for vols in '$volname' '$volname2' '$volname3'
+ [[ -d /mnt/NEXTVOL ]]
+ for vols in '$volname' '$volname2' '$volname3'
+ [[ -d /mnt/AFTERVOL ]]
+ set +x
itest/test_sshfs.sh: line 25: kill: (12448) - No such process
INFO:werkzeug: * Running on http://0.0.0.0:1331/ (Press CTRL+C to quit)
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:17] "GET / HTTP/1.1" 200 -
INFO:pyvolume.sshfs:Creating directory /mnt/TESTVOL
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:17] "POST /VolumeDriver.Create HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:17] "POST /Plugin.Activate HTTP/1.1" 200 -
ERROR:pyvolume.sshfs:Volume TESTVOL is not mounted
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:19] "POST /VolumeDriver.Mount HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:19] "POST /VolumeDriver.List HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:19] "POST /VolumeDriver.Path HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:19] "POST /VolumeDriver.Path HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:19] "POST /VolumeDriver.Get HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:19] "POST /VolumeDriver.Get HTTP/1.1" 200 -
INFO:pyvolume.manager:Volume TESTVOL is mounted 2 times
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:19] "POST /VolumeDriver.Mount HTTP/1.1" 200 -
INFO:pyvolume.manager:Still mounted 1 times to unmount
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:19] "POST /VolumeDriver.UnMount HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:19] "POST /VolumeDriver.Path HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:19] "POST /VolumeDriver.UnMount HTTP/1.1" 200 -
ERROR:pyvolume.sshfs:Volume TESTVOL is not mounted
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:19] "POST /VolumeDriver.Path HTTP/1.1" 400 -
INFO:pyvolume.sshfs:Creating directory /mnt/NEXTVOL
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:19] "POST /VolumeDriver.Create HTTP/1.1" 200 -
ERROR:pyvolume.sshfs:Volume NEXTVOL is not mounted
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:21] "POST /VolumeDriver.Mount HTTP/1.1" 200 -
INFO:pyvolume.sshfs:Removing local path /mnt/NEXTVOL
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:21] "POST /VolumeDriver.Remove HTTP/1.1" 200 -
INFO:pyvolume.sshfs:Creating directory /mnt/AFTERVOL
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:21] "POST /VolumeDriver.Create HTTP/1.1" 200 -
ERROR:pyvolume.sshfs:Volume AFTERVOL is not mounted
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:23] "POST /VolumeDriver.Mount HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:23] "POST /VolumeDriver.Capabilities HTTP/1.1" 200 -
INFO:werkzeug:127.0.0.1 - - [06/Nov/2016 16:49:23] "POST /shutdown HTTP/1.1" 200 -
ERROR:pyvolume.sshfs:Volume TESTVOL is not mounted
INFO:pyvolume.sshfs:Removing local path /mnt/TESTVOL
ERROR:pyvolume.sshfs:Volume NEXTVOL is not mounted
INFO:pyvolume.sshfs:Removing local path /mnt/NEXTVOL
INFO:pyvolume.sshfs:Removing local path /mnt/AFTERVOL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment