At master from the original author, py3 unit tests are failing:
beisner@rby:~/git/charm-cinder-purestorage$ tox -e py3
py3 installed: attrs==19.1.0,certifi==2019.6.16,chardet==3.0.4,charmhelpers==0.19.15,charms.openstack==0.0.1.dev1,charms.reactive==1.2.1,cliff==2.15.0,cmd2==0.9.14,colorama==0.4.1,coverage==4.5.3,extras==1.0.0,fixtures==3.0.0,flake8==2.4.1,future==0.17.1,idna==2.8,Jinja2==2.10.1,linecache2==1.0.0,MarkupSafe==1.1.1,mccabe==0.3.1,mock==3.0.5,netaddr==0.7.19,nose==1.3.7,pbr==5.4.0,pep8==1.7.1,pkg-resources==0.0.0,prettytable==0.7.2,pyaml==19.4.1,pyflakes==0.8.1,pyparsing==2.4.0,pyperclip==1.7.0,python-mimeparse==1.6.0,python-subunit==1.3.0,PyYAML==5.1.1,requests==2.22.0,six==1.12.0,stestr==2.3.1,stevedore==1.30.1,Tempita==0.5.2,testtools==2.3.0,traceback2==1.4.0,unittest2==1.1.0,urllib3==1.25.3,voluptuous==0.11.5,wcwidth==0.1.7
py3 run-test-pre: PYTHONHASHSEED='0'
py3 runtests: commands[0] | stestr run
=========================
Failures during discovery
=========================
--- import errors ---
Failed to import test module: unit_tests.test_lib_charm_openstack_cinder_purestorage
Traceback (most recent call last):
File "/home/beisner/git/charm-cinder-purestorage/.tox/py3/lib/python3.7/site-packages/unittest2/loader.py", line 456, in _find_test_path
module = self._get_module_from_name(name)
File "/home/beisner/git/charm-cinder-purestorage/.tox/py3/lib/python3.7/site-packages/unittest2/loader.py", line 395, in _get_module_from_name
__import__(name)
File "/home/beisner/git/charm-cinder-purestorage/unit_tests/test_lib_charm_openstack_cinder_purestorage.py", line 20, in <module>
import charm.openstack.cinder_purestorage as cinder_purestorage
File "src/lib/charm/openstack/cinder_purestorage.py", line 7, in <module>
charms_openstack.charm.CinderStoragePluginCharm):
File "src/lib/charm/openstack/cinder_purestorage.py", line 16, in CinderpurestorageCharm
('san_ip', self.config.get('san-ip')),
NameError: name 'self' is not defined
================================================================================
The above traceback was encountered during test discovery which imports all the found test modules in the specified test_path.
ERROR: InvocationError for command '/home/beisner/git/charm-cinder-purestorage/.tox/py3/bin/stestr run' (exited with code 100)
________________________________________________________________________________________ summary _________________________________________________________________________________________
ERROR: py3: commands failed