probe-tests: Avoid a DuplicateSectionError on py3

... when you already have a [swift-constraints] section in your
swift.conf

Change-Id: I0b2c906892130639ab2e3e84a6fc4aa0b3033e80
This commit is contained in:
Tim Burke 2020-01-03 23:46:51 -08:00
parent a47d5a1152
commit ae27056f09

View File

@ -283,11 +283,19 @@ class TestProxyServerReloadBase(TestWSGIServerProcessHandling):
self.new_swift_conf_path = self.swift_conf_path + '.new' self.new_swift_conf_path = self.swift_conf_path + '.new'
self.saved_swift_conf_path = self.swift_conf_path + '.orig' self.saved_swift_conf_path = self.swift_conf_path + '.orig'
shutil.copy(self.swift_conf_path, self.saved_swift_conf_path) shutil.copy(self.swift_conf_path, self.saved_swift_conf_path)
shutil.copy(self.swift_conf_path, self.new_swift_conf_path) with open(self.swift_conf_path, 'r') as rfh:
with open(self.new_swift_conf_path, 'a+') as fh: config = rfh.read()
fh.seek(0, os.SEEK_END) section_header = '\n[swift-constraints]\n'
fh.write('\n[swift-constraints]\nmax_header_size = 8191\n') if section_header in config:
fh.flush() config = config.replace(
section_header,
section_header + 'max_header_size = 8191\n',
1)
else:
config += section_header + 'max_header_size = 8191\n'
with open(self.new_swift_conf_path, 'w') as wfh:
wfh.write(config)
wfh.flush()
def tearDown(self): def tearDown(self):
shutil.move(self.saved_swift_conf_path, self.swift_conf_path) shutil.move(self.saved_swift_conf_path, self.swift_conf_path)