# 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 = "vnflcm"
FORWARDED_FOR_FIELDS = ["HTTP_X_FORWARDED_FOR", "HTTP_X_FORWARDED_HOST",
                        "HTTP_X_FORWARDED_SERVER"]

# [aai config]
AAI_BASE_URL = "http://127.0.0.1:80/aai/v13"
AAI_USER = "AAI"
AAI_PASSWD = "AAI"

# [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": "vnflcm",
    "version": "v1",
    "enable_ssl": SSL_ENABLED,
    "url": "/api/vnflcm/v1",
    "protocol": "REST",
    "visualRange": "1",
    "nodes": [{
        "ip": "127.0.0.1",
        "port": "8801",
        "ttl": 0
    }]
}
MSB_SVC_URL = "/api/microservices/v1/services/vnflcm/version/v1"
start create gvnfm db
Create gvnfm database successfully
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, database, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying database.0001_initial... OK
  Applying sessions.0001_initial... OK
*** Starting uWSGI 2.0.19.1 (64bit) on [Sun Apr 17 05:38:53 2022] ***
compiled with version: 10.3.1 20210424 on 31 August 2021 09:51:27
os: Linux-5.4.0-96-generic #109-Ubuntu SMP Wed Jan 12 16:49:16 UTC 2022
nodename: onap-vfc-vnflcm-694499c6cf-nnmkw
machine: x86_64
clock source: unix
detected number of CPU cores: 8
current working directory: /service/vfc/gvnfm/vnflcm/lcm
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 :8801 fd 4
uwsgi socket 0 bound to TCP address 127.0.0.1:42403 (port auto-assigned) fd 3
Python version: 3.8.11 (default, Aug 27 2021, 23:55:50)  [GCC 10.3.1 20210424]
Python main interpreter initialized at 0x7efd863aae80
python threads support enabled
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 1 seconds on interpreter 0x7efd863aae80 pid: 25 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 25)
spawned uWSGI worker 1 (pid: 28, cores: 1)
spawned uWSGI worker 2 (pid: 29, cores: 1)
spawned uWSGI worker 3 (pid: 30, cores: 1)
spawned uWSGI worker 4 (pid: 31, cores: 1)
spawned uWSGI http 1 (pid: 32)
invalid request block size: 22340 (max 4096)...skip
[pid: 30|app: 0|req: 1/1] 10.233.72.208 () {34 vars in 486 bytes} [Sun Apr 17 07:12:38 2022] GET /api/vnflcm/v1/health_check => generated 19 bytes in 973 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 0)
2022-04-17 07:12:39,589:[lcm.samples.views]:[views.py]-[70] [DEBUG]:HealthCheck
[pid: 30|app: 0|req: 2/2] 10.233.72.208 () {34 vars in 486 bytes} [Sun Apr 17 07:13:25 2022] GET /api/vnflcm/v1/health_check => generated 19 bytes in 6 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 0)
2022-04-17 07:13:25,467:[lcm.samples.views]:[views.py]-[70] [DEBUG]:HealthCheck
[pid: 29|app: 0|req: 1/3] 10.233.72.208 () {34 vars in 487 bytes} [Sun Apr 17 07:14:16 2022] GET /api/vnflcm/v1/health_check => generated 19 bytes in 894 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 0)
2022-04-17 07:14:17,541:[lcm.samples.views]:[views.py]-[70] [DEBUG]:HealthCheck
[pid: 31|app: 0|req: 1/4] 10.233.72.208 () {34 vars in 487 bytes} [Sun Apr 17 07:15:14 2022] GET /api/vnflcm/v1/health_check => generated 19 bytes in 826 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 0)
2022-04-17 07:15:15,635:[lcm.samples.views]:[views.py]-[70] [DEBUG]:HealthCheck
[pid: 28|app: 0|req: 1/5] 10.233.72.208 () {34 vars in 488 bytes} [Sun Apr 17 07:15:55 2022] GET /api/vnflcm/v1/health_check => generated 19 bytes in 878 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 0)
2022-04-17 07:15:56,752:[lcm.samples.views]:[views.py]-[70] [DEBUG]:HealthCheck
[pid: 28|app: 0|req: 2/6] 10.233.72.208 () {34 vars in 486 bytes} [Sun Apr 17 07:17:07 2022] GET /api/vnflcm/v1/health_check => generated 19 bytes in 4 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 0)
2022-04-17 07:17:07,057:[lcm.samples.views]:[views.py]-[70] [DEBUG]:HealthCheck
[pid: 30|app: 0|req: 3/7] 10.233.72.208 () {34 vars in 488 bytes} [Sun Apr 17 07:17:42 2022] GET /api/vnflcm/v1/health_check => generated 19 bytes in 4 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 0)
2022-04-17 07:17:42,275:[lcm.samples.views]:[views.py]-[70] [DEBUG]:HealthCheck
[pid: 30|app: 0|req: 4/8] 10.233.72.208 () {34 vars in 487 bytes} [Sun Apr 17 07:18:30 2022] GET /api/vnflcm/v1/health_check => generated 19 bytes in 8 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 0)
2022-04-17 07:18:30,547:[lcm.samples.views]:[views.py]-[70] [DEBUG]:HealthCheck
[pid: 30|app: 0|req: 5/9] 10.233.72.208 () {34 vars in 488 bytes} [Sun Apr 17 07:19:27 2022] GET /api/vnflcm/v1/health_check => generated 19 bytes in 3 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 0)
2022-04-17 07:19:27,547:[lcm.samples.views]:[views.py]-[70] [DEBUG]:HealthCheck
[pid: 29|app: 0|req: 2/10] 10.233.72.208 () {34 vars in 488 bytes} [Sun Apr 17 07:20:06 2022] GET /api/vnflcm/v1/health_check => generated 19 bytes in 8 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 0)
2022-04-17 07:20:06,807:[lcm.samples.views]:[views.py]-[70] [DEBUG]:HealthCheck
[pid: 31|app: 0|req: 2/11] 10.233.72.208 () {34 vars in 485 bytes} [Sun Apr 17 07:21:29 2022] GET /api/vnflcm/v1/health_check => generated 19 bytes in 11 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 0)
2022-04-17 07:21:29,818:[lcm.samples.views]:[views.py]-[70] [DEBUG]:HealthCheck
[pid: 31|app: 0|req: 3/12] 10.233.72.208 () {34 vars in 482 bytes} [Sun Apr 17 07:24:08 2022] GET /api/vnflcm/v1/health_check => generated 19 bytes in 5 msecs (HTTP/1.1 200) 5 headers in 141 bytes (1 switches on core 0)
2022-04-17 07:24:08,109:[lcm.samples.views]:[views.py]-[70] [DEBUG]:HealthCheck
