╔══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ CARR Script Recovery Error Report ║
╠════════════════════╦═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╣
║ Certificate Checks ║ Error Messages ║
╠════════════════════╬═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╣
║ APH_TN ║ There are 10 clients did not join after the APH_TN cert rotation on node: <NSX_Manager_#1_IP> ║
║ ║ bailing out for node: Id: <NSX_Manager_#2_Node_UUID> IP: <NSX_Manager_#2_IP> aph_id: <NSX_Manager_#2_Aph_UUID> is_local: False as bail out is set to true ║
║ ║ bailing out for node: Id: <NSX_Manager_#3_Node_UUID> IP: <NSX_Manager_#3_IP> aph_id: <NSX_Manager_#3_Aph_UUID> is_local: True as bail out is set to true ║
║ ║ ║
╚════════════════════╩═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
carr.log.$ grep aph_tn_cert_rotation_task carr.log
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_cert_rotation_task.py:81 - Checking Connection for cert: APH_TN from <NSX_Manager_#1_IP> to other nodes: [<carr.model.cluster_config.Node object at <Memory_Address>>, <carr.model.cluster_config.Node object at <Memory_Address>>]
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_cert_rotation_task.py:82 - certificate of type: APH_TN replaced on node: Id: <NSX_Manager_#1_Node_UUID> IP: <NSX_Manager_#1_IP> aph_id: <NSX_Manager_#1_Aph_UUID> is_local: False - sleeping for 75 seconds
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_cert_rotation_task.py:88 - Checking Connection for cert: APH_TN from <NSX_Manager_#1_IP> to other nodes
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_cert_rotation_task.py:96 - Checking connection for cert: APH_TN from <NSX_Manager_#1_IP> to <NSX_Manager_#2_IP>
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_cert_rotation_task.py:100 - Connection for cert: APH_TN connected from <NSX_Manager_#1_IP> to <NSX_Manager_#2_IP>
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_cert_rotation_task.py:96 - Checking connection for cert: APH_TN from <NSX_Manager_#1_IP> to <NSX_Manager_#3_IP>
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_cert_rotation_task.py:100 - Connection for cert: APH_TN connected from <NSX_Manager_#1_IP> to <NSX_Manager_#3_IP>
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_cert_rotation_task.py:125 - For cert: APH_TN, all other nodes connected to <NSX_Manager_#1_IP>
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:73 - Checking if 15 TNs have re-connected or not .. sleeping for 75 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:88 - There are still 10 have not joined .. sleeping for 15 secs
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - ERROR - aph_tn_cert_rotation_task.py:102 - There are 10 clients did not join after the APH_TN cert rotation on node: <NSX_Manager_#1_IP>
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - ERROR - aph_cert_rotation_task.py:132 - There are 10 clients did not join after the APH_TN cert rotation on node: <NSX_Manager_#1_IP>
<Timestamp> - carr.recovery.aph_tn_cert_rotation_task - MainThread - INFO - aph_tn_cert_rotation_task.py:112 - Restarting : messaging-manager on node: <NSX_Manager_#1_IP>
<Timestamp> - carr.recovery.base_recovery_task - MainThread - ERROR - base_recovery_task.py:102 - Error in recover task: <class 'carr.recovery.aph_tn_cert_rotation_task.AphTNCertRotationTask'> cert_name: APH_TN : error: There are 10 clients did not join after the APH_TN cert rotation on node: <NSX_Manager_#1_IP>
<Timestamp> - carr.recovery.base_recovery_task - MainThread - ERROR - base_recovery_task.py:102 - Error in recover task: <class 'carr.recovery.aph_tn_cert_rotation_task.AphTNCertRotationTask'> cert_name: APH_TN : error: bailing out for node: Id: <NSX_Manager_#2_Node_UUID> IP: <NSX_Manager_#2_IP> aph_id: <NSX_Manager_#2_Aph_UUID> is_local: False as bail out is set to true
<Timestamp> - carr.recovery.base_recovery_task - MainThread - ERROR - base_recovery_task.py:102 - Error in recover task: <class 'carr.recovery.aph_tn_cert_rotation_task.AphTNCertRotationTask'> cert_name: APH_TN : error: bailing out for node: Id: <NSX_Manager_#3_Node_UUID> IP: <NSX_Manager_#3_IP> aph_id: <NSX_Manager_#3_Aph_UUID> is_local: True as bail out is set to true
╔══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ CARR Script Validation Report ║
╠═════════════════════╦══════════════════════════════════════════════════════════════════════════════════════╦═════════════════════════════════════════════════════════╣
║ Certificate Checks ║ Validation Results ║ Probable Fix ║
╠═════════════════════╬══════════════════════════════════════════════════════════════════════════════════════╬═════════════════════════════════════════════════════════╣
║ APH_TN ║ SUCCESS: <NSX_Manager_#1_IP> ║ Certificate of service type: 'APH_TN' will be replaced. ║
║ ║ WARNING : <NSX_Manager_#2_IP> : Certificate is expiring in 200 ║ Certificate of service type: 'APH_TN' will be replaced. ║
║ ║ days ║ ║
║ ║ WARNING : <NSX_Manager_#3_IP> : Certificate is expiring in 200 ║ ║
║ ║ days ║ ║
║ ║ ║ ║
╚═════════════════════╩══════════════════════════════════════════════════════════════════════════════════════╩═════════════════════════════════════════════════════════╝
VMware NSX
After the APH_TN certificate is updated, connectivity between the NSX Manager and the Transport Node is checked. If the connection cannot be verified within a certain period of time, the process times out, and subsequent certificate updates are aborted.