New test for Ceph Operations
PROD-35900
Change-Id: I34cdad3f6a9b6c89cfde6792b74e393fad7d49b6
diff --git a/tcp_tests/managers/reclass_manager.py b/tcp_tests/managers/reclass_manager.py
index 137dd33..0813b5b 100644
--- a/tcp_tests/managers/reclass_manager.py
+++ b/tcp_tests/managers/reclass_manager.py
@@ -37,6 +37,11 @@
super(ReclassManager, self).__init__(config=config, underlay=underlay)
def check_existence(self, key):
+ """
+ Returns True if reclass contains that key.
+ :param key: string
+ :return: boolean
+ """
if key in self.ssh.check_call(
"{reclass_tools} get-key {key} /srv/salt/reclass/classes".
format(reclass_tools=self.reclass_tools_cmd,
@@ -56,15 +61,20 @@
May look like cluster/*/cicd/control/leader.yml
:return: None
"""
- self.check_existence(key)
- self.ssh.check_call(
- "{reclass_tools} add-key {key} {value} \
+
+ value = str(value).replace('"', "'")
+ # let's escape $ symbol for bash-like command
+ value = str(value).replace("$", r"\$")
+
+ # value can contain a space symbol. So value should be in quotes
+ cmd = "{reclass_tools} add-key {key} \"{value}\" \
/srv/salt/reclass/classes/{path}".format(
reclass_tools=self.reclass_tools_cmd,
key=key,
value=value,
- path=short_path
- ))
+ path=short_path)
+ LOG.info("Add key to reclass: \n {cmd} ".format(cmd=cmd))
+ self.ssh.check_call(cmd)
def get_key(self, key, file_name):
"""Find a key in a YAML