Vertica Error: 'NoneType' object has no attribute 'split' during installation of Data Repository

Document ID : KB000072230
Last Modified Date : 16/03/2018
Show Technical Document Details
Introduction:
When installing Data Repository component, Vertica installation or upgrade may fail with these messages:  


 Vertica installation package install ....................................[ OK ] 
=============================================================================== 
Invoking install_vertica... 
=============================================================================== 
Vertica Analytic Database 8.1.0-4 Installation Tool 

Error: 'NoneType' object has no attribute 'split' 
Traceback (most recent call last): 
  File "/opt/vertica/oss/python/lib/python2.7/site-packages/vertica/install/__init__.py", line 1342, in run_install 
    options = option_parser() 
  File "/opt/vertica/share/eggs/vertica/install/__main__.py", line 255, in _parse_options 
    _include_ami_customization(parser, options) 
  File "/opt/vertica/share/eggs/vertica/install/__main__.py", line 264, in _include_ami_customization 
    cfg_checker.load() 
  File "/opt/vertica/oss/python/lib/python2.7/site-packages/vertica/install/ami_install_config.py", line 18, in load 
    self._meta_data.load(base_url) 
  File "/opt/vertica/oss/python/lib/python2.7/site-packages/vertica/system/aws_metadata.py", line 77, in load 
    self._harvest_metadata(meta_data_baseurl) 
  File "/opt/vertica/oss/python/lib/python2.7/site-packages/vertica/system/aws_metadata.py", line 94, in _harvest_metadata 
    meta_data_baseurl) 
  File "/opt/vertica/oss/python/lib/python2.7/site-packages/vertica/system/aws_metadata.py", line 205, in _get_macs 
    raw_macs = raw_macs.split() 
AttributeError: 'NoneType' object has no attribute 'split' 
Installation FAILED with errors. 


Installation stopped before any changes were made. 

Vertica installation ....................................................[FAIL] 
The installation will now exit. 
=============================================================================== 
Script finished - ./dr_install.sh 
=============================================================================== 

Using the Vertica recommended option in dr_install.sh (Option: --ignore-install-config) helps only a little bit: 

Invoking install_vertica... 
=============================================================================== 
Vertica Analytic Database 8.1.0-4 Installation Tool 

>> Validating options... 

>> Validating node and cluster prerequisites... 

Prerequisites not fully met during local (OS) configuration for 
verify-10.24.38.123.xml: 
    HALT (U9999): https://my.vertica.com/docs/8.1.x/HTML/index.htm#cshid=U9999 
        Unexpected error: 'NoneType' object has no attribute 'split' 

System prerequisites failed.  Threshold = WARN 
        Hint: Fix above failures or use --failure-threshold 

Installation FAILED with errors. 

Vertica installation ....................................................[FAIL] 
The installation will now exit. 
=============================================================================== 
Script finished - ./dr_install.sh 
=============================================================================== 
 

 
Background:
As per the messages in the installation log,  the process it is failing in 'aws_metadata.py' script. 
This happens when installing Vertica on a server part of OpenStack cloud, or Amazon Web Services (AWS).

There is a related discussion about this problem in Vertica blog, although referred to Vertica 7.x and CentOS it should be valid also for Vertica 8.x and Linux RHEL - refer to:
https://forum.vertica.com/discussion/235490/vertica-install-on-centos 
 
According to the above discussion, it is noted that this problem can happen when installing Vertica on OpenStack cloud: 
....
The root of the problem is that if you are installing Vertica on OpenStack it will have a metadata server (169.254.169.254), and if the install python script gets a response from it, it assumes its running under AWS, so it will request AWS specific metadata which doesn't exist, so it gets no response from the OpenStack metadata server. 
....
 
Environment:

 
Instructions:
To fix the issue, edit the file 'aws_metadata.py' (found under /opt/vertica/oss/ python/lib/python2.7/site-ackages/vertica/system/aws_metadata.py) 
Inside the 'def load' function (not in the 'def init') change the self.is_aws parameter to 
"self.is_aws = False" 

This way the installation won't think you are under AWS. 

After the modification repeat Data Repository / Vertica installation.