Symptoms
If a file referenced by the config, such as an external monitor, is manually deleted from the file system or otherwise not present as expected, the following symptoms may occur:
- Config sync between HA members may fail with MCP errors such as the following:
err mcpd[<...>]: 0107134e:3: Failed while making snapshot: (Failed to link files existing(/config/filestore/files_d/Common_d/external_monitor_d/:Common:<filename>) new(/config/.snapshots_d/external_monitor_d/<...>:Common:<filename>) errno(2)(No such file or directory).) errno(2) errstr(No such file or directory).
err mcpd[<...>]: 01070712:3: Caught configuration exception (0), link_system_file:() :Failed to link files existing(/config/filestore/files_d/Common_d/external_monitor_d/:Common:<filename>) new(/config/.snapshots_d/external_monitor_d/<...>:Common:<filename>) errno(2)(No such file or directory).
- Loading a configuration which references a non-existent file may fail with MCP errors similar to:
err mcpd[<...>]: 0107092b:3: Received error result from peer mcpd, result: result {
result_code 17237778
result_message "01070712:3: Failed to link files existing(/config/monitors/<filename>) new(/config/.snapshots_d/external_monitor_d/<...>:Common:<filename>) errno(2)(No such file or directory)." }
- The qkview process may hang when attempting to read the missing file.
Impact
- The configuration fails to sync and/or load.
- The qkview process hangs, preventing a qkview report from being generated.
Conditions
Such symptoms may occur when loading or syncing a configuration which references a file which does not exist, either due to being manually deleted or non-existent for other reasons.
Workaround
To work around this issue and restore functionality, perform one of the following actions depending on the situation:
- If a referenced file has been deleted, identify the missing file from the mcpd log messages and manually restore the missing file (e.g., from a backup copy, or via scp from another member of the HA group from which the file has not been deleted).
- If a configuration being loaded references a file that does not exist on the system, either remove the file reference from the configuration or copy/install the file onto the target system before loading the configuration.