Loading manifests/contextservice.yaml +2 −2 Original line number Diff line number Diff line Loading @@ -32,12 +32,12 @@ spec: - containerPort: 1010 - containerPort: 8080 env: - name: DB_ENGINE - name: DB_BACKEND value: "redis" - name: REDIS_DATABASE_ID value: "0" - name: LOG_LEVEL value: "DEBUG" value: "INFO" - name: POPULATE_FAKE_DATA value: "true" readinessProbe: Loading src/context/.gitlab-ci.yml +5 −3 Original line number Diff line number Diff line Loading @@ -30,15 +30,17 @@ unit_test context: - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi script: - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker run -d -p 1010:1010 --name $IMAGE_NAME --network=teraflowbridge "$IMAGE_NAME:$IMAGE_TAG" - docker pull "redis:6.2" - docker run -d --name $IMAGE_NAME-redis --network=teraflowbridge redis:6.2 - docker run -d --name $IMAGE_NAME --network=teraflowbridge --env "LOG_LEVEL=INFO" --env "DB_BACKEND=redis" --env "REDIS_SERVICE_HOST=$IMAGE_NAME-redis" --env "REDIS_SERVICE_PORT=6379" --env "REDIS_DATABASE_ID=0" "$IMAGE_NAME:$IMAGE_TAG" - docker ps -a - sleep 5 - docker ps -a - docker logs $IMAGE_NAME - docker exec -i $IMAGE_NAME bash -c "pytest --log-level=DEBUG --verbose $IMAGE_NAME/tests/test_unitary.py" after_script: - docker stop $IMAGE_NAME - docker rm $IMAGE_NAME - docker stop $IMAGE_NAME $IMAGE_NAME-redis - docker rm $IMAGE_NAME $IMAGE_NAME-redis rules: - changes: - src/$IMAGE_NAME/** Loading src/context/service/__main__.py +9 −9 Original line number Diff line number Diff line Loading @@ -14,14 +14,14 @@ from context.service.rest_server.Server import Server from context.service.rest_server.Resources import RESOURCES terminate = threading.Event() logger = None LOGGER = None def signal_handler(signal_, frame): logger.warning('Terminate signal received') LOGGER.warning('Terminate signal received') terminate.set() def main(): global logger # pylint: disable=global-statement global LOGGER # pylint: disable=global-statement grpc_service_port = get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC', default=GRPC_SERVICE_PORT ) max_workers = get_setting('MAX_WORKERS', default=GRPC_MAX_WORKERS ) Loading @@ -34,12 +34,12 @@ def main(): if isinstance(populate_fake_data, str): populate_fake_data = (populate_fake_data.upper() in {'T', '1', 'TRUE'}) logging.basicConfig(level=log_level) logger = logging.getLogger(__name__) LOGGER = logging.getLogger(__name__) signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) logger.info('Starting...') LOGGER.info('Starting...') # Start metrics server start_http_server(metrics_port) Loading @@ -61,19 +61,19 @@ def main(): rest_server.start() if populate_fake_data: logger.info('Populating fake data...') LOGGER.info('Populating fake data...') populate('127.0.0.1', grpc_service_port) logger.info('Fake Data populated') LOGGER.info('Fake Data populated') # Wait for Ctrl+C or termination signal while not terminate.wait(timeout=0.1): pass logger.info('Terminating...') LOGGER.info('Terminating...') grpc_service.stop() rest_server.shutdown() rest_server.join() logger.info('Bye') LOGGER.info('Bye') return 0 if __name__ == '__main__': Loading src/context/tests/test_unitary.py +8 −4 Original line number Diff line number Diff line import copy, grpc, logging, pytest, requests, threading, time, urllib import copy, grpc, logging, os, pytest, requests, threading, time, urllib from queue import Queue from typing import Tuple from common.Constants import DEFAULT_CONTEXT_UUID, DEFAULT_TOPOLOGY_UUID Loading Loading @@ -34,10 +34,14 @@ LOGGER.setLevel(logging.DEBUG) GRPC_PORT = 10000 + GRPC_SERVICE_PORT # avoid privileged ports RESTAPI_PORT = 10000 + RESTAPI_SERVICE_PORT # avoid privileged ports DEFAULT_REDIS_SERVICE_HOST = '127.0.0.1' DEFAULT_REDIS_SERVICE_PORT = 6379 DEFAULT_REDIS_DATABASE_ID = 0 REDIS_CONFIG = { 'REDIS_SERVICE_HOST': '10.1.7.194', 'REDIS_SERVICE_PORT': 30283, 'REDIS_DATABASE_ID': 0, 'REDIS_SERVICE_HOST': os.environ.get('REDIS_SERVICE_HOST', DEFAULT_REDIS_SERVICE_HOST), 'REDIS_SERVICE_PORT': os.environ.get('REDIS_SERVICE_PORT', DEFAULT_REDIS_SERVICE_PORT), 'REDIS_DATABASE_ID' : os.environ.get('REDIS_DATABASE_ID', DEFAULT_REDIS_DATABASE_ID ), } SCENARIOS = [ Loading Loading
manifests/contextservice.yaml +2 −2 Original line number Diff line number Diff line Loading @@ -32,12 +32,12 @@ spec: - containerPort: 1010 - containerPort: 8080 env: - name: DB_ENGINE - name: DB_BACKEND value: "redis" - name: REDIS_DATABASE_ID value: "0" - name: LOG_LEVEL value: "DEBUG" value: "INFO" - name: POPULATE_FAKE_DATA value: "true" readinessProbe: Loading
src/context/.gitlab-ci.yml +5 −3 Original line number Diff line number Diff line Loading @@ -30,15 +30,17 @@ unit_test context: - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi script: - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker run -d -p 1010:1010 --name $IMAGE_NAME --network=teraflowbridge "$IMAGE_NAME:$IMAGE_TAG" - docker pull "redis:6.2" - docker run -d --name $IMAGE_NAME-redis --network=teraflowbridge redis:6.2 - docker run -d --name $IMAGE_NAME --network=teraflowbridge --env "LOG_LEVEL=INFO" --env "DB_BACKEND=redis" --env "REDIS_SERVICE_HOST=$IMAGE_NAME-redis" --env "REDIS_SERVICE_PORT=6379" --env "REDIS_DATABASE_ID=0" "$IMAGE_NAME:$IMAGE_TAG" - docker ps -a - sleep 5 - docker ps -a - docker logs $IMAGE_NAME - docker exec -i $IMAGE_NAME bash -c "pytest --log-level=DEBUG --verbose $IMAGE_NAME/tests/test_unitary.py" after_script: - docker stop $IMAGE_NAME - docker rm $IMAGE_NAME - docker stop $IMAGE_NAME $IMAGE_NAME-redis - docker rm $IMAGE_NAME $IMAGE_NAME-redis rules: - changes: - src/$IMAGE_NAME/** Loading
src/context/service/__main__.py +9 −9 Original line number Diff line number Diff line Loading @@ -14,14 +14,14 @@ from context.service.rest_server.Server import Server from context.service.rest_server.Resources import RESOURCES terminate = threading.Event() logger = None LOGGER = None def signal_handler(signal_, frame): logger.warning('Terminate signal received') LOGGER.warning('Terminate signal received') terminate.set() def main(): global logger # pylint: disable=global-statement global LOGGER # pylint: disable=global-statement grpc_service_port = get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC', default=GRPC_SERVICE_PORT ) max_workers = get_setting('MAX_WORKERS', default=GRPC_MAX_WORKERS ) Loading @@ -34,12 +34,12 @@ def main(): if isinstance(populate_fake_data, str): populate_fake_data = (populate_fake_data.upper() in {'T', '1', 'TRUE'}) logging.basicConfig(level=log_level) logger = logging.getLogger(__name__) LOGGER = logging.getLogger(__name__) signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) logger.info('Starting...') LOGGER.info('Starting...') # Start metrics server start_http_server(metrics_port) Loading @@ -61,19 +61,19 @@ def main(): rest_server.start() if populate_fake_data: logger.info('Populating fake data...') LOGGER.info('Populating fake data...') populate('127.0.0.1', grpc_service_port) logger.info('Fake Data populated') LOGGER.info('Fake Data populated') # Wait for Ctrl+C or termination signal while not terminate.wait(timeout=0.1): pass logger.info('Terminating...') LOGGER.info('Terminating...') grpc_service.stop() rest_server.shutdown() rest_server.join() logger.info('Bye') LOGGER.info('Bye') return 0 if __name__ == '__main__': Loading
src/context/tests/test_unitary.py +8 −4 Original line number Diff line number Diff line import copy, grpc, logging, pytest, requests, threading, time, urllib import copy, grpc, logging, os, pytest, requests, threading, time, urllib from queue import Queue from typing import Tuple from common.Constants import DEFAULT_CONTEXT_UUID, DEFAULT_TOPOLOGY_UUID Loading Loading @@ -34,10 +34,14 @@ LOGGER.setLevel(logging.DEBUG) GRPC_PORT = 10000 + GRPC_SERVICE_PORT # avoid privileged ports RESTAPI_PORT = 10000 + RESTAPI_SERVICE_PORT # avoid privileged ports DEFAULT_REDIS_SERVICE_HOST = '127.0.0.1' DEFAULT_REDIS_SERVICE_PORT = 6379 DEFAULT_REDIS_DATABASE_ID = 0 REDIS_CONFIG = { 'REDIS_SERVICE_HOST': '10.1.7.194', 'REDIS_SERVICE_PORT': 30283, 'REDIS_DATABASE_ID': 0, 'REDIS_SERVICE_HOST': os.environ.get('REDIS_SERVICE_HOST', DEFAULT_REDIS_SERVICE_HOST), 'REDIS_SERVICE_PORT': os.environ.get('REDIS_SERVICE_PORT', DEFAULT_REDIS_SERVICE_PORT), 'REDIS_DATABASE_ID' : os.environ.get('REDIS_DATABASE_ID', DEFAULT_REDIS_DATABASE_ID ), } SCENARIOS = [ Loading