summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/__init__.py32
-rw-r--r--config/base.py36
-rw-r--r--config/common_config.yaml43
-rw-r--r--config/credentials.py60
-rw-r--r--config/loader.py51
-rwxr-xr-xconfig/osdf_config.yaml34
6 files changed, 77 insertions, 179 deletions
diff --git a/config/__init__.py b/config/__init__.py
deleted file mode 100644
index 303a8ce..0000000
--- a/config/__init__.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# -------------------------------------------------------------------------
-# Copyright (c) 2015-2017 AT&T Intellectual Property
-#
-# 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 yaml
-import json
-
-from osdf.utils.programming_utils import MetaSingleton
-
-
-class CoreConfig(metaclass=MetaSingleton):
- core_config = None
-
- def get_core_config(self, config_file=None):
- if self.core_config is None:
- self.core_config = yaml.load(open(config_file))
- return self.core_config
-
diff --git a/config/base.py b/config/base.py
deleted file mode 100644
index b8aacff..0000000
--- a/config/base.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -------------------------------------------------------------------------
-# Copyright (c) 2015-2017 AT&T Intellectual Property
-#
-# 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
-
-import osdf.config.loader as config_loader
-import osdf.config.credentials as creds
-from osdf.utils.programming_utils import DotDict
-
-config_spec = {
- "deployment": os.environ.get("OSDF_MANAGER_CONFIG_FILE", "config/osdf_config.yaml"),
- "core": "config/common_config.yaml"
- }
-
-osdf_config = DotDict(config_loader.all_configs(**config_spec))
-
-http_basic_auth_credentials = creds.load_credentials(osdf_config)
-
-dmaap_creds = creds.dmaap_creds()
-
-creds_prefixes = {"so": "so", "cm": "cmPortal"}
diff --git a/config/common_config.yaml b/config/common_config.yaml
new file mode 100644
index 0000000..d8f467b
--- /dev/null
+++ b/config/common_config.yaml
@@ -0,0 +1,43 @@
+osdf_system:
+ libpath: /opt/app/osdf/libs
+ sniro_ports:
+ internal: 24699 # inside the Docker container, the app listens to this port
+ external: 14699 # clients use this port on DockerHost
+ # Important Note: At deployment time, we need to ensure the port mapping is done
+ ssl_context: ['./../etc/sniromanager.crt', './../etc/sniromanager.key']
+
+osdf_temp: # hacks required for "workarounds" or testing
+ local_policies:
+ global_disabled: True
+ local_placement_policies_enabled: True
+ placement_policy_files_vcpe: # workaroud for policy platform glitches (or "work-arounds" for other components)
+ - CloudAttributePolicy_vGMuxInfra_1.json
+ - CloudAttributePolicy_vG_1.json
+ - DistanceToLocationPolicy_vGMuxInfra_1.json
+ - DistanceToLocationPolicy_vG_1.json
+ - InventoryGroup_vGMuxInfra_1.json
+ - InventoryGroup_vG_1.json
+ - PlacementOptimizationPolicy.json
+ - ResourceInstancePolicy_vG_1.json
+ - VNFPolicy_vGMuxInfra_1.json
+ - VNFPolicy_vG_1.json
+ - ZonePolicy_vGMuxInfra_1.json
+ - ZonePolicy_vG_1.json
+
+service_info:
+ vCPE:
+ vcpeHostName: requestParameters.vcpeHostName
+ e2eVpnKey: requestParameters.e2eVpnKey
+
+policy_info:
+ placement:
+ policy_fetch: by_scope
+ policy_scope:
+ default_scope: OSDF_R2
+ scope_vcpe: OSDF_R2
+ service_name: placementInfo.serviceModelInfo.modelName
+ policy_subscriber: SubscriberPolicy
+ subscriber_name: placementInfo.subscriberInfo.subscriberName
+ default: # if no explicit service related information is needed
+ policy_fetch: by_name
+ policy_scope: none
diff --git a/config/credentials.py b/config/credentials.py
deleted file mode 100644
index e5a6399..0000000
--- a/config/credentials.py
+++ /dev/null
@@ -1,60 +0,0 @@
-# -------------------------------------------------------------------------
-# Copyright (c) 2015-2017 AT&T Intellectual Property
-#
-# 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 json
-
-from osdf import auth_groups, userid_suffix, passwd_suffix
-
-
-def dmaap_creds(dmaap_file="/etc/dcae/dmaap.conf"):
- """Get DMaaP credentials from DCAE for publish and subscribe"""
- try:
- dmaap_creds = _get_dmaap_creds(dmaap_file)
- except:
- dmaap_creds = {}
- return dmaap_creds
-
-
-def _get_dmaap_creds(dmaap_file):
- """Get DMaaP credentials from DCAE for publish and subscribe"""
- streams = json.load(open(dmaap_file, 'r'))
- pubs = [x for x in streams
- if x['dmaapStreamId'] == 'requests' and x['dmaapAction'] == 'publish']
- subs = [x for x in streams
- if x['dmaapStreamId'] == 'responses' and x['dmaapAction'] == 'subscribe']
-
- def get_dmaap_info(x):
- """Get DMaaP credentials from dmaap_object 'x'"""
- return dict(url=x.get('dmaapUrl'), userid=x.get('dmaapUserName'), passwd=x.get('dmaapPassword'))
-
- return {'pub': get_dmaap_info(pubs[0]), 'sub': get_dmaap_info(subs[0])}
-
-
-def load_credentials(osdf_config):
- """Get credentials as dictionaries grouped by auth_group (e.g. creds["Placement"]["user1"] = "pass1")"""
- creds = dict((x, dict()) for x in auth_groups) # each auth group has userid, passwd dict
- suffix_start = len(userid_suffix)
-
- config = osdf_config.deployment
-
- for element, username in config.items():
- for x in auth_groups:
- if element.startswith("osdf" + x) and element.endswith(userid_suffix):
- passwd = config[element[:-suffix_start] + passwd_suffix]
- creds[x][username] = passwd
- return creds
diff --git a/config/loader.py b/config/loader.py
deleted file mode 100644
index 7cb363a..0000000
--- a/config/loader.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# -------------------------------------------------------------------------
-# Copyright (c) 2015-2017 AT&T Intellectual Property
-#
-# 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 json
-
-import yaml
-
-
-def load_config_file(config_file: str, child_name="dockerConfiguration") -> dict:
- """
- Load OSDF configuration from a file -- currently only yaml/json are supported
- :param config_file: path to config file (.yaml or .json).
- :param child_name: if present, return only that child node
- :return: config (all or specific child node)
- """
- with open(config_file, 'r') as fid:
- res = {}
- if config_file.endswith(".yaml"):
- res = yaml.load(fid)
- elif config_file.endswith(".json") or config_file.endswith("json"):
- res = json.load(fid)
- return res.get(child_name, res) if child_name else res
-
-
-def dcae_config(config_file: str) -> dict:
- return load_config_file(config_file, child_name="dockerConfiguration")
-
-
-def all_configs(**kwargs: dict) -> dict:
- """
- Load all specified configurations
- :param config_file_spec: key-value pairs
- (e.g. { "core": "common_config.yaml", "deployment": "/tmp/1452523532json" })
- :return: merged config as a nested dictionary
- """
- return {k: load_config_file(fname) for k, fname in kwargs.items()}
diff --git a/config/osdf_config.yaml b/config/osdf_config.yaml
new file mode 100755
index 0000000..69ebdf0
--- /dev/null
+++ b/config/osdf_config.yaml
@@ -0,0 +1,34 @@
+osdfUserNameForSO: "" # The OSDF Manager username for MSO.
+odfPasswordForSO: "" # The OSDF Manager password for MSO.
+
+# msoUrl: "" # The SO url for call back. This will be part of the request, so no need
+soUsername: "" # SO username for call back.
+soPassword: "" # SO password for call back.
+
+conductorUrl: "https://OOF-HAS-CONDUCTOR-HOST:8091"
+conductorUsername: "CONDUCTOR-USER"
+conductorPassword: "CONDUCTOR-PASSWD"
+conductorPingWaitTime: 60 # seconds to wait before calling the conductor retry URL
+conductorMaxRetries: 30 # if we don't get something in 30 minutes, give up
+
+# Policy Platform -- requires ClientAuth, Authorization, and Environment
+policyPlatformUrl: https://POLICY-URL:8081/pdp/getConfig # Policy Dev platform URL
+policyPlatformEnv: TEST # Environment for policy platform
+policyPlatformUsername: POLICY-USER # Policy platform username.
+policyPlatformPassword: POLICY-PASSWD # Policy platform password.
+policyClientUsername: POLICY-CLIENT-USER # For use with ClientAuth
+policyClientPassword: POLICY-CLIENT-PASSWD # For use with ClientAuth
+
+messageReaderHosts: https://DMAAP-HOST1:3905,https://DMAAP-HOST2:3905,https://DMAAP-HOST3:3905
+messageReaderTopic: org.onap.oof.osdf.multicloud
+messageReaderAafUserId: DMAAP-OSDF-MC-USER
+messageReaderAafPassword: DMAAP-OSDF-MC-PASSWD
+
+sdcUrl: https://SDC-HOST:8443/sdc/v1/catalog
+sdcUsername: SDC-OSDF-USER
+sdcPassword: SDC-OSDF-PASSWD
+sdcONAPInstanceID: ONAP-OSDF
+
+osdfPlacementUrl: "http://127.0.0.1:24699/osdf/api/v2/placement"
+osdfPlacementUsername: "test"
+osdfPlacementPassword: "testpwd"