Index: /branches/rel_apv_10_7/usr/click/tools/aws/aws_auth/AWSAuthController.py
===================================================================
--- /branches/rel_apv_10_7/usr/click/tools/aws/aws_auth/AWSAuthController.py	(revision 39468)
+++ /branches/rel_apv_10_7/usr/click/tools/aws/aws_auth/AWSAuthController.py	(working copy)
@@ -88,9 +88,9 @@
             str: The dictionary of current log in information.
         """
         res = {
-            "aws_access_key_id": None,
-            "aws_secret_access_key": None,
-            "region": None,
+            "aws_access_key_id": "",
+            "aws_secret_access_key": "",
+            "region": "",
         }
         for key in res.keys():
             try:
Index: /branches/rel_apv_10_7/usr/click/tools/azure/az_auth/AZAuthController.py
===================================================================
--- /branches/rel_apv_10_7/usr/click/tools/azure/az_auth/AZAuthController.py	(revision 39468)
+++ /branches/rel_apv_10_7/usr/click/tools/azure/az_auth/AZAuthController.py	(working copy)
@@ -30,33 +30,44 @@
         command = ["az", "login", "--use-device-code"]
         # print("Execute command ", " ".join(command))
         login_msg_file = self.get_login_message_file(file_name=login_msg_file_name)
-        result = subprocess.Popen(command, stdout=login_msg_file, stderr=login_msg_file)
-        while result.poll() is None:
-            print('waiting user login by broswer')
-            time.sleep(1)
+        try:
+            result = subprocess.Popen(command, stdout=login_msg_file, stderr=login_msg_file)
+            while result.poll() is None:
+                print('waiting user login by broswer')
+                time.sleep(1)
+            login_msg_file.close()
+            # wait for file system synchronization
+            time.sleep(0.1)
 
-        # end of az command, use regrex to extract the content of result message
-        pattern = 'to authenticate.[\r\n]+([\[\r\n\s\{\"\w\:\,\-\@\.\}\]]+)'
-        
-        with open(self.get_login_message_file_path(login_msg_file_name), 'r') as file:
-            content = file.read()
-        matches = re.findall(pattern, content)
-        print("Number of new lines:", len(matches))
-        # print("Captured new lines:", matches[0])
-        tmp = self.get_login_message_file_path(login_response_file_name)
-        print("tmp", tmp)
-        file = open(tmp, 'w')
-        file.write(matches[0])
-        # Write new content to the file
-        if not len(matches)==0:
-            print("write file")
+            # end of az command, use regrex to extract the content of result message
+            pattern = 'to authenticate.[\r\n]+([\[\r\n\s\{\"\w\:\,\-\@\.\}\]]+)'
+
+            with open(self.get_login_message_file_path(login_msg_file_name), 'r') as file:
+                content = file.read()
+            matches = re.findall(pattern, content)
+            print("Number of new lines:", len(matches))
+            # print("Captured new lines:", matches[0])
+            tmp = self.get_login_message_file_path(login_response_file_name)
+            print("tmp", tmp)
+            file = open(tmp, 'w')
             file.write(matches[0])
+            # Write new content to the file
+            if not len(matches)==0:
+                print("write file")
+                file.write(matches[0])
 
-        if result.returncode==0:
-            print("Successfully signed in the Azure account.")
-        else:
-            print("Fail to log in az account.\n")
-            print("result", result)
+            if result.returncode==0:
+                print("Successfully signed in the Azure account.")
+            else:
+                print("Fail to log in az account.\n")
+                print("result", result)
+        except Exception as e:
+            print(f"Error during login: {e}")
+        finally:
+            try:
+                login_msg_file.close()
+            except:
+                pass
 
     def logout_az(self):
         command = ["az", "logout"]
Index: /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/apv/models/loadbalancing/slb/ssl/__init__.py
===================================================================
--- /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/apv/models/loadbalancing/slb/ssl/__init__.py	(revision 39468)
+++ /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/apv/models/loadbalancing/slb/ssl/__init__.py	(working copy)
@@ -989,7 +989,7 @@
             return self.all()
 
         def _get_stats(self):
-            pass
+            return self._get_query_set()
 
 class ExSSLRealHostStatistics(ANModel):
     default = FieldGroup(editable=False, fields={
@@ -1026,4 +1026,4 @@
             return self.all()
 
         def _get_stats(self):
-            pass
\ No newline at end of file
+            return self._get_query_set()
\ No newline at end of file
Index: /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/apv/templates/network/cloud/azure/basic.html
===================================================================
--- /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/apv/templates/network/cloud/azure/basic.html	(revision 39468)
+++ /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/apv/templates/network/cloud/azure/basic.html	(working copy)
@@ -30,7 +30,8 @@
         <fieldset class="error_field">
             <div class="form-group">
                 <div class="col-md-3"></div>
-                <div class="error-info">{% trans %}Internal error, please refresh the page.{% endtrans %}</div>
+                <div class="error-info error1">{% trans %}Internal error, please refresh the page.{% endtrans %}</div>
+                <div class="error-info error2">{% trans %}Network connection error. Please check your internet connection and DNS settings.{% endtrans %}</div>
             </div>
         </fieldset>
         <fieldset>
@@ -128,7 +129,13 @@
                 $('.not_logged_check').css('display', 'block');
             },
             error: function (xhr, textStatus, errorThrown) {
-                console.log(textStatus + "," + errorThrown + "," + xhr.responseText);
+                if (xhr.responseText.indexOf("Network connection error.") !== -1) {
+                    $('.error2').css('display', 'block');
+                    $('.error1').css('display', 'none');
+                } else {
+                    $('.error1').css('display', 'block');
+                    $('.error2').css('display', 'none');
+                }
                 $('.error_field').css('display', 'block');
             }
         });
Index: /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/hive/cloud/aws/aws_basic_view.py
===================================================================
--- /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/hive/cloud/aws/aws_basic_view.py	(revision 39468)
+++ /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/hive/cloud/aws/aws_basic_view.py	(working copy)
@@ -33,7 +33,7 @@
             content_type="application/json",
             status=200
         )
-    except json.JSONDecodeError as e:
+    except (ValueError, TypeError) as e:
         anerror("hive.debug", "Fail to decode enconfig to json:{}".format(e))
         return HttpResponse(
             json.dumps({}),
Index: /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/hive/cloud/az/az_basic_view.py
===================================================================
--- /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/hive/cloud/az/az_basic_view.py	(revision 39468)
+++ /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/hive/cloud/az/az_basic_view.py	(working copy)
@@ -52,6 +52,17 @@
             msg+=line
         fp.close()
 
+    if "temporary failure in name resolution" in msg.lower() or "connectionerror" in msg.lower():
+        error_response = {
+            "message": "Network connection error. Please check your internet connection and DNS settings.",
+        }
+        anerror("hive.debug", error_response)
+        return HttpResponse(
+            json.dumps(error_response),
+            content_type="application/json",
+            status=424
+        )
+
     # extract the url and code by regrex to form json response
     url = ""
     code = ""
@@ -64,9 +75,9 @@
         error_response = {
             "message": "Not Found code",
         }
-        anerror("hive.debug", error_response)
+        anerror("hive.debug", "Not Found code: {msg}".format(msg=msg))
         return HttpResponse(
-        error_response,
+        json.dumps(error_response),
         content_type="application/json",
         status=500
     )
@@ -77,9 +88,9 @@
         error_response = {
             "message": "Not Found url",
         }
-        anerror("hive.debug", error_response)
+        anerror("hive.debug", "Not Found url: {msg}".format(msg=msg))
         return HttpResponse(
-        error_response,
+        json.dumps(error_response),
         content_type="application/json",
         status=500
     )
Index: /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/locale/en/LC_MESSAGES/django.po
===================================================================
--- /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/locale/en/LC_MESSAGES/django.po	(revision 39468)
+++ /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/locale/en/LC_MESSAGES/django.po	(working copy)
@@ -5621,6 +5621,9 @@
 msgid "Internal error, please refresh the page."
 msgstr ""
 
+msgid "Network connection error. Please check your internet connection and DNS settings."
+msgstr ""
+
 msgid "Refresh"
 msgstr ""
 
Index: /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/locale/ja/LC_MESSAGES/django.po
===================================================================
--- /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/locale/ja/LC_MESSAGES/django.po	(revision 39468)
+++ /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/locale/ja/LC_MESSAGES/django.po	(working copy)
@@ -5670,6 +5670,9 @@
 msgid "Internal error, please refresh the page."
 msgstr "内部エラーが発生しました。ページを再読み込みしてください。"
 
+msgid "Network connection error. Please check your internet connection and DNS settings."
+msgstr "ネットワーク接続エラー。インターネット接続およびDNS設定を確認してください。"
+
 msgid "Refresh"
 msgstr "更新効力"
 
Index: /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/locale/zh_CN/LC_MESSAGES/django.po
===================================================================
--- /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/locale/zh_CN/LC_MESSAGES/django.po	(revision 39468)
+++ /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/locale/zh_CN/LC_MESSAGES/django.po	(working copy)
@@ -5652,6 +5652,9 @@
 msgid "Internal error, please refresh the page."
 msgstr "内部错误，请刷新页面。"
 
+msgid "Network connection error. Please check your internet connection and DNS settings."
+msgstr "网络连接错误。请检查您的网络连接和 DNS 设置。"
+
 msgid "Refresh"
 msgstr "刷新效力"
 
Index: /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/locale/zh_TW/LC_MESSAGES/django.po
===================================================================
--- /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/locale/zh_TW/LC_MESSAGES/django.po	(revision 39468)
+++ /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/locale/zh_TW/LC_MESSAGES/django.po	(working copy)
@@ -5660,6 +5660,9 @@
 msgid "Internal error, please refresh the page."
 msgstr "內部錯誤，請重新整理網頁。"
 
+msgid "Network connection error. Please check your internet connection and DNS settings."
+msgstr "網路連線錯誤。請檢查您的網路連線與 DNS 設定。"
+
 msgid "Refresh"
 msgstr "刷新時效"
 
