summaryrefslogtreecommitdiffstats
path: root/doctor_tests/installer/common
diff options
context:
space:
mode:
Diffstat (limited to 'doctor_tests/installer/common')
-rw-r--r--doctor_tests/installer/common/congress.py51
-rw-r--r--doctor_tests/installer/common/restore_congress.py26
-rw-r--r--doctor_tests/installer/common/set_congress.py35
3 files changed, 61 insertions, 51 deletions
diff --git a/doctor_tests/installer/common/congress.py b/doctor_tests/installer/common/congress.py
deleted file mode 100644
index cc58c390..00000000
--- a/doctor_tests/installer/common/congress.py
+++ /dev/null
@@ -1,51 +0,0 @@
-##############################################################################
-# Copyright (c) 2017 ZTE Corporation and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-
-def set_doctor_driver_conf(ssh_client, restart_cmd):
- cg_set_cmd = '''#!/bin/bash
-co_conf=/etc/congress/congress.conf
-co_conf_bak=/etc/congress/congress.conf.bak
-co_entry="congress.datasources.doctor_driver.DoctorDriver"
-if sudo grep -e "^drivers.*$co_entry" $co_conf; then
- echo "NOTE: congress is configured as we needed"
-else
- echo "modify the congress config"
- sudo cp $co_conf $co_conf_bak
- sudo sed -i -e "/^drivers/s/$/,$co_entry/" $co_conf
- %s
-fi
- ''' % (restart_cmd)
-
- ret, output = ssh_client.ssh(cg_set_cmd)
- if ret:
- raise Exception('Do the congress command in controller node failed...'
- 'ret=%s, cmd=%s, output=%s'
- % (ret, cg_set_cmd, output))
-
-
-def restore_doctor_driver_conf(ssh_client, restart_cmd):
- cg_restore_cmd = '''#!/bin/bash
-co_conf=/etc/congress/congress.conf
-co_conf_bak=/etc/congress/congress.conf.bak
-if [ -e $co_conf_bak ]; then
- echo "restore the congress config"
- sudo cp $co_conf_bak $co_conf
- sudo rm $co_conf_bak
- %s
-else
- echo "Do not need to restore the congress config"
-fi
- ''' % (restart_cmd)
-
- ret, output = ssh_client.ssh(cg_restore_cmd)
- if ret:
- raise Exception('Do the congress command in controller node failed...'
- 'ret=%s, cmd=%s, output=%s'
- % (ret, cg_restore_cmd, output))
diff --git a/doctor_tests/installer/common/restore_congress.py b/doctor_tests/installer/common/restore_congress.py
new file mode 100644
index 00000000..b5efb1ef
--- /dev/null
+++ b/doctor_tests/installer/common/restore_congress.py
@@ -0,0 +1,26 @@
+##############################################################################
+# Copyright (c) 2017 ZTE Corporation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+import os
+import shutil
+
+
+def restore_drivers_config():
+ co_conf = "/etc/congress/congress.conf"
+ co_conf_bak = "/etc/congress/congress.conf.bak"
+
+ if not os.path.isfile(co_conf_bak):
+ print('Bak_file:%s does not exist.' % co_conf_bak)
+ else:
+ print('restore: %s' % co_conf)
+ shutil.copyfile(co_conf_bak, co_conf)
+ os.remove(co_conf_bak)
+ return
+
+
+restore_drivers_config()
diff --git a/doctor_tests/installer/common/set_congress.py b/doctor_tests/installer/common/set_congress.py
new file mode 100644
index 00000000..d8438701
--- /dev/null
+++ b/doctor_tests/installer/common/set_congress.py
@@ -0,0 +1,35 @@
+##############################################################################
+# Copyright (c) 2018 ZTE Corporation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+import configparser
+import shutil
+
+
+def set_drivers_config():
+ co_conf = "/etc/congress/congress.conf"
+ co_conf_bak = "/etc/congress/congress.conf.bak"
+ doctor_driver = "congress.datasources.doctor_driver.DoctorDriver"
+ config_modified = False
+
+ config = configparser.ConfigParser()
+ config.read(co_conf)
+ drivers = config['DEFAULT']['drivers']
+
+ if doctor_driver not in drivers:
+ config_modified = True
+ drivers += ',' + doctor_driver
+
+ config['DEFAULT']['drivers'] = drivers
+
+ if config_modified:
+ shutil.copyfile(co_conf, co_conf_bak)
+ with open(co_conf, 'w') as configfile:
+ config.write(configfile)
+
+
+set_drivers_config()