From a3b2aa53f397021a2e38aa95983c02b0952195b8 Mon Sep 17 00:00:00 2001 From: Dmitry Volodin Date: Wed, 22 Apr 2020 09:48:16 +0300 Subject: [PATCH 01/13] Unified requirements.txt --- .gitignore | 6 +- Dockerfile | 45 ++++++++++++++ requirements.txt | 90 +++++++++++++++++++++++++++ scripts/build/get-noc-requirements.py | 46 ++++++++++++++ scripts/build/setup-docker-context | 18 ++++++ 5 files changed, 200 insertions(+), 5 deletions(-) create mode 100644 Dockerfile create mode 100644 requirements.txt create mode 100644 scripts/build/get-noc-requirements.py create mode 100755 scripts/build/setup-docker-context diff --git a/.gitignore b/.gitignore index 40bc0fc65f..d52997c747 100644 --- a/.gitignore +++ b/.gitignore @@ -12,10 +12,6 @@ include/* lib/python* lib64 local/* -static/doc/* -contrib/lib/* -contrib/bin/* -contrib/share/* .* !/.docker/* !/.gitignore @@ -25,9 +21,9 @@ contrib/share/* !/.pylintrc !/.coveragerc !/.prettierrc +!/scripts/build/ ext_* etc/requirements/local.txt -static/pkg/ share/ static/test/ pip-selfcheck.json diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..6ebb216f90 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,45 @@ +# Base layer containing system packages and requirements +FROM alpine:3.12 AS base +ENV\ + DJANGO_SETTINGS_MODULE=noc.settings \ + NOC_THREAD_STACK_SIZE=524288 \ + NOC_PYTHON_INTERPRETER=/usr/bin/python3 \ + PYTHONPATH=/opt/noc:/opt:/usr/bin/python3.8 \ + PROJ_DIR=/usr +ADD thin.tgz / +RUN\ + apk add --no-cache \ + python3 \ + libffi \ + libpq \ + snappy \ + cyrus-sasl \ + ca-certificates \ + tzdata \ + git \ + zlib \ + proj \ + && apk add --virtual .build-dependencies --no-cache \ + build-base \ + python3-dev \ + libffi-dev \ + postgresql-dev \ + snappy-dev \ + zlib-dev \ + autoconf \ + automake \ + libtool \ + m4 \ + cyrus-sasl-dev \ + cmake \ + proj-util \ + proj-dev \ + && chmod a+x /usr/bin/get-noc-requirements \ + && /usr/bin/python3 -m ensurepip --upgrade \ + && /usr/bin/pip3 install --upgrade pip wheel \ + && (/usr/bin/get-noc-requirements activator dev test cython | /usr/bin/pip3 install -r /dev/stdin )\ + && /usr/bin/cythonize -i /opt/noc/speedup/*.pyx \ + && /usr/bin/pip3 uninstall -y Cython \ + && rm /requirements.txt \ + && apk del .build-dependencies \ + && rm -rf /var/cache/apk/* /root/.cache/ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000..8a9ad2ea70 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,90 @@ +# ---------------------------------------------------------------------- +# NOC Python requirements +# Following extras can be set: +# * activator +# * dev +# * login-ldap +# * login-pam +# * login-radius +# * notifier +# * supervisor +# * prod-tools +# * testing +# * classifier +# ---------------------------------------------------------------------- +# Copyright (C) 2007-2020 The NOC Project +# See LICENSE for details +# ---------------------------------------------------------------------- + +# Basic node requirements +Django==3.0.6 +Jinja2==2.8 +PyYAML==5.3.1 +Pygments==2.2.0 +XlsxWriter==0.9.3 +atomicl==0.1.1 +blinker==1.3 +bsdiff4==1.1.9 +cachetools==4.1.0 +crontab==0.22.6 +csiphash==0.0.5 +demjson==2.2.4 +fs==2.4.11 +future==0.17.1 +geojson==2.5.0 +geopy==0.97 +hiredis==1.0.1 +http-parser==0.9.0 +jsonschema==2.4.0 +manhole==1.6.0 +markerlib==0.6.0 +mistune==0.5 +mongoengine==0.20.0 +networkx==2.4 +numpy==1.18.3 +progressbar2==3.51.0 +psycopg2==2.8.5 +pymongo==3.10.1 +git+https://github.com/ploxiln/pynsq.git@a9f9a75eaec62904f06d497397d1b019cdb9581a +pyproj==2.6.0 +python-consul==1.1.0 +python-creole==1.3.2 +python-dateutil==2.4.0 +pytz==2020.1 +redis==3.5.2 +requests==2.20.0 +setproctitle==1.1.10 +tornadis==0.8.1 +tornado==6.0.4 +ujson-x==1.37 +yappi==1.2.5 +# Activator requirements +ssh2-python==0.18.0.post1; extra == "activator" +# Dev requirements +Babel==2.3.4; extra == "dev" +ipython==7.14.0; extra == "dev" +pojson==0.6; extra == "dev" +# Login LDAP +ldap3==2.6.1; extra == "login-ldap" +# Login PAM +pam==0.1.4; extra == "login-pam" +# Login RADIUS +pyrad==2.0; extra == "login-radius" +# Classifier +bitarray==0.8.1; extra == "classifier" +# Notifier +sleekxmpp==1.1.11; extra == "notifier" +# Standalone node with supervisor +supervisor==4.1.0; extra == "supervisor" +supervisor-serialrestart==0.1.1; extra == "supervisor" +# Additional prod tools +alerta==4.7.16; extra == "prod-tools" +raven==6.1.0; extra == "prod-tools" +supervisor-wildcards==0.1.3; extra == "prod-tools" +# Test +Coverage[toml]==5.0.3; extra == "testing" +pytest==5.4.1; extra == "testing" +pytest-assume==2.2.1; extra == "testing" +pytest-dependency==0.5.1; extra == "testing" +# Cython +Cython==0.29.20; extra == "cython" diff --git a/scripts/build/get-noc-requirements.py b/scripts/build/get-noc-requirements.py new file mode 100644 index 0000000000..fb328bb3fd --- /dev/null +++ b/scripts/build/get-noc-requirements.py @@ -0,0 +1,46 @@ +#!/usr/bin/python3 +# ---------------------------------------------------------------------- +# Dump requirements for given extras +# ---------------------------------------------------------------------- +# Copyright (C) 2007-2020 The NOC Project +# See LICENSE for details +# ---------------------------------------------------------------------- + +# Python modules +import sys +import re + +REQUIREMENTS = "requirements.txt" + +rx_extra = re.compile(r"extra\s*==\s*\"([^\"]+)\"") + + +def is_matched(req_extra, extras): + if extras == "--all": + return True + return req_extra in extras + + +def main(extras): + with open(REQUIREMENTS) as f: + for line in f: + line = line.strip() + if not line: + continue + if not line.startswith("#") and ";" in line: + req, env = line.split(";", 1) + match = rx_extra.search(env) + if match: + req_extra = match.group(1).strip() + if is_matched(req_extra, extras): + new_env = (env[: match.start()] + env[match.end() :]).strip() + if new_env: + print("%s;%s" % (req, new_env)) + else: + print(req) + continue + print(line) + + +if __name__ == "__main__": + main(sys.argv[1:]) diff --git a/scripts/build/setup-docker-context b/scripts/build/setup-docker-context new file mode 100755 index 0000000000..f007a3306a --- /dev/null +++ b/scripts/build/setup-docker-context @@ -0,0 +1,18 @@ +#!/bin/sh +set -x +CTX=build/docker +mkdir -p $CTX +cp Dockerfile $CTX +# Prepare thin context +ROOT=$CTX/thin +echo "Preparing thin context at $ROOT" +rm -r $ROOT +mkdir -p $ROOT +mkdir -p $ROOT/usr/bin +mkdir -p $ROOT/opt/noc/speedup +cp requirements.txt $ROOT +cp scripts/build/get-noc-requirements.py $ROOT/usr/bin/get-noc-requirements +chmod a+x $ROOT/usr/bin/get-noc-requirements +cp speedup/*.pyx $ROOT/opt/noc/speedup +(cd $ROOT && tar cfz ../thin.tgz .) +rm -r $ROOT \ No newline at end of file -- GitLab From 751019383299dffe8d66bf2d5c2551009c615f73 Mon Sep 17 00:00:00 2001 From: EKbfh Date: Thu, 2 Jul 2020 13:27:22 +0300 Subject: [PATCH 02/13] Add exec bit --- scripts/build/get-noc-requirements.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/build/get-noc-requirements.py diff --git a/scripts/build/get-noc-requirements.py b/scripts/build/get-noc-requirements.py old mode 100644 new mode 100755 -- GitLab From d859c64c812988cb74f7c5bec6683473914a6f42 Mon Sep 17 00:00:00 2001 From: EKbfh Date: Thu, 2 Jul 2020 13:30:55 +0300 Subject: [PATCH 03/13] SHebang to local python --- scripts/build/get-noc-requirements.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build/get-noc-requirements.py b/scripts/build/get-noc-requirements.py index fb328bb3fd..540b241a8a 100755 --- a/scripts/build/get-noc-requirements.py +++ b/scripts/build/get-noc-requirements.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!./bin/python # ---------------------------------------------------------------------- # Dump requirements for given extras # ---------------------------------------------------------------------- -- GitLab From 8934181f340c1f77a5ae930cafd4d3bc9f718eca Mon Sep 17 00:00:00 2001 From: EKbfh Date: Thu, 2 Jul 2020 20:51:40 +0300 Subject: [PATCH 04/13] Don't print lines with `#` --- scripts/build/get-noc-requirements.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/build/get-noc-requirements.py b/scripts/build/get-noc-requirements.py index 540b241a8a..a256f9564a 100755 --- a/scripts/build/get-noc-requirements.py +++ b/scripts/build/get-noc-requirements.py @@ -39,7 +39,8 @@ def main(extras): else: print(req) continue - print(line) + if not line.startswith("#"): + print(line) if __name__ == "__main__": -- GitLab From a1048ff5d9013ba94676b1822f6f94d59ef2b460 Mon Sep 17 00:00:00 2001 From: EKbfh Date: Thu, 2 Jul 2020 22:47:38 +0300 Subject: [PATCH 05/13] Remove notifier requirements --- requirements.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index 8a9ad2ea70..face6c89d5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,6 @@ # * login-ldap # * login-pam # * login-radius -# * notifier # * supervisor # * prod-tools # * testing @@ -72,8 +71,6 @@ pam==0.1.4; extra == "login-pam" pyrad==2.0; extra == "login-radius" # Classifier bitarray==0.8.1; extra == "classifier" -# Notifier -sleekxmpp==1.1.11; extra == "notifier" # Standalone node with supervisor supervisor==4.1.0; extra == "supervisor" supervisor-serialrestart==0.1.1; extra == "supervisor" -- GitLab From 4c0400e705122a02aa255a132f6f00913e9414fd Mon Sep 17 00:00:00 2001 From: EKbfh Date: Thu, 2 Jul 2020 22:51:19 +0300 Subject: [PATCH 06/13] Resort list --- requirements.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index face6c89d5..4fc31a84b1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,7 @@ # NOC Python requirements # Following extras can be set: # * activator +# * classifier # * dev # * login-ldap # * login-pam @@ -9,7 +10,7 @@ # * supervisor # * prod-tools # * testing -# * classifier + # ---------------------------------------------------------------------- # Copyright (C) 2007-2020 The NOC Project # See LICENSE for details @@ -59,6 +60,8 @@ ujson-x==1.37 yappi==1.2.5 # Activator requirements ssh2-python==0.18.0.post1; extra == "activator" +# Classifier +bitarray==0.8.1; extra == "classifier" # Dev requirements Babel==2.3.4; extra == "dev" ipython==7.14.0; extra == "dev" @@ -69,8 +72,6 @@ ldap3==2.6.1; extra == "login-ldap" pam==0.1.4; extra == "login-pam" # Login RADIUS pyrad==2.0; extra == "login-radius" -# Classifier -bitarray==0.8.1; extra == "classifier" # Standalone node with supervisor supervisor==4.1.0; extra == "supervisor" supervisor-serialrestart==0.1.1; extra == "supervisor" -- GitLab From f4fd55735e0fcfa613368b7145e6abe4207f7f82 Mon Sep 17 00:00:00 2001 From: EKbfh Date: Fri, 3 Jul 2020 01:04:33 +0300 Subject: [PATCH 07/13] Add cython to list --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 4fc31a84b1..51a40b72f2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,6 +3,7 @@ # Following extras can be set: # * activator # * classifier +# * cython # * dev # * login-ldap # * login-pam -- GitLab From 290f08df14f6added7310e5f58a6760780e15447 Mon Sep 17 00:00:00 2001 From: EKbfh Date: Fri, 3 Jul 2020 16:08:17 +0300 Subject: [PATCH 08/13] Delete old requirements --- requirements/activator.txt | 1 - requirements/classifier.txt | 2 -- requirements/dev.txt | 4 --- requirements/docker.txt | 48 ----------------------------------- requirements/login-ldap.txt | 1 - requirements/login-pam.txt | 2 -- requirements/login-radius.txt | 1 - requirements/node.txt | 47 ---------------------------------- requirements/notebook.txt | 1 - requirements/notifier.txt | 1 - requirements/prod.txt | 3 --- requirements/test.txt | 4 --- requirements/web.txt | 1 - 13 files changed, 116 deletions(-) delete mode 100644 requirements/activator.txt delete mode 100644 requirements/classifier.txt delete mode 100644 requirements/dev.txt delete mode 100644 requirements/docker.txt delete mode 100644 requirements/login-ldap.txt delete mode 100644 requirements/login-pam.txt delete mode 100644 requirements/login-radius.txt delete mode 100644 requirements/node.txt delete mode 100644 requirements/notebook.txt delete mode 100644 requirements/notifier.txt delete mode 100644 requirements/prod.txt delete mode 100644 requirements/test.txt delete mode 100644 requirements/web.txt diff --git a/requirements/activator.txt b/requirements/activator.txt deleted file mode 100644 index f4105cee6a..0000000000 --- a/requirements/activator.txt +++ /dev/null @@ -1 +0,0 @@ -ssh2-python==0.18.0.post1 diff --git a/requirements/classifier.txt b/requirements/classifier.txt deleted file mode 100644 index 35d412b044..0000000000 --- a/requirements/classifier.txt +++ /dev/null @@ -1,2 +0,0 @@ -esmre==0.3.1;python_version<="2.7" -bitarray==0.8.1 diff --git a/requirements/dev.txt b/requirements/dev.txt deleted file mode 100644 index b975206d3a..0000000000 --- a/requirements/dev.txt +++ /dev/null @@ -1,4 +0,0 @@ -ipython==7.14.0 -Babel==2.3.4 -pojson==0.6 - diff --git a/requirements/docker.txt b/requirements/docker.txt deleted file mode 100644 index 0608cb795a..0000000000 --- a/requirements/docker.txt +++ /dev/null @@ -1,48 +0,0 @@ -ssh2-python==0.18.0.post1 -pylibmc==1.5.1 -ldap3==2.6.1 -pyrad==2.0 -atomicl==0.1.1 -bsdiff4==1.1.9 -csiphash==0.0.5 -http-parser==0.9.0 -psycopg2==2.8.5 -pymongo==3.10.1 -geopy==0.97 -geojson==2.5.0 -Django==3.0.5 -blinker==1.3 -Jinja2==2.8 -jsonschema==2.4.0 -git+https://github.com/ploxiln/pynsq.git@a9f9a75eaec62904f06d497397d1b019cdb9581a -pyproj==2.6.0 -python-creole==1.3.2 -pytz>=2014.4 -python-consul==1.1.0 -python-dateutil==2.4.0 -progressbar2==3.51.0 -manhole>=1.3.0 -mistune==0.5 -mongoengine==0.20.0 -networkx==2.2 -numpy==1.18.3 -requests==2.20.0 -cachetools==4.1.0 -Pygments==2.2.0 -markerlib>=0.6.0 -PyYAML>=3.11 -setproctitle>=1.1.9 -ujson-x==1.37 -yappi==1.2.5 -XlsxWriter==0.9.3 -sleekxmpp==1.1.11 -raven==6.0.0 -argparse>=1.4.0 -demjson==2.2.4 -crontab==0.22.6 -fs==2.4.11 -tornado==6.0.4 -tornadis==0.8.1 -typing==3.7.4.1 -hiredis==1.0.1 -redis==3.5.2 diff --git a/requirements/login-ldap.txt b/requirements/login-ldap.txt deleted file mode 100644 index d8a192af48..0000000000 --- a/requirements/login-ldap.txt +++ /dev/null @@ -1 +0,0 @@ -ldap3==2.6.1 diff --git a/requirements/login-pam.txt b/requirements/login-pam.txt deleted file mode 100644 index 5ed584a68a..0000000000 --- a/requirements/login-pam.txt +++ /dev/null @@ -1,2 +0,0 @@ -pam==0.1.4 - diff --git a/requirements/login-radius.txt b/requirements/login-radius.txt deleted file mode 100644 index 5086613808..0000000000 --- a/requirements/login-radius.txt +++ /dev/null @@ -1 +0,0 @@ -pyrad==2.0 diff --git a/requirements/node.txt b/requirements/node.txt deleted file mode 100644 index 8c3be13dc5..0000000000 --- a/requirements/node.txt +++ /dev/null @@ -1,47 +0,0 @@ -atomicl==0.1.1 -bsdiff4==1.1.9 -csiphash==0.0.5 -http-parser==0.9.0 -psycopg2==2.8.5 -pymongo==3.10.1 -geopy==0.97 -geojson==2.5.0 -Cython>=0.24 -Django==3.0.6 -blinker==1.3 -Jinja2==2.8 -jsonschema==2.4.0 -git+https://github.com/ploxiln/pynsq.git@a9f9a75eaec62904f06d497397d1b019cdb9581a -pyproj==2.6.0 -python-creole==1.3.2 -pytz>=2014.4 -python-consul==1.1.0 -python-dateutil==2.4.0 -progressbar2==3.51.0 -manhole>=1.3.0 -mistune==0.5 -mongoengine==0.20.0 -networkx==2.4 -numpy==1.18.3 -tornado==6.0.4 -typing==3.7.4.1 -requests==2.20.0 -supervisor==4.1.0 -supervisor-serialrestart==0.1.1 -cachetools==4.1.0 -Pygments==2.2.0 -markerlib>=0.6.0 -distribute>=0.7.3;python_version<="2.7" -PyYAML>=3.11 -setproctitle>=1.1.9 -ujson-x==1.37 -yappi==1.2.5 -XlsxWriter==0.9.3 -pylibmc==1.5.1 -demjson==2.2.4 -crontab==0.22.6 -fs==2.4.11 -tornadis==0.8.1 -hiredis==1.0.1 -redis==3.5.2 -future==0.17.1 diff --git a/requirements/notebook.txt b/requirements/notebook.txt deleted file mode 100644 index 64b2fccc7d..0000000000 --- a/requirements/notebook.txt +++ /dev/null @@ -1 +0,0 @@ -jupyter==1.0.0 diff --git a/requirements/notifier.txt b/requirements/notifier.txt deleted file mode 100644 index 11d53e8956..0000000000 --- a/requirements/notifier.txt +++ /dev/null @@ -1 +0,0 @@ -sleekxmpp==1.1.11 diff --git a/requirements/prod.txt b/requirements/prod.txt deleted file mode 100644 index 8f61e7bce5..0000000000 --- a/requirements/prod.txt +++ /dev/null @@ -1,3 +0,0 @@ -alerta==4.7.16 -raven==6.1.0 -supervisor-wildcards==0.1.3 \ No newline at end of file diff --git a/requirements/test.txt b/requirements/test.txt deleted file mode 100644 index 40c3b12eda..0000000000 --- a/requirements/test.txt +++ /dev/null @@ -1,4 +0,0 @@ -Coverage[toml]==5.1 -pytest==5.4.1 -pytest-assume==2.2.1 -pytest-dependency==0.5.1 diff --git a/requirements/web.txt b/requirements/web.txt deleted file mode 100644 index 8b13789179..0000000000 --- a/requirements/web.txt +++ /dev/null @@ -1 +0,0 @@ - -- GitLab From f4b4a12f846bd9c0dcc4b45038564b90f10d7488 Mon Sep 17 00:00:00 2001 From: EKbfh Date: Fri, 3 Jul 2020 20:44:44 +0300 Subject: [PATCH 09/13] Try to fix py.test --- .docker/Dockerfile.build | 7 ++----- scripts/build/get-noc-requirements.py | 2 +- .../{setup-docker-context => setup-docker-context.sh} | 0 3 files changed, 3 insertions(+), 6 deletions(-) rename scripts/build/{setup-docker-context => setup-docker-context.sh} (100%) diff --git a/.docker/Dockerfile.build b/.docker/Dockerfile.build index ed63a84c87..d033cce30e 100644 --- a/.docker/Dockerfile.build +++ b/.docker/Dockerfile.build @@ -9,9 +9,6 @@ ENV\ NOC_THREAD_STACK_SIZE=524288 \ NOC_PYTHON_INTERPRETER=/usr/bin/python3 -COPY requirements/docker.txt /opt/noc/requirements/docker.txt -COPY requirements/test.txt /opt/noc/requirements/test.txt - RUN apk add --update --no-cache \ ca-certificates \ libpq \ @@ -37,8 +34,8 @@ RUN apk add --no-cache --virtual .build-deps \ cmake \ proj-util \ proj-dev -RUN pip3 install --src=/tmp/src --no-cache --upgrade -r /opt/noc/requirements/docker.txt \ - && pip3 install --src=/tmp/src --no-cache --upgrade -r /opt/noc/requirements/test.txt + +RUN ./scripts/build/get-noc-requirements.py docker test | pip3 install --src=/tmp/src --no-cache --upgrade -r /dev/stdin RUN pip3 install cython diff --git a/scripts/build/get-noc-requirements.py b/scripts/build/get-noc-requirements.py index a256f9564a..68c1ee178e 100755 --- a/scripts/build/get-noc-requirements.py +++ b/scripts/build/get-noc-requirements.py @@ -1,4 +1,4 @@ -#!./bin/python +#!/usr/bin/env python3 # ---------------------------------------------------------------------- # Dump requirements for given extras # ---------------------------------------------------------------------- diff --git a/scripts/build/setup-docker-context b/scripts/build/setup-docker-context.sh similarity index 100% rename from scripts/build/setup-docker-context rename to scripts/build/setup-docker-context.sh -- GitLab From c2f4de18fc15bd5e07030a343cd5e0eb8913fefb Mon Sep 17 00:00:00 2001 From: EKbfh Date: Fri, 3 Jul 2020 22:10:54 +0300 Subject: [PATCH 10/13] Try to fix py.test --- .docker/Dockerfile.build | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.docker/Dockerfile.build b/.docker/Dockerfile.build index d033cce30e..f04e76bd73 100644 --- a/.docker/Dockerfile.build +++ b/.docker/Dockerfile.build @@ -35,6 +35,8 @@ RUN apk add --no-cache --virtual .build-deps \ proj-util \ proj-dev +COPY requirements.txt /opt/noc/requirements.txt +COPY scripts/build/get-noc-requirements.py /opt/noc/scripts/build/get-noc-requirements.py RUN ./scripts/build/get-noc-requirements.py docker test | pip3 install --src=/tmp/src --no-cache --upgrade -r /dev/stdin RUN pip3 install cython -- GitLab From 8cbdcb93383b3e5311e9ff639c290ba787340a60 Mon Sep 17 00:00:00 2001 From: EKbfh Date: Fri, 3 Jul 2020 22:32:00 +0300 Subject: [PATCH 11/13] Try to fix py.test --- .docker/Dockerfile.build | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.docker/Dockerfile.build b/.docker/Dockerfile.build index f04e76bd73..9cd4389a0f 100644 --- a/.docker/Dockerfile.build +++ b/.docker/Dockerfile.build @@ -37,7 +37,9 @@ RUN apk add --no-cache --virtual .build-deps \ COPY requirements.txt /opt/noc/requirements.txt COPY scripts/build/get-noc-requirements.py /opt/noc/scripts/build/get-noc-requirements.py -RUN ./scripts/build/get-noc-requirements.py docker test | pip3 install --src=/tmp/src --no-cache --upgrade -r /dev/stdin +RUN ./scripts/build/get-noc-requirements.py \ + testing activator classifier login-ldap login-radius prod-tools \ + | pip3 install --src=/tmp/src --no-cache --upgrade -r /dev/stdin RUN pip3 install cython -- GitLab From 39522881a12dd58fce0b24557826bbc337e05359 Mon Sep 17 00:00:00 2001 From: EKbfh Date: Tue, 7 Jul 2020 11:18:14 +0300 Subject: [PATCH 12/13] Add memcached lib back for a while --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 51a40b72f2..beafa6e0ad 100644 --- a/requirements.txt +++ b/requirements.txt @@ -45,6 +45,7 @@ networkx==2.4 numpy==1.18.3 progressbar2==3.51.0 psycopg2==2.8.5 +pylibmc==1.5.1 pymongo==3.10.1 git+https://github.com/ploxiln/pynsq.git@a9f9a75eaec62904f06d497397d1b019cdb9581a pyproj==2.6.0 -- GitLab From 5bdf1b61f368fbbc0701e3975f2f45b5fd08a67f Mon Sep 17 00:00:00 2001 From: EKbfh Date: Wed, 15 Jul 2020 11:26:54 +0300 Subject: [PATCH 13/13] Move cache libs to separate places --- .docker/Dockerfile.build | 2 +- requirements.txt | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.docker/Dockerfile.build b/.docker/Dockerfile.build index 9cd4389a0f..c9dff0b7df 100644 --- a/.docker/Dockerfile.build +++ b/.docker/Dockerfile.build @@ -38,7 +38,7 @@ RUN apk add --no-cache --virtual .build-deps \ COPY requirements.txt /opt/noc/requirements.txt COPY scripts/build/get-noc-requirements.py /opt/noc/scripts/build/get-noc-requirements.py RUN ./scripts/build/get-noc-requirements.py \ - testing activator classifier login-ldap login-radius prod-tools \ + testing activator classifier login-ldap login-radius prod-tools cache-redis cache-memcached \ | pip3 install --src=/tmp/src --no-cache --upgrade -r /dev/stdin RUN pip3 install cython diff --git a/requirements.txt b/requirements.txt index beafa6e0ad..0d68681388 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,14 +2,16 @@ # NOC Python requirements # Following extras can be set: # * activator +# * cache-redis +# * cache-memcached # * classifier # * cython # * dev # * login-ldap # * login-pam # * login-radius -# * supervisor # * prod-tools +# * supervisor # * testing # ---------------------------------------------------------------------- @@ -34,7 +36,6 @@ fs==2.4.11 future==0.17.1 geojson==2.5.0 geopy==0.97 -hiredis==1.0.1 http-parser==0.9.0 jsonschema==2.4.0 manhole==1.6.0 @@ -45,7 +46,6 @@ networkx==2.4 numpy==1.18.3 progressbar2==3.51.0 psycopg2==2.8.5 -pylibmc==1.5.1 pymongo==3.10.1 git+https://github.com/ploxiln/pynsq.git@a9f9a75eaec62904f06d497397d1b019cdb9581a pyproj==2.6.0 @@ -53,7 +53,6 @@ python-consul==1.1.0 python-creole==1.3.2 python-dateutil==2.4.0 pytz==2020.1 -redis==3.5.2 requests==2.20.0 setproctitle==1.1.10 tornadis==0.8.1 @@ -64,6 +63,11 @@ yappi==1.2.5 ssh2-python==0.18.0.post1; extra == "activator" # Classifier bitarray==0.8.1; extra == "classifier" +# Cache-Redis +hiredis==1.0.1; extra == "cache-redis" +redis==3.5.2; extra == "cache-redis" +# Cache-Memcached +pylibmc==1.5.1; extra == "cache-memcached" # Dev requirements Babel==2.3.4; extra == "dev" ipython==7.14.0; extra == "dev" -- GitLab