vCenter Server's file based backup to FTP server failed due to "Internal error. See logs for details. https://***/appliance/support-bundle".
search cancel

vCenter Server's file based backup to FTP server failed due to "Internal error. See logs for details. https://***/appliance/support-bundle".

book

Article ID: 390282

calendar_today

Updated On:

Products

VMware vCenter Server 8.0 VMware vCenter Server 7.0

Issue/Introduction

vCenter Server's file based backup to FTP server failed due to "Internal error. See logs for details. https://***/appliance/support-bundle". There is no useful logs in any files in /var/log/vmware/applmgmt/ .

Environment

vCenter Server 7.0

vCenter Server 8.0

Cause

The remote directory contains a directory whose name is undecodable by utf8.

Resolution

As this isn't a product bug, there are two possible workarounds.

1. Remove the directory whose name is undecodable by utf8.
2. Create a dummy directory under the backup target remote directory.

For example, a backup to directory A would fail because A contains an utf-8 undecodable directory, whereas a backup to directory B would succeed because B doesn't contain that directory.

A --
 |- B
 |- <utf8 undecodable Directory>

Additional Information

There are several reasons why vCenter Server file-based backup might fail with an "Internal error". This article provides one possible scenario for this error.

In some cases where a file-based backup failed due to an internal error, we couldn't find any useful logs in /var/log/vmware/applmgmt/. In these cases, a detailed error can be seen when we reproduce a backup failure using appliance shell.

# After a backup failure from appliance shell, we could see error code from terminal output.

Command> com.vmware.appliance.recovery.backup.job.create --locationType FTP --location ftp://XXXXXXXX:/backup --locationUser XXX --locationPassword
Enter locationPassword: 
Error in executing command: 8002

# After a backup failure from appliance shell, errors are logged in /var/log/vmware/applmgmt/applmgmt_vmonsvc.stderr.

vCenter Server 7.0

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/usr/lib/applmgmt/transport/py/vmware/vherd/transport/xmlrpc.py", line 223, in authorization_cb
    result = defer.maybeDeferred(func, *args)
  File "/usr/lib/python3.7/site-packages/twisted/internet/defer.py", line 151, in maybeDeferred
    result = f(*args, **kw)
  File "/usr/lib/applmgmt/base/py/vmware/vherd/base/pint.py", line 982, in run
    ret = defer.maybeDeferred(method, self, *realArgs)
--- <exception caught here> ---
  File "/usr/lib/python3.7/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/usr/lib/applmgmt/transport/py/vmware/vherd/transport/xmlrpc.py", line 233, in unauthorized_cb
    failure.trap(authorization.AuthorizationError)
  File "/usr/lib/python3.7/site-packages/twisted/python/failure.py", line 460, in trap
    self.raiseException()
  File "/usr/lib/python3.7/site-packages/twisted/python/failure.py", line 488, in raiseException
    raise self.value.with_traceback(self.tb)
  File "/usr/lib/python3.7/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/usr/lib/applmgmt/transport/py/vmware/vherd/transport/xmlrpc.py", line 215, in _formatPintErrors
    err.trap(pint.Error)
  File "/usr/lib/python3.7/site-packages/twisted/python/failure.py", line 460, in trap
    self.raiseException()
  File "/usr/lib/python3.7/site-packages/twisted/python/failure.py", line 488, in raiseException
    raise self.value.with_traceback(self.tb)
  File "/usr/lib/python3.7/site-packages/twisted/internet/defer.py", line 151, in maybeDeferred
    result = f(*args, **kw)
  File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/impl.py", line 135, in wrapper
    return func(*args, **kwargs)
  File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/impl.py", line 861, in create
    preBackupServerValidation(piece)
  File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/impl.py", line 485, in preBackupServerValidation
    dispatch.storageIO.dir_exists()
  File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/plugins/FtpStorageIOLib.py", line 196, in dir_exists
    cmd_res = _run_cmd(ls_cmd, timeout=timeout)
  File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/plugins/FtpStorageIOLib.py", line 20, in _run_cmd
    timeout=timeout, universal_newlines=True)
  File "/usr/lib/python3.7/subprocess.py", line 490, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
  File "/usr/lib/python3.7/subprocess.py", line 964, in communicate
    stdout, stderr = self._communicate(input, endtime, timeout)
  File "/usr/lib/python3.7/subprocess.py", line 1755, in _communicate
    self.stdout.errors)
  File "/usr/lib/python3.7/subprocess.py", line 841, in _translate_newlines
    data = data.decode(encoding, errors)
builtins.UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 13: invalid continuation byte

vCenter Server 8.0

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/usr/lib/applmgmt/transport/py/vmware/vherd/transport/xmlrpc.py", line 223, in authorization_cb
    result = defer.maybeDeferred(func, *args)
  File "/usr/lib/python3.10/site-packages/twisted/internet/defer.py", line 151, in maybeDeferred
    result = f(*args, **kw)
  File "/usr/lib/applmgmt/base/py/vmware/vherd/base/pint.py", line 982, in run
    ret = defer.maybeDeferred(method, self, *realArgs)
--- <exception caught here> ---
  File "/usr/lib/python3.10/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/usr/lib/applmgmt/transport/py/vmware/vherd/transport/xmlrpc.py", line 233, in unauthorized_cb
    failure.trap(authorization.AuthorizationError)
  File "/usr/lib/python3.10/site-packages/twisted/python/failure.py", line 460, in trap
    self.raiseException()
  File "/usr/lib/python3.10/site-packages/twisted/python/failure.py", line 488, in raiseException
    raise self.value.with_traceback(self.tb)
  File "/usr/lib/python3.10/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/usr/lib/applmgmt/transport/py/vmware/vherd/transport/xmlrpc.py", line 215, in _formatPintErrors
    err.trap(pint.Error)
  File "/usr/lib/python3.10/site-packages/twisted/python/failure.py", line 460, in trap
    self.raiseException()
  File "/usr/lib/python3.10/site-packages/twisted/python/failure.py", line 488, in raiseException
    raise self.value.with_traceback(self.tb)
  File "/usr/lib/python3.10/site-packages/twisted/internet/defer.py", line 151, in maybeDeferred
    result = f(*args, **kw)
  File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/impl.py", line 139, in wrapper
    return func(*args, **kwargs)
  File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/impl.py", line 902, in create
    preBackupServerValidation(piece)
  File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/impl.py", line 489, in preBackupServerValidation
    dispatch.storageIO.dir_exists()
  File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/plugins/FtpStorageIOLib.py", line 214, in dir_exists
    cmd_res = _run_cmd_retries(ls_cmd, timeout=timeout)
  File "/usr/lib/applmgmt/backup_restore/py/vmware/appliance/backup_restore/plugins/FtpStorageIOLib.py", line 38, in _run_cmd_retries
    _logger.error("Command failed with error  %s. Will retry after %d" % (cmd_res.stderr, DEFAULT_RETRY_SLEEP))
builtins.UnboundLocalError: local variable 'cmd_res' referenced before assignment