Sun Microsystems, Inc.  Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-72-2100284.1
Update Date:2016-03-11
Keywords:

Solution Type  Problem Resolution Sure

Solution  2100284.1 :   Running Exapasswd On Exalogic Virtual Racks Fails With "AttributeError: 'NoneType' object has no attribute 'group' " Error  


Related Items
  • Exalogic Elastic Cloud X5-2 Eighth Rack
  •  
  • Oracle Exalogic Elastic Cloud Software
  •  
Related Categories
  • PLA-Support>Eng Systems>Exalogic/OVCA>Oracle Exalogic>MW: Exalogic Core
  •  




In this Document
Symptoms
Cause
Solution
References


Created from <SR 3-11914496631>

Applies to:

Oracle Exalogic Elastic Cloud Software - Version 2.0.6.0.0 and later
Exalogic Elastic Cloud X5-2 Eighth Rack
Linux x86-64
Oracle Virtual Server x86-64

Symptoms

On Exalogic Lifecycle Toolkit version 14.2.2-b9862 20150325045016, when running exapasswd as follows on Virtual racks, it stops with "INTERNAL ERROR" stack trace

exapasswd --compute-nodes --infiniband-switches --control-vms --all-virt --emoc emochostname

Below is error stack trace showing the "INTERNAL ERROR" exception.

Synchronizing new passwords with Ops Center
INTERNAL ERROR: Traceback (most recent call last):
 File "./../lib/exatools/Exapasswd/lib/exapasswd.py", line 479, in run
  isSuccess = changePasswords(targetComponents)
 File "./../lib/exatools/Exapasswd/lib/exapasswd.py", line 365, in changePasswords
  componentResult = changePasswordsForComponent(component)
 File "./../lib/exatools/Exapasswd/lib/exapasswd.py", line 288, in changePasswordsForComponent
  syncWithEmoc(component, target, newPasswords)
 File "./../lib/exatools/Exapasswd/lib/exapasswd.py", line 205, in syncWithEmoc
  component.syncWithEmoc(emocIp, target, newPasswords)
 File "/exalogic-lctools/lib/exatools/Exapasswd/lib/exapasswd_base.py", line 116, in syncWithEmoc
  targetHostname = self.getHostnameForEmoc(target)
 File "/exalogic-lctools/lib/exatools/Exapasswd/lib/exapasswd_base.py", line 101, in getHostnameForEmoc
  return self.getHostnameViaEmocConfig(target)
 File "/exalogic-lctools/lib/exatools/Exapasswd/lib/exapasswd_base.py", line 77, in getHostnameViaEmocConfig
  hostname = re.search(r"%shostname_%s=(.*)" % (hostType, entryName), opsCenterProperties).group(1)
AttributeError: 'NoneType' object has no attribute 'group' 

Cause

In this case, the IP Addresses for the ILOM and Compute Nodes were on the same subnet. For e.g. Compute Node IP was 10.45.XX.1 where ILOM IP was 10.45.XX.10.

On line 72 of the file "/exalogic-lctools/lib/exatools/Exapasswd/lib/exapasswd_base.py", the regular expression (regex) is set to "ip_(.*)=%s" where %s is the IP address to match. As there is no end delimiter, both addresses (Compute Node and ILOM) match and the ILOM IP address matches first causing the password change to fail.

Solution

  1. Back up /exalogic-lctools/lib/exatools/Exapasswd/lib/exapasswd_base.py

    cd /exalogic-lctools/lib/exatools/Exapasswd/lib
    cp exapasswd_base.py exapasswd_base.py.'date'.backup
  2. Modify line 72 of exapasswd_base.py to add white space to the end of the target IP address

    From

    match = re.search(r"ip_(.*)=%s" % targetIp, opsCenterProperties)

    To
    match = re.search(r"ip_(.*)=%s\s" % targetIp, opsCenterProperties)
  3. Re-run exapasswd

References

<NOTE:2044669.1> - Change Of Exalogic IB Switches Credentials Using Exapasswd Tool Does Not Work
<BUG:22529396> - EXAPASSWD FAILS TO UPDATE NODE WITH 'NONETYPE' OBJECT HAS NO ATTRIBUTE 'GROUP'
<NOTE:2047404.1> - Exalogic exapasswd Utility Changes Both AKD and ILOM Passwords When Using the "storage-nodes" Flag

Attachments
This solution has no attachment
  Copyright © 2018 Oracle, Inc.  All rights reserved.
 Feedback