diff options
-rw-r--r-- | newton/assembly.xml | 8 | ||||
-rw-r--r-- | newton/docker/Dockerfile | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | newton/docker/build-image.sh | 32 | ||||
-rw-r--r-- | newton/newton/pub/utils/restcall.py | 20 |
4 files changed, 57 insertions, 11 deletions
diff --git a/newton/assembly.xml b/newton/assembly.xml index 89f1a954..c478ea25 100644 --- a/newton/assembly.xml +++ b/newton/assembly.xml @@ -38,6 +38,14 @@ </includes> </fileSet> <fileSet> + <directory>docker</directory> + <outputDirectory>/docker</outputDirectory> + <includes> + <include>*.sh</include> + <include>Dockerfile</include> + </includes> + </fileSet> + <fileSet> <directory>.</directory> <outputDirectory>/</outputDirectory> <includes> diff --git a/newton/docker/Dockerfile b/newton/docker/Dockerfile index e8440e1c..51379089 100644 --- a/newton/docker/Dockerfile +++ b/newton/docker/Dockerfile @@ -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 diff --git a/newton/docker/build-image.sh b/newton/docker/build-image.sh index 8d5fe479..fd8fb8cd 100644..100755 --- a/newton/docker/build-image.sh +++ b/newton/docker/build-image.sh @@ -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 diff --git a/newton/newton/pub/utils/restcall.py b/newton/newton/pub/utils/restcall.py index 04b5a6f8..a2838680 100644 --- a/newton/newton/pub/utils/restcall.py +++ b/newton/newton/pub/utils/restcall.py @@ -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): |