# Copyright 2016 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 = "vfcnfvolcm"
DB_USER = "vfcnfvolcm"
DB_PASSWD = "vfcnfvolcm"

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

# [MDC]
SERVICE_NAME = "nslcm"
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": "nslcm",
    "version": "v1",
    "enable_ssl": SSL_ENABLED,
    "url": "/api/nslcm/v1",
    "protocol": "REST",
    "visualRange": "1",
    "nodes": [{
        "ip": "127.0.0.1",
        "port": "8403",
        "ttl": 0
    }]
}
MSB_SVC_URL = "/api/microservices/v1/services/nslcm/version/%s"

# [aai config]
AAI_BASE_URL = "http://10.0.14.1:80/aai/v11"
AAI_USER = "AAI"
AAI_PASSWD = "AAI"
REPORT_TO_AAI = True

# [sdc config]
SDC_BASE_URL = "http://10.0.14.1:80/api"
SDC_USER = "SDC"
SDC_PASSWD = "SDC"

# [DMaaP]
MR_IP = '127.0.0.1'
MR_PORT = '3904'

# [workflow]
DEPLOY_WORKFLOW_WHEN_START = False
# Support option: activiti/wso2/buildin/grapflow
WORKFLOW_OPTION = "buildin"

# [OOF config]
OOF_BASE_URL = "https://oof-osdf.onap:8698"
OOF_USER = "vfc_test"
OOF_PASSWD = "vfc_testpwd"

# [Customer information]
CUST_NAME = "some_company"
CUST_LAT = "32.897480"
CUST_LONG = "97.040443"
start create vfcnfvolcm db
Create vfcnfvolcm 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 auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying database.0001_initial... OK
  Applying sessions.0001_initial... OK
*** Starting uWSGI 2.0.20 (64bit) on [Fri May 26 07:57:50 2023] ***
compiled with version: 10.3.1 20211027 on 26 April 2022 02:54:29
os: Linux-5.4.0-96-generic #109-Ubuntu SMP Wed Jan 12 16:49:16 UTC 2022
nodename: onap-vfc-nslcm-79c97698b8-txpt5
machine: x86_64
clock source: unix
detected number of CPU cores: 8
current working directory: /service/vfc/nfvo/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 :8403 fd 4
uwsgi socket 0 bound to TCP address 127.0.0.1:39963 (port auto-assigned) fd 3
Python version: 3.8.13 (default, Apr 20 2022, 02:31:41)  [GCC 10.3.1 20211027]
Python main interpreter initialized at 0x7fdfd04bea50
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 0x7fdfd04bea50 pid: 24 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 24)
spawned uWSGI worker 1 (pid: 27, cores: 1)
spawned uWSGI worker 2 (pid: 28, cores: 1)
spawned uWSGI worker 3 (pid: 29, cores: 1)
spawned uWSGI worker 4 (pid: 30, cores: 1)
spawned uWSGI http 1 (pid: 31)
[pid: 27|app: 0|req: 1/1] 127.0.0.6 () {40 vars in 613 bytes} [Fri May 26 09:05:29 2023] GET /api/nslcm/v1/health_check => generated 19 bytes in 441 msecs (HTTP/1.1 200) 7 headers in 198 bytes (1 switches on core 0)
2023-05-26 09:05:29,938:[lcm.ns.views.sol.health_check]:[health_check.py]-[30] [DEBUG]:Health check.
