VxRail: Scheduled VxRail Backup Task Failed with 'NoneType' Object has no Attribute 'replace'

Summary: Schedule VxRail Manager backup task failed with an error 'NoneType' object has no attribute 'replace'.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

This issue is observed on VxRail version 7.0.350 for now, the resolution applies to this version only.
In VxRailBackupRestore.log:

VxM_Backup & Restore: 2022-12-01 01:29:04,743 - INFO cronjob is updated.
VxM_Backup & Restore: 2022-12-01 01:29:04,822 - ERROR Caused: 'NoneType' object has no attribute 'replace'
VxM_Backup & Restore: 2022-12-01 01:29:04,822 - ERROR [VxM Backup & Restore ABNORMAL END]
VxM_Backup & Restore: 2022-12-01 01:29:15,314 - INFO Starting to get authentication info.
VxM_Backup & Restore: 2022-12-01 01:29:15,336 - INFO Connecting to vCenter [VC FQDN]
VxM_Backup & Restore: 2022-12-01 01:29:15,422 - ERROR Caused: 'NoneType' object has no attribute 'replace'
VxM_Backup & Restore: 2022-12-01 01:29:15,423 - ERROR [VxM Backup & Restore ABNORMAL END]
VxM_Backup & Restore: 2022-12-01 01:30:06,398 - INFO Starting to get authentication info.
VxM_Backup & Restore: 2022-12-01 01:30:06,420 - INFO Connecting to vCenter [VC FQDN]
VxM_Backup & Restore: 2022-12-01 01:30:06,494 - ERROR Caused: 'NoneType' object has no attribute 'replace'
VxM_Backup & Restore: 2022-12-01 01:30:06,495 - ERROR [VxM Backup & Restore ABNORMAL END]

If you manually run the backup job:

VxRailBackupRestore.log  

Cause

A code defect when retrieving the VSAN datastore object id. 

Resolution

Modify the script  /mystic/vxm_backup_restore/common.py as below, adding two more lines.
Note: Be careful with the modification, use space as indentation.

def get_primary_datastore(cluster_obj):
    """Get the primary datastore on the specified cluster"""
    if not cluster_obj:
        return None

    if not cluster_obj.datastore:
        return None

    current_vxm_sn = get_vxm_sn()
    for datastore in cluster_obj.datastore:
        if not datastore.vm:
            continue
        for vm in datastore.vm:
            if vm.summary.config.uuid is None:     # new added
                continue                              # new added
            vm_uuid = vm.summary.config.uuid.replace("-", "")
            if vm_uuid in current_vxm_sn:
                return datastore

    return None

Affected Products

VxRail
Article Properties
Article Number: 000206764
Article Type: Solution
Last Modified: 23 Jun 2026
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.