Skip to content
Snippets Groups Projects
Commit ad689eb4 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Integration corrections

- Adapt component and unitary tests to support configuration environment variables
parent f7b5ea1a
No related branches found
No related tags found
1 merge request!54Release 2.0.0
...@@ -32,12 +32,12 @@ spec: ...@@ -32,12 +32,12 @@ spec:
- containerPort: 1010 - containerPort: 1010
- containerPort: 8080 - containerPort: 8080
env: env:
- name: DB_ENGINE - name: DB_BACKEND
value: "redis" value: "redis"
- name: REDIS_DATABASE_ID - name: REDIS_DATABASE_ID
value: "0" value: "0"
- name: LOG_LEVEL - name: LOG_LEVEL
value: "DEBUG" value: "INFO"
- name: POPULATE_FAKE_DATA - name: POPULATE_FAKE_DATA
value: "true" value: "true"
readinessProbe: readinessProbe:
......
...@@ -30,15 +30,17 @@ unit_test context: ...@@ -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 - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi
script: script:
- docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - 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 - docker ps -a
- sleep 5 - sleep 5
- docker ps -a - docker ps -a
- docker logs $IMAGE_NAME - docker logs $IMAGE_NAME
- docker exec -i $IMAGE_NAME bash -c "pytest --log-level=DEBUG --verbose $IMAGE_NAME/tests/test_unitary.py" - docker exec -i $IMAGE_NAME bash -c "pytest --log-level=DEBUG --verbose $IMAGE_NAME/tests/test_unitary.py"
after_script: after_script:
- docker stop $IMAGE_NAME - docker stop $IMAGE_NAME $IMAGE_NAME-redis
- docker rm $IMAGE_NAME - docker rm $IMAGE_NAME $IMAGE_NAME-redis
rules: rules:
- changes: - changes:
- src/$IMAGE_NAME/** - src/$IMAGE_NAME/**
......
...@@ -14,14 +14,14 @@ from context.service.rest_server.Server import Server ...@@ -14,14 +14,14 @@ from context.service.rest_server.Server import Server
from context.service.rest_server.Resources import RESOURCES from context.service.rest_server.Resources import RESOURCES
terminate = threading.Event() terminate = threading.Event()
logger = None LOGGER = None
def signal_handler(signal_, frame): def signal_handler(signal_, frame):
logger.warning('Terminate signal received') LOGGER.warning('Terminate signal received')
terminate.set() terminate.set()
def main(): 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 ) grpc_service_port = get_setting('CONTEXTSERVICE_SERVICE_PORT_GRPC', default=GRPC_SERVICE_PORT )
max_workers = get_setting('MAX_WORKERS', default=GRPC_MAX_WORKERS ) max_workers = get_setting('MAX_WORKERS', default=GRPC_MAX_WORKERS )
...@@ -34,12 +34,12 @@ def main(): ...@@ -34,12 +34,12 @@ def main():
if isinstance(populate_fake_data, str): populate_fake_data = (populate_fake_data.upper() in {'T', '1', 'TRUE'}) if isinstance(populate_fake_data, str): populate_fake_data = (populate_fake_data.upper() in {'T', '1', 'TRUE'})
logging.basicConfig(level=log_level) logging.basicConfig(level=log_level)
logger = logging.getLogger(__name__) LOGGER = logging.getLogger(__name__)
signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler) signal.signal(signal.SIGTERM, signal_handler)
logger.info('Starting...') LOGGER.info('Starting...')
# Start metrics server # Start metrics server
start_http_server(metrics_port) start_http_server(metrics_port)
...@@ -61,19 +61,19 @@ def main(): ...@@ -61,19 +61,19 @@ def main():
rest_server.start() rest_server.start()
if populate_fake_data: if populate_fake_data:
logger.info('Populating fake data...') LOGGER.info('Populating fake data...')
populate('127.0.0.1', grpc_service_port) 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 # Wait for Ctrl+C or termination signal
while not terminate.wait(timeout=0.1): pass while not terminate.wait(timeout=0.1): pass
logger.info('Terminating...') LOGGER.info('Terminating...')
grpc_service.stop() grpc_service.stop()
rest_server.shutdown() rest_server.shutdown()
rest_server.join() rest_server.join()
logger.info('Bye') LOGGER.info('Bye')
return 0 return 0
if __name__ == '__main__': if __name__ == '__main__':
......
import copy, grpc, logging, pytest, requests, threading, time, urllib import copy, grpc, logging, os, pytest, requests, threading, time, urllib
from queue import Queue from queue import Queue
from typing import Tuple from typing import Tuple
from common.Constants import DEFAULT_CONTEXT_UUID, DEFAULT_TOPOLOGY_UUID from common.Constants import DEFAULT_CONTEXT_UUID, DEFAULT_TOPOLOGY_UUID
...@@ -34,10 +34,14 @@ LOGGER.setLevel(logging.DEBUG) ...@@ -34,10 +34,14 @@ LOGGER.setLevel(logging.DEBUG)
GRPC_PORT = 10000 + GRPC_SERVICE_PORT # avoid privileged ports GRPC_PORT = 10000 + GRPC_SERVICE_PORT # avoid privileged ports
RESTAPI_PORT = 10000 + RESTAPI_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_CONFIG = {
'REDIS_SERVICE_HOST': '10.1.7.194', 'REDIS_SERVICE_HOST': os.environ.get('REDIS_SERVICE_HOST', DEFAULT_REDIS_SERVICE_HOST),
'REDIS_SERVICE_PORT': 30283, 'REDIS_SERVICE_PORT': os.environ.get('REDIS_SERVICE_PORT', DEFAULT_REDIS_SERVICE_PORT),
'REDIS_DATABASE_ID': 0, 'REDIS_DATABASE_ID' : os.environ.get('REDIS_DATABASE_ID', DEFAULT_REDIS_DATABASE_ID ),
} }
SCENARIOS = [ SCENARIOS = [
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment