diff options
author | Bin Yang <bin.yang@windriver.com> | 2022-03-21 22:40:51 +0800 |
---|---|---|
committer | Bin Yang <bin.yang@windriver.com> | 2022-03-22 14:31:13 +0800 |
commit | de7df2bb51ecd068d3eae6cf314b20c744e96927 (patch) | |
tree | b55034272a7d683dba1a95c504c6594d970645d3 /windriver | |
parent | 3bd3e44e2c9533b96f6f6664f9d6ed2150515955 (diff) |
memcached container as sidecar1.5.7
To fix the dependency on memcached which depends on the GPLv3 licensed gdbm indirectly,
Use sidecar to integrate memcached from dockerhub
Add docker-composer scripts to support local test
Issue-ID: MULTICLOUD-1457
Signed-off-by: Bin Yang <bin.yang@windriver.com>
Change-Id: I55a156c0af158535dccfa87e7b9603e47be4d9c1
Diffstat (limited to 'windriver')
-rw-r--r-- | windriver/README.md | 23 | ||||
-rw-r--r-- | windriver/docker/Dockerfile | 2 | ||||
-rw-r--r-- | windriver/docker/Dockerfile4composer | 42 | ||||
-rw-r--r-- | windriver/run.sh | 3 | ||||
-rw-r--r-- | windriver/stop.sh | 2 | ||||
-rw-r--r-- | windriver/titanium_cloud/pub/config/log.yml | 25 | ||||
-rw-r--r-- | windriver/titanium_cloud/settings.py | 13 |
7 files changed, 97 insertions, 13 deletions
diff --git a/windriver/README.md b/windriver/README.md index d3bcc195..f6dcf8ad 100644 --- a/windriver/README.md +++ b/windriver/README.md @@ -13,3 +13,26 @@ # limitations under the License. # Micro service of MultiCloud plugin for Wind River Titanium Cloud. + +docker-compose -f docker-compose-windriver.yml build + +docker-compose -f docker-compose-windriver.yml up -d + +docker ps + +### Test memcached +docker exec -it openstack_worker_1 sh + +cat <<EOF>testmemcached.py +import memcache +mem = memcache.Client(['memcached:11211'], debug=1) +mem.set("testkey1","testvalue1") +value1 = mem.get("testkey1") +print("memcached is working" if value1=="testvalue1" else "memcached is not working") +EOF + +python testmemcached.py + +exit + +docker-compose -f docker-compose-windriver.yml down diff --git a/windriver/docker/Dockerfile b/windriver/docker/Dockerfile index 0f26f13b..4815c3b0 100644 --- a/windriver/docker/Dockerfile +++ b/windriver/docker/Dockerfile @@ -24,7 +24,7 @@ USER root # COPY ./ /opt/windriver/ COPY ./multicloud-openstack-windriver-*.zip /opt/multicloud-openstack-windriver.zip RUN apk update && \ - apk add pcre pcre-dev uwsgi memcached wget unzip gcc make libc-dev libffi-dev openssl-dev && \ + apk add pcre pcre-dev uwsgi wget unzip gcc make libc-dev libffi-dev openssl-dev && \ cd /opt/ && \ unzip -q -o -B multicloud-openstack-windriver.zip && \ chmod +x /opt/windriver/*.sh && \ diff --git a/windriver/docker/Dockerfile4composer b/windriver/docker/Dockerfile4composer new file mode 100644 index 00000000..5d0dfc35 --- /dev/null +++ b/windriver/docker/Dockerfile4composer @@ -0,0 +1,42 @@ +# FROM python:3.8-alpine +FROM nexus3.onap.org:10001/onap/integration-python:9.1.0 + +ARG HTTP_PROXY=${HTTP_PROXY} +ARG HTTPS_PROXY=${HTTPS_PROXY} + +ENV http_proxy $HTTP_PROXY +ENV https_proxy $HTTPS_PROXY + +ENV MSB_PROTO "http" +ENV MSB_ADDR "127.0.0.1" +ENV MSB_PORT "80" +ENV AAI_ADDR "aai.api.simpledemo.openecomp.org" +ENV AAI_PORT "8443" +ENV AAI_SCHEMA_VERSION "v13" +ENV AAI_USERNAME "AAI" +ENV AAI_PASSWORD "AAI" + +EXPOSE 9005 + +# RUN addgroup -S onap && adduser -S -G onap onap +USER root + +COPY ./windriver /opt/windriver/ +COPY ./share /opt/windriver/lib/share +# COPY ./ /opt/windriver/ +# COPY ./multicloud-openstack-windriver-*.zip /opt/multicloud-openstack-windriver.zip +RUN apk update && \ + apk add pcre pcre-dev uwsgi wget unzip gcc make libc-dev libffi-dev openssl-dev && \ + cd /opt/ && \ + chmod +x /opt/windriver/*.sh && \ + pip3 install --no-cache-dir -r /opt/windriver/requirements.txt && \ + pip3 install --no-cache-dir -r /opt/windriver/uwsgi-requirements.txt && \ + apk del wget unzip gcc make libc-dev libffi-dev openssl-dev pcre-dev && \ + mkdir -p /var/log/onap/multicloud/openstack/windriver && \ + chown onap:onap /var/log/onap -R && \ + chown onap:onap /opt/windriver -R + +USER onap + +WORKDIR /opt/windriver +CMD /bin/sh -c /opt/windriver/run.sh diff --git a/windriver/run.sh b/windriver/run.sh index c65ecdf8..32a0a5bb 100644 --- a/windriver/run.sh +++ b/windriver/run.sh @@ -13,7 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -memcached -d -m 2048 -c 1024 -p 11211 -P /tmp/memcached1.pid +# memcached should be provided as sidecar to avoid GPLv3 license issue +# memcached -d -m 2048 -c 1024 -p 11211 -P /tmp/memcached1.pid export PYTHONPATH=lib/share #nohup python manage.py runserver 0.0.0.0:9005 2>&1 & diff --git a/windriver/stop.sh b/windriver/stop.sh index 882fb74d..5570eef7 100644 --- a/windriver/stop.sh +++ b/windriver/stop.sh @@ -15,4 +15,4 @@ #ps auxww | grep 'manage.py runserver 0.0.0.0:9005' | awk '{print $2}' | xargs kill -9 ps auxww |grep 'uwsgi --http :9005 --module titanium_cloud.wsgi --master' |awk '{print $2}' |xargs kill -9 -ps auxww | grep 'memcached -d -m 2048 -c 1024 -p 11211 -P /tmp/memcached1.pid' | awk '{print $2}' | xargs kill -9 +# ps auxww | grep 'memcached -d -m 2048 -c 1024 -p 11211 -P /tmp/memcached1.pid' | awk '{print $2}' | xargs kill -9 diff --git a/windriver/titanium_cloud/pub/config/log.yml b/windriver/titanium_cloud/pub/config/log.yml index 280980d0..cb61b526 100644 --- a/windriver/titanium_cloud/pub/config/log.yml +++ b/windriver/titanium_cloud/pub/config/log.yml @@ -1,31 +1,38 @@ + version: 1 disable_existing_loggers: False loggers: - titanium_cloud: - handlers: [titanium_cloud_handler] + starlingx_base: + handlers: [console_handler, file_handler] level: "DEBUG" propagate: False - newton_base: - handlers: [titanium_cloud_handler] + starlingx: + handlers: [console_handler, file_handler] level: "DEBUG" propagate: False - common: - handlers: [titanium_cloud_handler] + newton_base: + handlers: [console_handler, file_handler] level: "DEBUG" propagate: False - starlingx_base: - handlers: [titanium_cloud_handler] + common: + handlers: [console_handler, file_handler] level: "DEBUG" propagate: False + handlers: - titanium_cloud_handler: + console_handler: + level: "DEBUG" + class: "logging.StreamHandler" + formatter: "standard" + file_handler: level: "DEBUG" class: "logging.handlers.RotatingFileHandler" filename: "/var/log/onap/multicloud/openstack/windriver/titanium_cloud.log" formatter: "standard" maxBytes: 52428800 backupCount: 10 + formatters: standard: format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s" diff --git a/windriver/titanium_cloud/settings.py b/windriver/titanium_cloud/settings.py index eee2f1d6..8a4be612 100644 --- a/windriver/titanium_cloud/settings.py +++ b/windriver/titanium_cloud/settings.py @@ -80,7 +80,10 @@ STATIC_URL = '/static/' DEFAULT_MSB_PROTO = "http" DEFAULT_MSB_ADDR = "127.0.0.1" -DEFAULT_CACHE_BACKEND_LOCATION = '127.0.0.1:11211' +# DEFAULT_CACHE_BACKEND_LOCATION = '127.0.0.1:11211' +MEMCACHED_HOST = os.environ.get('MEMCACHED_HOST', '127.0.0.1') +MEMCACHED_PORT = os.environ.get('MEMCACHED_PORT', '11211') +DEFAULT_CACHE_BACKEND_LOCATION = "%s:%s" % (MEMCACHED_HOST, MEMCACHED_PORT) CACHES = { 'default': { @@ -89,6 +92,14 @@ CACHES = { } } +# [RABBITMQ] +RABBITMQ_DEFAULT_USER = os.environ.get('RABBITMQ_DEFAULT_USER', 'guest') +RABBITMQ_DEFAULT_PASS = os.environ.get('RABBITMQ_DEFAULT_PASS', 'guest') +RABBITMQ_HOST = os.environ.get('RABBITMQ_HOST', 'localhost') +RABBITMQ_PORT = os.environ.get('RABBITMQ_PORT', '5672') +RABBITMQ_URL = "amqp://%s:%s@%s:%s//" % ( + RABBITMQ_DEFAULT_USER, RABBITMQ_DEFAULT_PASS, RABBITMQ_HOST, RABBITMQ_PORT) + # [MSB] MSB_SERVICE_PROTOCOL = os.environ.get('MSB_PROTO', DEFAULT_MSB_PROTO) MSB_SERVICE_ADDR = os.environ.get('MSB_ADDR', DEFAULT_MSB_ADDR) |