From 91f05f4a6c542e3f395ccb220fc68b7607c9cd04 Mon Sep 17 00:00:00 2001 From: Patrick LeBlanc Date: Fri, 28 Aug 2020 18:15:12 -0400 Subject: [PATCH] When mcs-loadbrm.py edits the config file, make the editing appear atomic. --- oam/install_scripts/mcs-loadbrm.py.in | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/oam/install_scripts/mcs-loadbrm.py.in b/oam/install_scripts/mcs-loadbrm.py.in index 9a2990078..5cc3a9d43 100755 --- a/oam/install_scripts/mcs-loadbrm.py.in +++ b/oam/install_scripts/mcs-loadbrm.py.in @@ -70,7 +70,9 @@ if __name__ == '__main__': config_root.find('./SystemConfig').append(ET.Element("DataFilePlugin")) config_root.find('./SystemConfig/DataFilePlugin').text = "libcloudio.so" - cs_config.write('/etc/columnstore/Columnstore.xml') + + cs_config.write('/etc/columnstore/Columnstore.xml.loadbrm') + os.replace('/etc/columnstore/Columnstore.xml.loadbrm', '/etc/columnstore/Columnstore.xml') # atomic replacement # Single-node on S3 if storage.lower() == 's3' and not bucket.lower() == 'some_bucket' and pmCount == 1: @@ -124,7 +126,7 @@ node.".format(e)) path.write_bytes(r.content) except Exception as e: print(str(e)) - print('Failed to load meta data from the primary \ + print('Failed to load BRM data from the primary \ node {}.'.format(primary_address), file=sys.stderr) sys.exit(1)