Add an EMS simulator
Change-Id: I4fedf9a812e19033e7f9a1bff55eae264bc5122f
Issue-ID: INT-1041
Signed-off-by: Enbo Wang <wangenbo@huawei.com>
diff --git a/test/mocks/emssimulator/swm/upgrade-pre-check b/test/mocks/emssimulator/swm/upgrade-pre-check
new file mode 100755
index 0000000..6bf867f
--- /dev/null
+++ b/test/mocks/emssimulator/swm/upgrade-pre-check
@@ -0,0 +1,71 @@
+#!/usr/bin/python
+
+import sys
+import json
+
+import conf
+import ems_util
+
+
+def upgrade_precheck(pnf_id, old_sw_version, target_sw_version, rule_name, tmp_file=None):
+ ne_info = ems_util.get_ne_info_from_db_by_id(pnf_id)
+
+ if not ne_info:
+ ret_value = {
+ "result": conf.RESULT_FAILURE,
+ "reason": "Can not find NE %s" % pnf_id
+ }
+ return ret_value
+
+ current_sw_version_in_db = ne_info.get("currentSwVersion", "")
+
+ if old_sw_version != current_sw_version_in_db:
+ ret_value = {
+ "result": conf.RESULT_FAILURE,
+ "reason": "Current SW version %s in PNF is not matched with oldSwVersion %s" %
+ (current_sw_version_in_db, old_sw_version)
+ }
+ return ret_value
+
+ ne_info["checkStatus"] = conf.STATUS_PRECHECKED
+ ems_util.update_ne_info(ne_info)
+
+ ret_value = {
+ "result": conf.RESULT_SUCCESS
+ }
+
+ return ret_value
+
+
+def main():
+ # {{pnfId}} {{oldSwVersion}} {{targetSwVersion}} {{ruleName}} /tmp/tmp-{{Id}}
+
+ if len(sys.argv) < 5:
+ ret_value = {
+ "result": conf.RESULT_FAILURE,
+ "reason": "Missing parameters"
+ }
+ print json.dumps(ret_value)
+ sys.exit(conf.RET_CODE_FAILURE)
+
+ if len(sys.argv) >= 5:
+ pnf_id = sys.argv[1]
+ old_sw_version = sys.argv[2]
+ target_sw_version = sys.argv[3]
+ rule_name = sys.argv[4]
+ tmp_file = None
+
+ if len(sys.argv) >= 6:
+ tmp_file = sys.argv[5]
+
+ ret_value = upgrade_precheck(pnf_id, old_sw_version, target_sw_version, rule_name, tmp_file)
+ print json.dumps(ret_value)
+
+ if ret_value["result"] == conf.RESULT_SUCCESS:
+ sys.exit(conf.RET_CODE_SUCCESS)
+ else:
+ sys.exit(conf.RET_CODE_FAILURE)
+
+
+if __name__ == '__main__':
+ main()