# Copyright 2017 ZTE Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import os

# [MSB]
MSB_BASE_URL = os.getenv("MSB_HOST", "http://127.0.0.1:80")
MSB_ENABLED = os.getenv("MSB_ENABLED", True)

# [mysql]
DB_IP = os.getenv("MYSQL_ADDR", "127.0.0.1:3306").split(':')[0]
DB_PORT = os.getenv("MYSQL_ADDR", "127.0.0.1:3306").split(':')[1]
DB_NAME = "gvnfm"
DB_USER = "gvnfm"
DB_PASSWD = "gvnfm"

# [REDIS]
REDIS_HOST = os.getenv("REDIS_HOST", DB_IP)
REDIS_PORT = '6379'
REDIS_PASSWD = ''

# [MDC]
SERVICE_NAME = "vnfres"
FORWARDED_FOR_FIELDS = ["HTTP_X_FORWARDED_FOR", "HTTP_X_FORWARDED_HOST",
                        "HTTP_X_FORWARDED_SERVER"]

# [register]
REG_TO_MSB_WHEN_START = os.getenv("REG_TO_MSB_WHEN_START", "false")
SSL_ENABLED = os.getenv("SSL_ENABLED", "false")
REG_TO_MSB_REG_URL = "/api/microservices/v1/services"
REG_TO_MSB_REG_PARAM = {
    "serviceName": "vnfres",
    "version": "v1",
    "enable_ssl": SSL_ENABLED,
    "url": "/api/vnfres/v1",
    "protocol": "REST",
    "visualRange": "1",
    "nodes": [{
        "ip": "127.0.0.1",
        "port": "8802",
        "ttl": 0
    }]
}
MSB_SVC_URL = "/api/microservices/v1/services/vnfres/version/v1"
No service needs init.
*** Starting uWSGI 2.0.20 (64bit) on [Sun Apr 23 00:20:27 2023] ***
compiled with version: 10.3.1 20211027 on 30 March 2022 09:35:31
os: Linux-5.4.0-96-generic #109-Ubuntu SMP Wed Jan 12 16:49:16 UTC 2022
nodename: onap-vfc-vnfres-855c4b85d-nw7sx
machine: x86_64
clock source: unix
detected number of CPU cores: 8
current working directory: /service/vfc/gvnfm/vnfres/res
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
your memory page size is 4096 bytes
 *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers *** 
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uWSGI http bound on :8802 fd 4
uwsgi socket 0 bound to TCP address 127.0.0.1:37743 (port auto-assigned) fd 3
Python version: 3.8.13 (default, Mar 29 2022, 15:02:37)  [GCC 10.3.1 20211027]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x7fc0cb448e40
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 364600 bytes (356 KB) for 4 cores
*** Operational MODE: preforking ***
WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7fc0cb448e40 pid: 13 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 13)
spawned uWSGI worker 1 (pid: 16, cores: 1)
spawned uWSGI worker 2 (pid: 17, cores: 1)
spawned uWSGI worker 3 (pid: 18, cores: 1)
spawned uWSGI worker 4 (pid: 19, cores: 1)
spawned uWSGI http 1 (pid: 20)
[pid: 18|app: 0|req: 1/1] 127.0.0.6 () {40 vars in 617 bytes} [Sun Apr 23 04:16:55 2023] GET /api/vnfres/v1/health_check => generated 19 bytes in 309 msecs (HTTP/1.1 200) 7 headers in 198 bytes (1 switches on core 0)
2023-04-23 04:16:56,302:[res.resources.health_check_views]:[health_check_views.py]-[30] [DEBUG]:Health check.
[pid: 17|app: 0|req: 1/2] 127.0.0.6 () {40 vars in 617 bytes} [Sun Apr 23 05:15:43 2023] GET /api/vnfres/v1/health_check => generated 19 bytes in 290 msecs (HTTP/1.1 200) 7 headers in 198 bytes (1 switches on core 0)
2023-04-23 05:15:43,739:[res.resources.health_check_views]:[health_check_views.py]-[30] [DEBUG]:Health check.
[pid: 16|app: 0|req: 1/3] 127.0.0.6 () {40 vars in 617 bytes} [Sun Apr 23 05:38:36 2023] GET /api/vnfres/v1/health_check => generated 19 bytes in 262 msecs (HTTP/1.1 200) 7 headers in 198 bytes (1 switches on core 0)
2023-04-23 05:38:36,530:[res.resources.health_check_views]:[health_check_views.py]-[30] [DEBUG]:Health check.
