ONTAP Discussions

NetApp Plug-in For Oracle VM - python error

kjcreason

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

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?

 

Announcements
NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

Public