Fix bugs in restcall 35/11535/1
authorBin Yang <bin.yang@windriver.com>
Mon, 11 Sep 2017 03:25:12 +0000 (11:25 +0800)
committerBin Yang <bin.yang@windriver.com>
Mon, 11 Sep 2017 03:25:12 +0000 (11:25 +0800)
fix bug and update dockerfile

Change-Id: I5e6e2eeae85d9bfaabd190d8f9baaca8cca7aeb5
Issue-Id: MULTICLOUD-58
Signed-off-by: Bin Yang <bin.yang@windriver.com>
newton/assembly.xml
newton/docker/Dockerfile
newton/docker/build-image.sh [changed mode: 0644->0755]
newton/newton/pub/utils/restcall.py

index 89f1a95..c478ea2 100644 (file)
                 <include>*.txt</include>
             </includes>
         </fileSet>
+        <fileSet>
+            <directory>docker</directory>
+            <outputDirectory>/docker</outputDirectory>
+            <includes>
+                <include>*.sh</include>
+                <include>Dockerfile</include>
+            </includes>
+        </fileSet>
         <fileSet>
             <directory>.</directory>
             <outputDirectory>/</outputDirectory>
index e8440e1..5137908 100644 (file)
@@ -1,5 +1,11 @@
 FROM python:2
 
+ARG HTTP_PROXY=${HTTP_PROXY}
+ARG HTTPS_PROXY=${HTTPS_PROXY}
+
+ENV http_proxy $HTTP_PROXY
+ENV https_proxy $HTTPS_PROXY
+
 ENV MSB_ADDR "127.0.0.1"
 ENV MSB_PORT "80"
 ENV AAI_ADDR "aai.api.simpledemo.openecomp.org"
@@ -21,4 +27,4 @@ RUN apt-get update && \
     pip install -r /opt/newton/requirements.txt
 
 WORKDIR /opt/newton
-CMD /bin/sh -c /opt/newton/run.sh
\ No newline at end of file
+CMD /bin/sh -c /opt/newton/run.sh
old mode 100644 (file)
new mode 100755 (executable)
index 8d5fe47..fd8fb8c
@@ -1,6 +1,32 @@
 #!/bin/bash
+DIRNAME=`dirname $0`
+DOCKER_BUILD_DIR=`cd $DIRNAME/; pwd`
+echo "DOCKER_BUILD_DIR=${DOCKER_BUILD_DIR}"
+cd ${DOCKER_BUILD_DIR}
 
-IMAGE="multicloud-openstack-newton"
-VERSION="latest"
+BUILD_ARGS="--no-cache"
+ORG="onap"
+VERSION="1.0.0-SNAPSHOT"
+PROJECT="multicloud"
+IMAGE="openstack-newton"
+DOCKER_REPOSITORY="nexus3.onap.org:10003"
+IMAGE_NAME="${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/${IMAGE}"
 
-docker build -t ${IMAGE}:${VERSION} .
+if [ $HTTP_PROXY ]; then
+    BUILD_ARGS+=" --build-arg HTTP_PROXY=${HTTP_PROXY}"
+fi
+if [ $HTTPS_PROXY ]; then
+    BUILD_ARGS+=" --build-arg HTTPS_PROXY=${HTTPS_PROXY}"
+fi
+
+function build_image {
+    docker build ${BUILD_ARGS} -t ${IMAGE_NAME}:${VERSION} -t ${IMAGE_NAME}:latest .
+}
+
+function push_image {
+    docker push ${IMAGE_NAME}:${VERSION}
+    docker push ${IMAGE_NAME}:latest
+}
+
+build_image
+push_image
index 04b5a6f..a283868 100644 (file)
@@ -71,18 +71,24 @@ def call_req(base_url, user, passwd, auth_type,
                 else:
                     ret = [1, resp_body, resp_status]
                 break
-            except http.client.ResponseNotReady:
-#                logger.debug("retry_times=%d", retry_times)
-                ret = [1, "Unable to connect to %s" % full_url, resp_status]
-                continue
+            except Exception as ex:
+                if 'httplib.ResponseNotReady' in str(sys.exc_info()):
+                    logger.debug("retry_times=%d", retry_times)
+                    logger.error(traceback.format_exc())
+                    ret = [1, "Unable to connect to %s" % full_url, resp_status]
+                    continue
+                raise ex
     except urllib.error.URLError as err:
         ret = [2, str(err), resp_status]
-    except Exception:
+    except Exception as ex:
         logger.error(traceback.format_exc())
         logger.error("[%s]ret=%s" % (callid, str(sys.exc_info())))
         if not resp_status:
             resp_status = status.HTTP_500_INTERNAL_SERVER_ERROR
         ret = [3, str(sys.exc_info()), resp_status]
+    except:
+        logger.error(traceback.format_exc())
+        ret = [4, str(sys.exc_info()), resp_status]
 
 #    logger.debug("[%s]ret=%s" % (callid, str(ret)))
     return ret
@@ -100,7 +106,7 @@ def req_to_vim(base_url, resource, method, extra_headers='', content=''):
                     resource, method, extra_headers, content)
 
 def req_to_aai(resource, method, content='', appid=config.MULTICLOUD_APP_ID):
-    tmp_trasaction_id = uuid.uuid1()
+    tmp_trasaction_id = str(uuid.uuid1())
     headers = {
         'X-FromAppId': appid,
         'X-TransactionId': tmp_trasaction_id,
@@ -110,7 +116,7 @@ def req_to_aai(resource, method, content='', appid=config.MULTICLOUD_APP_ID):
 
     logger.debug("req_to_aai--%s::> %s, %s" % (tmp_trasaction_id, method, resource))
     return call_req(config.AAI_BASE_URL, config.AAI_USERNAME, config.AAI_PASSWORD, rest_no_auth,
-                    resource, method, json.dumps(content), headers)
+                    resource, method, content=json.dumps(content), extra_headers=headers)
 
 
 def combine_url(base_url, resource):