aboutsummaryrefslogtreecommitdiffstats
path: root/apps/license/optimizers/simple_license_allocation.py
diff options
context:
space:
mode:
authorvrvarma <vv8305@att.com>2019-12-13 10:24:55 -0500
committervrvarma <vv8305@att.com>2019-12-13 10:29:45 -0500
commit430153e1a9489a86cf0ff7942eceb0bf5f1c170c (patch)
treeb22090b80d11761a24d9cbeaa6348704cce2de83 /apps/license/optimizers/simple_license_allocation.py
parent34ba229b31758c38a299a163de0007848b5921be (diff)
osdf rearchitecture into apps and libs
Change-Id: I2db2f8e252bd5e60807b2ffabf5a5b193a789f7a Signed-off-by: vrvarma <vv8305@att.com> Issue-ID: OPTFRA-637
Diffstat (limited to 'apps/license/optimizers/simple_license_allocation.py')
-rw-r--r--apps/license/optimizers/simple_license_allocation.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/apps/license/optimizers/simple_license_allocation.py b/apps/license/optimizers/simple_license_allocation.py
new file mode 100644
index 0000000..b2aaba4
--- /dev/null
+++ b/apps/license/optimizers/simple_license_allocation.py
@@ -0,0 +1,43 @@
+# -------------------------------------------------------------------------
+# 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.
+#
+# -------------------------------------------------------------------------
+#
+from osdf.utils.mdc_utils import mdc_from_json
+
+
+def license_optim(request_json):
+ """
+ Fetch license artifacts associated with the service model and search licensekey-group-UUID and entitlement-pool-uuid
+ associated with the given att part number and nominal throughput in a request
+ :param request_json: Request in a JSON format
+ :return: A tuple of licensekey-group-uuid-list and entitlement-group-uuid-list
+ """
+ mdc_from_json(request_json)
+ req_id = request_json["requestInfo"]["requestId"]
+
+ model_name = request_json.get('placementInfo', {}).get('serviceInfo', {}).get('modelInfo', {}).get('modelName')
+ service_name = model_name
+
+ license_info = []
+
+ for demand in request_json.get('placementInfo', {}).get('demandInfo', {}).get('licenseDemands', []):
+ license_info.append(
+ {'serviceResourceId': demand['serviceResourceId'],
+ 'resourceModuleName': demand['resourceModuleName'],
+ 'entitlementPoolList': "NOT SUPPORTED",
+ 'licenseKeyGroupList': "NOT SUPPORTED"
+ })
+ return license_info