Add mechanism to list the differences between a tape server current configuration and the corresponding configuration file
Problem to solve
Tape servers will only load a new configuration file at startup/restart. This means that any change to the configuration file will result in a mismatch between the current tape server state and the configuration.
Operators need to be able to probe for these mismatches, so that they can take proper action (either restart the tape server or fix the configuration).
As these changes can happen due to several factors, including by mistake, they should not automatically trigger a tape server restart.
Stakeholders
CTA operations
Proposal
Create a mechanism to identify mismatches between a tape server state and their corresponding configuration file.
For some ideas, please check the discussion on the corresponding operations issue:
Some points to keep in mind:
- As modifications to the CTA Catalogue have a high cost and longer timeframe, we should avoid them unless necessary.
- A tape server current configuration can be found on the CTA Catalogue
DRIVE_CONFIG
table. This can be queried with thecta-admin --json dr ls
command.
Suggestion (to be discussed):
- The tape server can periodically scan the config file and add the contents to the
DRIVE_CONFIG
table, using a different value on theSOURCE
column. - Entries with this value on
SOURCE
would be ignored by the tape server code (they should not modify the tape serve state), but would still be displayed with thecta-admin --json dr ls
command. - Operators can run the
cta-admin --json dr ls
command and compute the difference between the two sets of values.
References
Ops issue: