ONTAP Discussions

NetApp Plug-in For Oracle VM - python error

kjcreason
3,430 Views

We recently updated hosts running 3.3.1 for the glibc GHOST vulnerability. A dozen other updates also went in.

It appears that python must have been updated as well.

 

The plugin now has python errors and cannot run:

# cat /etc/*release*
LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-3.1-amd64:core-3.1-noarch:core-4.0-amd64:core-4.0-noarch:graphics-3.1-amd64:graphics-3.1-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
cat: /etc/lsb-release.d: Is a directory
Oracle VM server release 3.3.1
Oracle VM server release 3.3.1
Oracle VM server release 3.3.1
Oracle VM server release 3.3.1
[root@iss-vohmw2 /opt/storage-connect]
# python -V
Python 2.6.6

 

[2015-02-10 08:42:43 22760] DEBUG (service:75) call start: storage_plugin_validate('xxxxxxxx')
[2015-02-10 08:42:44 22760] INFO (storageplugin:109) storage_plugin_validate(oracle.netapp.SCSIPlugin.StoragePlugin)
[2015-02-10 08:42:44 22760] ERROR (service:97) catch_error: No module named NaElement
Traceback (most recent call last):
File "/usr/lib64/python2.6/site-packages/agent/lib/service.py", line 95, in wrapper
return func(*args)
File "/usr/lib64/python2.6/site-packages/agent/api/storageplugin.py", line 187, in storage_plugin_validate
return storage_plugin(impl_name, *params)
File "/usr/lib64/python2.6/site-packages/agent/api/storageplugin.py", line 112, in storage_plugin
plugin_class = plugin_mgr.getPlugin(impl_name)
File "/opt/storage-connect/PluginManager.py", line 188, in getPlugin
plugin = self.getPluginManagerClass(plugin_name)
File "/opt/storage-connect/PluginManager.py", line 157, in getPluginManagerClass
plugin_mod = __import__(plugin_mod_name, globals(), locals(), class_name)
File "/opt/storage-connect/plugins/oracle/netapp/SCSIPlugin.py", line 36, in <module>
from NaElement import *
ImportError: No module named NaElement

 

 

It looks like I probably need python 2.4. I have the RPM for that in my ULN mirror.

But it has so many old and broken/vulnerable dependencies that I'm afraid to go down that path and force it.

# rpm -ivh /sao/software/Unix/linux/Oracle_VM/netapp-plugin202/python-2.4.3-27.100.1.el5_5.6.x86_64.rpm
warning: /sao/software/Unix/linux/Oracle_VM/netapp-plugin202/python-2.4.3-27.100.1.el5_5.6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 1e5e0159: NOKEY
error: Failed dependencies:
libcrypto.so.6()(64bit) is needed by python-2.4.3-27.100.1.el5_5.6.x86_64
libdb-4.3.so()(64bit) is needed by python-2.4.3-27.100.1.el5_5.6.x86_64
libreadline.so.5()(64bit) is needed by python-2.4.3-27.100.1.el5_5.6.x86_64
libssl.so.6()(64bit) is needed by python-2.4.3-27.100.1.el5_5.6.x86_64
libtermcap.so.2()(64bit) is needed by python-2.4.3-27.100.1.el5_5.6.x86_64

 

Any ideas how to fix this?

1 REPLY 1

kjcreason
3,428 Views

Ha ha! Fixed it. Isn't that typical, fixing it five minutes after you post?

At least partially fixed. See remaining question below.

 

Here was the fix -- the install of the plugin copies a few Na*.py files into /usr/lib64/python2.4/.

These are the NaElement it could not import.

 

  • [root@iss-vohmw2 /usr/lib64/python2.4]
  • DfmErrno.py NaServer.py OSCCache.pyo OSCPluginUtils.py PluginManager.pyc PyEnum.pyo site-packages
  • NaElement.py NaServer.pyc OSCPlugin.py OSCPluginUtils.pyc PluginManager.pyo san_linux.py
  • NaElement.pyc OSCCache.py OSCPlugin.pyc OSCPluginUtils.pyo PyEnum.py san_linux.pyc
  • NaErrno.py OSCCache.pyc OSCPlugin.pyo PluginManager.py PyEnum.pyc san_linux.pyo

 

I simply copied the Na*py files to the python 2.6 directory.

 

  • [root@iss-vohmw2 /usr/lib64/python2.6]
  • # cp ../python2.4/Na* .

But I do not know if I need any of the other files in that directory. Or are those from the older plugins that have been deprecated?

 

Public