Title: Alarm for transport_node_certificate_expired
Event ID: transport_node_certificate_expired
Alarm Description
Purpose: Notify User that Transport Node Certificate has expired.
Impact: Transport Node can disconnect from Managers and not connect back again.
Cause: Transport Node Certificate has expired.
Warning: This alarm must be addressed as soon as possible. Once the TN certificate expires, there is a grace period of 24 hours after which all impacted Edges and Hosts will be disconnected from NSX.
VMware NSX 4.1.x and 4.2.0
Versions NSX 4.1.x and 4.2.0, Edge and Host Transport Nodes are instantiated using a certificate with validity period of 825 days.
Transport Nodes in NSX-T 3.x and NSX 4.2.1 (and later) are created with a certificate that is valid for 10 years.
The Transport Node certificate used when the node was created is not replaced on upgrade.
Any Edge that may have been deployed on these versions or any Hosts prepared or re-prepared on these versions will have this shorter validity period certificate.
Manual intervention is required for any node originally deployed on 4.1.x/4.2.0.
For NSX versions from 4.1.0 through to 4.2.0 inclusive:
Note:
openssl x509 -enddate -noout -in /etc/vmware/nsx/host-cert.pem.Transport Node has an expired or expiring certificate but is still connected to NSX:
Transport Node certificate has expired and TN is in a disconnected state in NSX:
cat /dev/null > /etc/vmware/nsx/host-cert.pemcat /dev/null > /etc/vmware/nsx/host-privkey.pemGenerate a new self-signed TN certificate and key:
For NSX 4.1.x versions prior to 4.1.2.5:
a) Create a temporary OpenSSL config file from the existing OpenSSL config
cat /etc/vmware/nsx/openssl-proxy.cnf > /tmp/tmp-openssl-proxy.cnf
b) UUID is extracted and added to the temporary OpenSSL config
echo "UID = $(grep -o '<uuid>[^<]*' /etc/vmware/nsx/host-cfg.xml | sed 's/<uuid>//')" >> /tmp/tmp-openssl-proxy.cnf
c) Add extension in the temporary OpenSSL config
echo -e "[ req_ext ]\nbasicConstraints = CA:FALSE\nextendedKeyUsage = clientAuth\nsubjectKeyIdentifier = hash\nauthorityKeyIdentifier = keyid,issuer" >> /tmp/tmp-openssl-proxy.cnf
d) Replace the certificate, where below -days parameter specifies 3650 days (10 years) validity period
openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -keyout /etc/vmware/nsx/host-privkey.pem -out /etc/vmware/nsx/host-cert.pem -config /tmp/tmp-openssl-proxy.cnf -extensions req_extFor NSX 4.1.2.5 and higher, restarting the nsx-proxy service creates the new cert-key pair:/etc/init.d/nsx-proxy restart
get certificate api thumbprintsu admin -c push host-certificate <Manager hostname-or-IP> username admin thumbprint <thumbprint from step 4>su admin -c sync-aph-certificates <Manager hostname-or-IP> username admin thumbprint <thumbprint from step 4>nsxcli -c push host-certificate <Manager hostname-or-IP> username admin thumbprint <thumbprint from step 4>
nsxcli -c sync-aph-certificates <Manager hostname-or-IP> username admin thumbprint <thumbprint from step 4>
nsx-proxy and nsx-opsagent on the Transport Node to restore this connection./etc/init.d/nsx-proxy restart/etc/init.d/nsx-opsagent-appliance restartHost:/etc/init.d/nsx-proxy restart/etc/init.d/nsx-opsagent restart