Aria Automation Upgrade may fail after non-ASCII characters are used for input for vracli commands
search cancel

Aria Automation Upgrade may fail after non-ASCII characters are used for input for vracli commands

book

Article ID: 314711

calendar_today

Updated On:

Products

VMware Aria Suite

Issue/Introduction

Symptoms:
  • The upgrade logfile located under /var/log/vmware/prelude/upgrade-{Date&Timestamp}.log contains errors similar to:

File "/etc/vmware-prelude/crd-schema-changelogs/vaconfig/8.12.0.103-register_rebuild_idem_worker_image_action.py", line 46, in overwrite=True File "/opt/python-modules/lcc_sdk/decorators.py", line 64, in wrapper for new_txn in vaconfig.transaction(): File "/opt/python-modules/vracli/vaconfig.py", line 433, in transaction raise RuntimeError(f'Failed to commit transaction after {attempt} retries') RuntimeError: Failed to commit transaction after 100 retries [ERROR]
 

  • non-ASCII characters(őúíá) have been used as input to vracli commands for example certificate chain comments or other custom information.


Environment

VMware Aria Automation 8.x

Cause

The vaconfig is a custom resource used to store configuration information. When the vracli commands are used to update this resource, it is done via a common utility that works on top of the official k8s client library.  This utility can have issues updating the vaconfig further once it already contains some non-ASCII characters.

Resolution

The documented occurrence of this failure was caused by the remote syslog server certificate chain that was imported into Aria Automation however the non-asci characters responsible for this error may be introduced in other configuration changes.

 

1. To validate if its the syslog server ca file which may contains the special characters you can run the below command:

vracli remote-syslog | jq -r '.[].caFile' | less | LC_ALL=C sed -n '/[^\x00-\x7F]/p'

2. If this command does not return any result then its likely the cause is not with the syslog certificate chain but rather with some other configuration. If this command returns a line with non-asci characters proceed with steps below:

3.Prepare a new file containing the certificate chain of the syslog server with any non-asci characters removed.

4. Update the remote-syslog configuration with the following command:

vracli remote-syslog set -id {integrationName} --ca-file {CA cert File name}  tcp://{SyslogServerFQDN}:20519

5. Confirm this command will now return no lines

vracli remote-syslog | jq -r '.[].caFile' | less | LC_ALL=C sed -n '/[^\x00-\x7F]/p'

For more information on updating the syslog configuration see the create or update a syslog integration section in the Aria Automation documentation.