Change-Id: I57a4ee39c101bdab610a6964de58eaa2653d37a3
Signed-off-by: Guillermo Calvino <guillermo.calvino@canonical.com>
Signed-off-by: Mark Beierl <mark.beierl@canonical.com>
# devops-stages/stage-build.sh
#
# devops-stages/stage-build.sh
#
ARG APT_PROXY
RUN if [ ! -z $APT_PROXY ] ; then \
ARG APT_PROXY
RUN if [ ! -z $APT_PROXY ] ; then \
python3 \
python3-all \
python3-dev \
python3 \
python3-all \
python3-dev \
+ python3-setuptools \
+ python3-pip \
+ tox
-RUN python3 -m easy_install pip==21.3.1
-RUN pip install tox==3.24.5
+ENV LC_ALL C.UTF-8
+ENV LANG C.UTF-8
db_uri = EnvironConfig(prefixes=["OSMLCM_", "OSMMON_"]).get("database_uri")
self._store = MotorStore(db_uri)
db_uri = EnvironConfig(prefixes=["OSMLCM_", "OSMMON_"]).get("database_uri")
self._store = MotorStore(db_uri)
- self.loading_libjuju = asyncio.Lock(loop=self.loop)
+ self.loading_libjuju = asyncio.Lock()
self.uninstall_locks = {}
self.log.debug("K8S Juju connector initialized")
self.uninstall_locks = {}
self.log.debug("K8S Juju connector initialized")
will_not_delete = False
if model_name not in self.uninstall_locks:
will_not_delete = False
if model_name not in self.uninstall_locks:
- self.uninstall_locks[model_name] = asyncio.Lock(loop=self.loop)
+ self.uninstall_locks[model_name] = asyncio.Lock()
delete_lock = self.uninstall_locks[model_name]
while delete_lock.locked():
delete_lock = self.uninstall_locks[model_name]
while delete_lock.locked():
self.loop = loop or asyncio.get_event_loop()
self.loop.set_exception_handler(self.handle_exception)
self.loop = loop or asyncio.get_event_loop()
self.loop.set_exception_handler(self.handle_exception)
- self.creating_model = asyncio.Lock(loop=self.loop)
+ self.creating_model = asyncio.Lock()
if self.vca_connection.is_default:
self.health_check_task = self._create_health_check_task()
if self.vca_connection.is_default:
self.health_check_task = self._create_health_check_task()
coroutine_id = ""
if include_coroutine:
try:
coroutine_id = ""
if include_coroutine:
try:
- if asyncio.Task.current_task() is not None:
+ if asyncio.current_task() is not None:
def print_cor_name(c):
import inspect
def print_cor_name(c):
import inspect
- coro = asyncio.Task.current_task()._coro
+ coro = asyncio.current_task()._coro
coroutine_id = "coro-{} {}()".format(
hex(id(coro))[2:], print_cor_name(coro)
)
coroutine_id = "coro-{} {}()".format(
hex(id(coro))[2:], print_cor_name(coro)
)
db_uri = EnvironConfig(prefixes=["OSMLCM_", "OSMMON_"]).get("database_uri")
self._store = MotorStore(db_uri)
db_uri = EnvironConfig(prefixes=["OSMLCM_", "OSMMON_"]).get("database_uri")
self._store = MotorStore(db_uri)
- self.loading_libjuju = asyncio.Lock(loop=self.loop)
+ self.loading_libjuju = asyncio.Lock()
self.delete_namespace_locks = {}
self.log.info("N2VC juju connector initialized")
self.delete_namespace_locks = {}
self.log.info("N2VC juju connector initialized")
self.log.info("Deleting namespace={}".format(namespace))
will_not_delete = False
if namespace not in self.delete_namespace_locks:
self.log.info("Deleting namespace={}".format(namespace))
will_not_delete = False
if namespace not in self.delete_namespace_locks:
- self.delete_namespace_locks[namespace] = asyncio.Lock(loop=self.loop)
+ self.delete_namespace_locks[namespace] = asyncio.Lock()
delete_lock = self.delete_namespace_locks[namespace]
while delete_lock.locked():
delete_lock = self.delete_namespace_locks[namespace]
while delete_lock.locked():
# limitations under the License.
import abc
# limitations under the License.
import abc
import typing
from motor.motor_asyncio import AsyncIOMotorClient
import typing
from motor.motor_asyncio import AsyncIOMotorClient
- def __init__(self, uri: str, loop=None):
+ def __init__(self, uri: str):
"""
Constructor
:param: uri: Connection string to connect to the database.
"""
Constructor
:param: uri: Connection string to connect to the database.
- :param: loop: Asyncio Loop
"""
self._client = AsyncIOMotorClient(uri)
"""
self._client = AsyncIOMotorClient(uri)
- self.loop = loop or asyncio.get_event_loop()
self._secret_key = None
self._config = EnvironConfig(prefixes=["OSMLCM_", "OSMMON_"])
self.encryption = Encryption(
uri=uri,
config=self._config,
encoding_type="utf-8",
self._secret_key = None
self._config = EnvironConfig(prefixes=["OSMLCM_", "OSMMON_"])
self.encryption = Encryption(
uri=uri,
config=self._config,
encoding_type="utf-8",
# aiokafka
dataclasses==0.6
# via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
# aiokafka
dataclasses==0.6
# via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
+dnspython==2.3.0
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
+ # pymongo
kafka-python==2.0.2
# via
# -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
# aiokafka
kafka-python==2.0.2
# via
# -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
# aiokafka
# via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
osm-common @ git+https://osm.etsi.org/gerrit/osm/common.git@master
# via -r requirements-dev.in
# via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
osm-common @ git+https://osm.etsi.org/gerrit/osm/common.git@master
# via -r requirements-dev.in
# via
# -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
# aiokafka
pycryptodome==3.17
# via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
# via
# -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
# aiokafka
pycryptodome==3.17
# via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
# via
# -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
# motor
# via
# -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
# motor
#######################################################################################
asynctest==0.13.0
# via -r requirements-test.in
#######################################################################################
asynctest==0.13.0
# via -r requirements-test.in
# via requests
charset-normalizer==2.1.1
# via
# -r requirements-test.in
# requests
# via requests
charset-normalizer==2.1.1
# via
# -r requirements-test.in
# requests
# via -r requirements-test.in
flake8==4.0.1
# via -r requirements-test.in
# via -r requirements-test.in
flake8==4.0.1
# via -r requirements-test.in
# via requests
mccabe==0.6.1
# via flake8
# via requests
mccabe==0.6.1
# via flake8
# via -r requirements-test.in
# via -r requirements-test.in
# via -r requirements-test.in
pycodestyle==2.8.0
# via flake8
pyflakes==2.4.0
# via flake8
# via -r requirements-test.in
pycodestyle==2.8.0
# via flake8
pyflakes==2.4.0
# via flake8
# via requests-mock
requests-mock==1.10.0
# via -r requirements-test.in
six==1.16.0
# via requests-mock
# via requests-mock
requests-mock==1.10.0
# via -r requirements-test.in
six==1.16.0
# via requests-mock
charset-normalizer<3 # Required by aiohttp in LCM
juju==3.0.0
kubernetes
charset-normalizer<3 # Required by aiohttp in LCM
juju==3.0.0
kubernetes
pyasn1
pyyaml==5.4.1
retrying-async
pyasn1
pyyaml==5.4.1
retrying-async
# via paramiko
cachetools==5.3.0
# via google-auth
# via paramiko
cachetools==5.3.0
# via google-auth
# via
# kubernetes
# requests
# via
# kubernetes
# requests
# via
# -r requirements.in
# requests
# via
# -r requirements.in
# requests
+dnspython==2.3.0
+ # via pymongo
+google-auth==2.17.3
# via kubernetes
idna==3.4
# via requests
# via kubernetes
idna==3.4
# via requests
# via -r requirements.in
jujubundlelib==0.5.7
# via theblues
# via -r requirements.in
jujubundlelib==0.5.7
# via theblues
# via
# -r requirements.in
# juju
# via
# -r requirements.in
# juju
# via typing-inspect
oauthlib==3.2.2
# via requests-oauthlib
# via typing-inspect
oauthlib==3.2.2
# via requests-oauthlib
# via juju
protobuf==3.20.3
# via macaroonbakery
# via juju
protobuf==3.20.3
# via macaroonbakery
# via
# -r requirements.in
# juju
# pyasn1-modules
# rsa
# via
# -r requirements.in
# juju
# pyasn1-modules
# rsa
# via google-auth
pycparser==2.21
# via cffi
pymacaroons==0.13.0
# via macaroonbakery
# via google-auth
pycparser==2.21
# via cffi
pymacaroons==0.13.0
# via macaroonbakery
# via motor
pynacl==1.5.0
# via
# via motor
pynacl==1.5.0
# via
# macaroonbakery
python-dateutil==2.8.2
# via kubernetes
# macaroonbakery
python-dateutil==2.8.2
# via kubernetes
# via pyrfc3339
pyyaml==5.4.1
# via
# via pyrfc3339
pyyaml==5.4.1
# via
# juju
# jujubundlelib
# kubernetes
# juju
# jujubundlelib
# kubernetes
# via
# kubernetes
# macaroonbakery
# via
# kubernetes
# macaroonbakery
# python-dateutil
theblues==0.5.2
# via juju
# python-dateutil
theblues==0.5.2
# via juju
-typing-extensions==4.4.0
+typing-extensions==4.5.0
# via typing-inspect
typing-inspect==0.8.0
# via juju
# via typing-inspect
typing-inspect==0.8.0
# via juju
# via
# kubernetes
# requests
# via
# kubernetes
# requests
# via juju
# The following packages are considered to be unsafe in a requirements file:
# via juju
# The following packages are considered to be unsafe in a requirements file:
[testenv]
usedevelop = True
[testenv]
usedevelop = True
setenv = VIRTUAL_ENV={envdir}
PYTHONDONTWRITEBYTECODE = 1
deps = -r{toxinidir}/requirements.txt
setenv = VIRTUAL_ENV={envdir}
PYTHONDONTWRITEBYTECODE = 1
deps = -r{toxinidir}/requirements.txt