فهرست منبع

update docker.py manage.py

TooY 2 سال پیش
والد
کامیت
dfd095deab
2فایلهای تغییر یافته به همراه13 افزوده شده و 9 حذف شده
  1. 10 6
      appmanage/api/service/manage.py
  2. 3 3
      appmanage/api/utils/docker.py

+ 10 - 6
appmanage/api/service/manage.py

@@ -58,7 +58,8 @@ def get_app_detail(app_id):
 # 查询某个正在安装的app的 具体状态:waiting(等待安装)pulling(拉取镜像)initing(初始化)running(正常运行)
 def install_app_process(app_id):
     app_name = split_app_id(app_id)
-    real_name = docker.read_var(app_name, 'name')
+    var_path = "/data/apps/" + app_name + "/variables.json"
+    real_name = docker.read_var(var_path, 'name')
     if docker.check_app_directory(app_name):
         percentage = docker.get_process_perc(app_name, real_name)
         ret = Response(code=const.RETURN_SUCCESS, message=percentage)
@@ -211,7 +212,8 @@ def if_app_exits(app_id, app_name):
     if int(output["code"]) == -1:
         return False
     else:
-        real_name = docker.read_var(app_name, "name")
+        var_path = "/data/apps/" + app_name + "/variables.json"
+        real_name = docker.read_var(var_path, "name")
         real_id = real_name + "_" + app_name
         if app_id == real_id:
             return True
@@ -230,12 +232,13 @@ def set_app_info(output_list):
         volume = app_info["ConfigFiles"]  # volume
         app_name = volume.split('/')[3]
         app_path = "/data/apps/" + app_name
+        var_path = app_path + "/variables.json"
         if not docker.check_directory(app_path):
             continue
-        real_name = docker.read_var(app_name, 'name')
+        real_name = docker.read_var(var_path, 'name')
         image_url = get_Image_url(real_name)
         # get trade_mark
-        trade_mark = docker.read_var(app_name, 'trademark')
+        trade_mark = docker.read_var(var_path, 'trademark')
         app_id = real_name + "_" + app_name  # app_id
         case = app_info["Status"].split("(")[0]  # case
         if case == "running":
@@ -293,8 +296,9 @@ def set_app_info(output_list):
             for running_app_name in f:
                 running_app_name = re.sub("\n", "", running_app_name)
                 if running_app_name not in has_add and running_app_name != "":
-                    trade_mark = docker.read_var(running_app_name, 'trademark')
-                    real_name = docker.read_var(running_app_name, 'name')
+                    var_path = "/data/apps/" + running_app_name + "/variables.json"
+                    trade_mark = docker.read_var(var_path, 'trademark')
+                    real_name = docker.read_var(var_path, 'name')
                     image_url = get_Image_url(real_name)
                     app = App(app_id=real_name + "_" + running_app_name, name=real_name, customer_name=running_app_name, status_code=const.RETURN_READY, status="installing", port=0, volume="-",
                               url="-", image_url=image_url, admin_url="-", trade_mark=trade_mark, user_name="-", password="-")

+ 3 - 3
appmanage/api/utils/docker.py

@@ -40,7 +40,8 @@ def if_app_exits(app_name):
 
 def check_vm_resource(app_name):
     myLogger.info_logger("Checking virtual memory resource ...")
-    requirements_var = read_var(app_name, 'requirements')
+    var_path = "/data/library/apps" + app_name + "/variables.json"
+    requirements_var = read_var(var_path, 'requirements')
     need_cpu_count = int(requirements_var['cpu'])
     cpu_count = int(shell_execute.execute_command_output_all("cat /proc/cpuinfo | grep \'core id\'| wc -l")["result"])
     if cpu_count < need_cpu_count:
@@ -134,9 +135,8 @@ def modify_env(path, env_name, value):
             myLogger.info_logger("Modify " + path + ": Change " + env_name + " to " + value)
 
 
-def read_var(app_name, var_name):
+def read_var(var_path, var_name):
     value = "-"
-    var_path = "/data/apps/" + app_name + "/variables.json"
     myLogger.info_logger("Read " + var_path)
     output = shell_execute.execute_command_output_all("cat " + var_path)
     if int(output["code"]) == 0: