aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorottero <rodrigo.ottero@est.tech>2019-03-11 14:03:09 +0000
committerottero <rodrigo.ottero@est.tech>2019-03-11 14:03:09 +0000
commita47cb28a3c6e7694233c3de1127f8ce9a1aa739c (patch)
tree4ff0f8a071b496887c12ab3bbc946a1cb35c28b4
parent59d003559d4e8c398930db4dcdb0451a759df788 (diff)
Blueprint for configuring a PNF
This is the first version of a blueprint, intended to be used to configure PNFs. The design considers that a blueprint will be created for each possible PNF. Change-Id: I4994149441257eb417b6d5f611e12cd81595177f Issue-ID: CCSDK-1107 Signed-off-by: ottero <rodrigo.ottero@est.tech>
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/activation-blueprint.json73
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/data_types.json25
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/node_types.json83
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/relationship_types.json8
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/resources_definition_types.json17
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Plans/CONFIG_configAssign.xml4
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Plans/CONFIG_configure.xml4
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/RestconfAssignConfig.kts1
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/RestconfConfigure.kts1
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfAssignConfig.py38
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfConfigure.py38
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/TOSCA-Metadata/TOSCA.meta (renamed from components/model-catalog/blueprint-model/test-blueprint/capability_restconf/TOSCA-Metada/TOSCA.meta)0
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/config-assign-pnf-mapping.json15
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/configure-pnf-mapping.json37
-rw-r--r--components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/configure-restconf-mount-template.vtl8
-rwxr-xr-xms/blueprintsprocessor/application/pom.xml4
-rwxr-xr-xms/blueprintsprocessor/application/src/main/resources/application-dev.properties9
-rwxr-xr-xms/blueprintsprocessor/application/src/main/resources/application.properties11
-rw-r--r--ms/blueprintsprocessor/functions/restconf-executor/src/main/kotlin/scripts/InternalSimpleRestconf.cba.kts18
-rw-r--r--ms/controllerblueprints/modules/blueprint-validation/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/validation/BluePrintArtifactDefinitionValidatorImpl.kt2
-rw-r--r--ms/controllerblueprints/modules/service/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerServiceImplTest.kt2
21 files changed, 134 insertions, 264 deletions
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/activation-blueprint.json b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/activation-blueprint.json
index 96ae88e5..90b2e3ab 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/activation-blueprint.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/activation-blueprint.json
@@ -1,16 +1,10 @@
-<!-- QUESTION
- lines 74-78 and 157-161: if I have to resolve the variables I need based on
- the pnf id, do I need to specify a restconf-connection? Another point, the
- connection is aimed to ODL, not to the PNF, so I am not sure what to fill
- for this model (lines 122-137)
--->
{
"tosca_definitions_version" : "controller_blueprint_1_0_0",
"metadata" : {
"template_author" : "Rodrigo Ottero",
"author-email" : "rodrigo.ottero@est.tech",
"user-groups" : "ADMIN, OPERATION",
- "template_name" : "pnf restconf",
+ "template_name" : "configuration_over_restconf",
"template_version" : "1.0.0",
"template_tags" : "pnf, restconf, config, configuration"
},
@@ -90,15 +84,10 @@
}
}
},
+
+
"config-assign" : {
"type" : "component-restconf-executor",
- "requirements" : {
- "restconf-connection" : {
- "capability" : "restconf",
- "node" : "sample-restconf-server",
- "relationship" : "tosca.relationships.ConnectsTo"
- }
- },
"interfaces" : {
"ComponentRestconfExecutor" : {
"operations" : {
@@ -107,12 +96,9 @@
"primary" : "component-script"
},
"inputs" : {
- "script-type" : "kotlin",
- "script-class-reference" : "Scripts/kotlin/RestconfAssignConfig.kts",
- "instance-dependencies" : [ ],
- "artifact-prefix-names": [
- "config-assign"
- ]
+ "script-type" : "jython",
+ "script-class-reference" : "Scripts/python/RestconfAssignConfig.py",
+ "instance-dependencies" : [ ]
},
"outputs" : {
"response-data" : "",
@@ -132,11 +118,14 @@
"file" : "Templates/config-assign-pnf-mapping.json"
},
"component-script" : {
- "type" : "artifact-script-kotlin",
- "file" : "Scripts/kotlin/RestconfAssignConfig.py"
+ "type" : "artifact-script-jython",
+ "file" : "Scripts/python/RestconfAssignConfig.py"
}
}
},
+
+
+
"configure-process" : {
"type" : "dg-generic",
"properties" : {
@@ -154,13 +143,6 @@
},
"configure" : {
"type" : "component-restconf-executor",
- "requirements" : {
- "restconf-connection" : {
- "capability" : "restconf",
- "node" : "sample-restconf-server",
- "relationship" : "tosca.relationships.ConnectsTo"
- }
- },
"interfaces" : {
"ComponentRestconfExecutor" : {
"operations" : {
@@ -169,12 +151,9 @@
"primary" : "component-script"
},
"inputs" : {
- "script-type" : "kotlin",
- "script-class-reference" : "Scripts/kotlin/RestconfConfigure.kts",
- "instance-dependencies" : [ ],
- "artifact-prefix-names": [
- "configure-restconf-mount", "configure-restconf-unmount"
- ]
+ "script-type" : "jython",
+ "script-class-reference" : "Scripts/python/RestconfConfigure.py",
+ "instance-dependencies" : [ ]
},
"outputs" : {
"response-data" : "",
@@ -198,28 +177,8 @@
"file" : "Templates/configure-pnf-mapping.json"
},
"component-script" : {
- "type" : "artifact-script-kotlin",
- "file" : "Scripts/kotlin/RestconfConfigure.py"
- }
- }
- },
- "sample-restconf-device" : {
- "type" : "pnf-netconf-device",
- "capabilities" : {
- "restconf" : {
- "properties" : {
- "login-key" : {
- "get_input" : "password"
- },
- "login-account" : {
- "get_input" : "username"
- },
- "target-ip-address" : {
- "get_input" : "ip"
- },
- "port-number" : 830,
- "connection-time-out" : 5
- }
+ "type" : "artifact-script-jython",
+ "file" : "Scripts/python/RestconfConfigure.py"
}
}
}
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/data_types.json b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/data_types.json
index d9153f3f..9f35eef8 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/data_types.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/data_types.json
@@ -1,22 +1,15 @@
{
"data_types" : {
- "dt-assign-activate-properties" : {
- "description" : "Dynamic DataType definition for workflow(assign-activate).",
+ "dt-config-assign-properties" : {
+ "description" : "Dynamic DataType definition for workflow(config-assign).",
"version" : "1.0.0",
- "properties" : {
- "hostname" : {
- "type" : "string"
- },
- "ip": {
- "type": "string"
- },
- "username": {
- "type": "string"
- },
- "password": {
- "type": "string"
- }
- },
+ "properties" : { },
+ "derived_from" : "tosca.datatypes.Dynamic"
+ },
+ "dt-configure-properties" : {
+ "description" : "Dynamic DataType definition for workflow(configure).",
+ "version" : "1.0.0",
+ "properties" : { },
"derived_from" : "tosca.datatypes.Dynamic"
}
}
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/node_types.json b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/node_types.json
index c8e3e6a9..be3bd319 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/node_types.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/node_types.json
@@ -1,20 +1,13 @@
{
"node_types" : {
"component-restconf-executor" : {
- "description" : "This is Restconf Configuration Component API",
+ "description" : "This is Restconf Transaction Configuration Component API",
"version" : "1.0.0",
"capabilities" : {
"component-node" : {
"type" : "tosca.capabilities.Node"
}
},
- "requirements" : {
- "restconf-connection" : {
- "capability" : "restconf",
- "node" : "pnf-restconf-device",
- "relationship" : "tosca.relationships.ConnectsTo"
- }
- },
"interfaces" : {
"ComponentRestconfExecutor" : {
"operations" : {
@@ -80,24 +73,6 @@
},
"derived_from" : "tosca.nodes.DG"
},
- "source-input" : {
- "description" : "This is Input Resource Source Node Type",
- "version" : "1.0.0",
- "properties" : {
- "key" : {
- "required" : false,
- "type" : "string"
- },
- "key-dependencies" : {
- "required" : true,
- "type" : "list",
- "entry_schema" : {
- "type" : "string"
- }
- }
- },
- "derived_from" : "tosca.nodes.ResourceSource"
- },
"tosca.nodes.Component" : {
"description" : "This is default Component Node",
"version" : "1.0.0",
@@ -107,62 +82,6 @@
"description" : "This is Directed Graph Node Type",
"version" : "1.0.0",
"derived_from" : "tosca.nodes.Root"
- },
- "tosca.nodes.ResourceSource" : {
- "description" : "TOSCA base type for Resource Sources",
- "version" : "1.0.0",
- "derived_from" : "tosca.nodes.Root"
- },
- "tosca.nodes.Vnf" : {
- "description" : "This is VNF Node Type",
- "version" : "1.0.0",
- "derived_from" : "tosca.nodes.Root"
- },
- "tosca.nodes.Pnf": {
- "description": "This is the PNF Node Type",
- "version": "1.0.0",
- "derived_from": "tosca.nodes.Root"
- },
- "pnf-restconf-device" : {
- "description" : "This is a PNF Device with Restconf Capability",
- "version" : "1.0.0",
- "capabilities" : {
- "netconf" : {
- "type" : "tosca.capabilities.Restconf",
- "properties" : {
- "login-key" : {
- "required" : true,
- "type" : "string",
- "default" : "sdnc"
- },
- "login-account" : {
- "required" : true,
- "type" : "string",
- "default" : "sdnc-tacacs"
- },
- "source" : {
- "required" : false,
- "type" : "string",
- "default" : "npm"
- },
- "target-ip-address" : {
- "required" : true,
- "type" : "string"
- },
- "port-number" : {
- "required" : true,
- "type" : "integer",
- "default" : 830
- },
- "connection-time-out" : {
- "required" : false,
- "type" : "integer",
- "default" : 30
- }
- }
- }
- },
- "derived_from" : "tosca.nodes.Pnf"
}
}
} \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/relationship_types.json b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/relationship_types.json
index 027bfc0f..4ddd7a57 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/relationship_types.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/relationship_types.json
@@ -1,9 +1,3 @@
{
- "relationship_types" : {
- "tosca.relationships.ConnectsTo" : {
- "description" : "Relationship tosca.relationships.ConnectsTo",
- "version" : "1.0.0",
- "derived_from" : "tosca.relationships.Root"
- }
- }
+ "relationship_types" : { }
} \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/resources_definition_types.json b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/resources_definition_types.json
index b77f451a..6f31cf5a 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/resources_definition_types.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Definitions/resources_definition_types.json
@@ -1,16 +1 @@
-{
- "hostname" : {
- "tags" : "hostname",
- "name" : "hostname",
- "property" : {
- "description" : "hostname",
- "type" : "string"
- },
- "updated-by" : "Singal, Kapil <ks220y@att.com>",
- "sources" : {
- "input" : {
- "type" : "source-input"
- }
- }
- }
-} \ No newline at end of file
+{ } \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Plans/CONFIG_configAssign.xml b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Plans/CONFIG_configAssign.xml
index 417f72de..220cba9f 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Plans/CONFIG_configAssign.xml
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Plans/CONFIG_configAssign.xml
@@ -1,7 +1,3 @@
-<!-- QUESTION:
- is the usage of <method rpc="ResourceAssignAndActivate" mode="sync">
- correct in the context of CCSDK-926? -->
-
<?xml version="1.0" encoding="UTF-8"?>
<service-logic xmlns="http://www.onap.org/sdnc/svclogic" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="CONFIG" version="1.0.0">
<method rpc="ResourceAssignAndActivate" mode="sync">
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Plans/CONFIG_configure.xml b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Plans/CONFIG_configure.xml
index 94fe6dde..c48ffbed 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Plans/CONFIG_configure.xml
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Plans/CONFIG_configure.xml
@@ -1,7 +1,3 @@
-<!-- QUESTION:
- is the usage of <method rpc="ResourceAssignAndActivate" mode="sync">
- correct in the context of CCSDK-926? -->
-
<?xml version="1.0" encoding="UTF-8"?>
<service-logic xmlns="http://www.onap.org/sdnc/svclogic" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="CONFIG" version="1.0.0">
<method rpc="ResourceAssignAndActivate" mode="sync">
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/RestconfAssignConfig.kts b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/RestconfAssignConfig.kts
deleted file mode 100644
index a0990367..00000000
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/RestconfAssignConfig.kts
+++ /dev/null
@@ -1 +0,0 @@
-TBD
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/RestconfConfigure.kts b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/RestconfConfigure.kts
deleted file mode 100644
index a0990367..00000000
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/RestconfConfigure.kts
+++ /dev/null
@@ -1 +0,0 @@
-TBD
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfAssignConfig.py b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfAssignConfig.py
new file mode 100644
index 00000000..36dd32ff
--- /dev/null
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfAssignConfig.py
@@ -0,0 +1,38 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+
+from org.onap.ccsdk.apps.blueprintsprocessor.functions.restconf.executor import \
+ RestconfComponentFunction
+
+
+class RestconfAssignConfig(RestconfComponentFunction):
+
+
+ def process(self, execution_request):
+ # create instances of the needed objects
+ # retrieve any needed information not present on the request, like pnf ip
+ # create the configlet
+ # persist the configlet
+ # end
+ print("process", execution_request)
+
+
+ def recover(self, runtime_exception, execution_request):
+ print("recover")
+ return None \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfConfigure.py b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfConfigure.py
new file mode 100644
index 00000000..c584baa9
--- /dev/null
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Scripts/python/RestconfConfigure.py
@@ -0,0 +1,38 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+
+from org.onap.ccsdk.apps.blueprintsprocessor.functions.restconf.executor import \
+ RestconfComponentFunction
+
+
+class RestconfConfigure(RestconfComponentFunction):
+
+
+ def process(self, execution_request):
+ # create instances of the needed objects
+ # retrieve any needed information not present on the request, like pnf ip
+ # retrieve the configlet
+ # send the configlet
+ # end
+ print("process", execution_request)
+
+
+ def recover(self, runtime_exception, execution_request):
+ print("recover")
+ return None
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/TOSCA-Metada/TOSCA.meta b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/TOSCA-Metadata/TOSCA.meta
index 6ac9caf5..6ac9caf5 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/TOSCA-Metada/TOSCA.meta
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/TOSCA-Metadata/TOSCA.meta
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/config-assign-pnf-mapping.json b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/config-assign-pnf-mapping.json
index 85533abc..41b42e67 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/config-assign-pnf-mapping.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/config-assign-pnf-mapping.json
@@ -1,16 +1,3 @@
-<!-- QUESTION:
- when using dictionary-source as capability, what else needs to be defined?
- because odl_host will come from the application.properties entry -->
[
- {
- "name": "odl_host",
- "input-param": true,
- "property": {
- "type": "string"
- },
- "dictionary-name": "odl_host",
- "dictionary-source": "capability",
- "dependencies": [
- ]
- }
+
]
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/configure-pnf-mapping.json b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/configure-pnf-mapping.json
index 123680c0..41b42e67 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/configure-pnf-mapping.json
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/configure-pnf-mapping.json
@@ -1,38 +1,3 @@
-<!-- QUESTION:
- when using dictionary-source as capability, what else needs to be defined?
- because these variables will be obtained based on the pnf_id -->
[
- {
- "name": "pnf_id",
- "input-param": true,
- "property": {
- "type": "string"
- },
- "dictionary-name": "pnf_id",
- "dictionary-source": "capability",
- "dependencies": [
- ]
- },
- {
- "name": "pnf_ip",
- "input-param": true,
- "property": {
- "type": "string"
- },
- "dictionary-name": "pnf_ip",
- "dictionary-source": "capability",
- "dependencies": [
- ]
- },
- {
- "name": "pnf_ip_port",
- "input-param": true,
- "property": {
- "type": "string"
- },
- "dictionary-name": "pnf_ip_port",
- "dictionary-source": "capability",
- "dependencies": [
- ]
- }
+
]
diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/configure-restconf-mount-template.vtl b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/configure-restconf-mount-template.vtl
index 17f7a367..a899aa45 100644
--- a/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/configure-restconf-mount-template.vtl
+++ b/components/model-catalog/blueprint-model/test-blueprint/capability_restconf/Templates/configure-restconf-mount-template.vtl
@@ -1,14 +1,14 @@
<node xmlns="urn:TBD:params:xml:ns:yang:network-topology">
- <node-id>$pnf_id</node-id>
+ <node-id>$pnf-id</node-id>
<key-based xmlns="urn:opendaylight:netconf-node-topology">
<key-id xmlns="urn:opendaylight:netconf-node-topology">ODL-private-key</key-id>
<username xmlns="urn:opendaylight:netconf-node-topology">netconf</username>
</key-based>
- <host xmlns="urn:opendaylight:netconf-node-topology">$pnf_ip</host>
- <port xmlns="urn:opendaylight:netconf-node-topology">$pnf_ip_port</port>
+ <host xmlns="urn:opendaylight:netconf-node-topology">$pnf-ip</host>
+ <port xmlns="urn:opendaylight:netconf-node-topology">6513</port>
<tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only>
<protocol xmlns="urn:opendaylight:netconf-node-topology">
<name xmlns="urn:opendaylight:netconf-node-topology">TLS</name>
</protocol>
- <max-connection-attempts xmlns="urn:opendaylight:netconf-node-topology">2</max-connection-attempts>
+ <max-connection-attempts xmlns="urn:opendaylight:netconf-node-topology">5</max-connection-attempts>
</node>
diff --git a/ms/blueprintsprocessor/application/pom.xml b/ms/blueprintsprocessor/application/pom.xml
index f42cdfad..c96bd086 100755
--- a/ms/blueprintsprocessor/application/pom.xml
+++ b/ms/blueprintsprocessor/application/pom.xml
@@ -60,6 +60,10 @@
<artifactId>netconf-executor</artifactId>
</dependency>
<dependency>
+ <groupId>org.onap.ccsdk.apps.blueprintsprocessor.functions</groupId>
+ <artifactId>restconf-executor</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.onap.ccsdk.apps.blueprintsprocessor</groupId>
<artifactId>selfservice-api</artifactId>
</dependency>
diff --git a/ms/blueprintsprocessor/application/src/main/resources/application-dev.properties b/ms/blueprintsprocessor/application/src/main/resources/application-dev.properties
index b1f16898..380eb201 100755
--- a/ms/blueprintsprocessor/application/src/main/resources/application-dev.properties
+++ b/ms/blueprintsprocessor/application/src/main/resources/application-dev.properties
@@ -38,4 +38,11 @@ blueprintsprocessor.db.primary.hibernateDialect=org.hibernate.dialect.MySQL5Inno
# Python executor
blueprints.processor.functions.python.executor.executionPath=./../../../components/scripts/python/ccsdk_blueprints
-blueprints.processor.functions.python.executor.modulePaths=./../../../components/scripts/python/ccsdk_blueprints \ No newline at end of file
+blueprints.processor.functions.python.executor.modulePaths=./../../../components/scripts/python/ccsdk_blueprints
+
+# SDN-C's ODL Restconf Connection Details
+blueprintsprocessor.restconfEnabled=true
+blueprintsprocessor.restclient.sdncodl.type=basic-auth
+blueprintsprocessor.restclient.sdncodl.url=http://localhost:8282/
+blueprintsprocessor.restclient.sdncodl.userId=admin
+blueprintsprocessor.restclient.sdncodl.token=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U \ No newline at end of file
diff --git a/ms/blueprintsprocessor/application/src/main/resources/application.properties b/ms/blueprintsprocessor/application/src/main/resources/application.properties
index e955c97c..8cafceba 100755
--- a/ms/blueprintsprocessor/application/src/main/resources/application.properties
+++ b/ms/blueprintsprocessor/application/src/main/resources/application.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2017-2019 AT&T, IBM, Bell Canada.
+# Copyright (c) 2017-2019 AT&T, IBM, Bell Canada, Nordix Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -21,9 +21,11 @@ server.port=8080
blueprintsprocessor.grpcEnable=false
blueprintsprocessor.httpPort=8080
blueprintsprocessor.grpcPort=9111
+
# Blueprint Processor File Execution and Handling Properties
blueprintsprocessor.blueprintDeployPath=/opt/app/onap/blueprints/deploy
blueprintsprocessor.blueprintArchivePath=/opt/app/onap/blueprints/archive
+
# Primary Database Configuration
blueprintsprocessor.db.primary.url=jdbc:mysql://db:3306/sdnctl
blueprintsprocessor.db.primary.username=sdnctl
@@ -33,9 +35,16 @@ blueprintsprocessor.db.primary.hibernateHbm2ddlAuto=update
blueprintsprocessor.db.primary.hibernateDDLAuto=update
blueprintsprocessor.db.primary.hibernateNamingStrategy=org.hibernate.cfg.ImprovedNamingStrategy
blueprintsprocessor.db.primary.hibernateDialect=org.hibernate.dialect.MySQL5InnoDBDialect
+
# Python executor
blueprints.processor.functions.python.executor.executionPath=/opt/app/onap/scripts/jython/ccsdk_blueprints
blueprints.processor.functions.python.executor.modulePaths=/opt/app/onap/scripts/jython/ccsdk_blueprints,/opt/app/onap/scripts/jython/ccsdk_netconf
security.user.password: {bcrypt}$2a$10$duaUzVUVW0YPQCSIbGEkQOXwafZGwQ/b32/Ys4R1iwSSawFgz7QNu
security.user.name: ccsdkapps
+
+# SDN-C's ODL Restconf Connection Details
+blueprintsprocessor.restconfEnabled=true
+blueprintsprocessor.restclient.sdncodl.type=basic-auth
+blueprintsprocessor.restclient.sdncodl.url=http://sdnc:8282/
+blueprintsprocessor.restclient.sdncodl.userId=admin
diff --git a/ms/blueprintsprocessor/functions/restconf-executor/src/main/kotlin/scripts/InternalSimpleRestconf.cba.kts b/ms/blueprintsprocessor/functions/restconf-executor/src/main/kotlin/scripts/InternalSimpleRestconf.cba.kts
index dbbebe52..588f7f10 100644
--- a/ms/blueprintsprocessor/functions/restconf-executor/src/main/kotlin/scripts/InternalSimpleRestconf.cba.kts
+++ b/ms/blueprintsprocessor/functions/restconf-executor/src/main/kotlin/scripts/InternalSimpleRestconf.cba.kts
@@ -52,7 +52,6 @@ open class MountNEditConfigure : RestconfComponentFunction() {
override fun process(executionRequest: ExecutionServiceInput) {
val webClientService = restClientService("odlparent")
- println("foi?")
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
@@ -60,7 +59,6 @@ open class MountNEditConfigure : RestconfComponentFunction() {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
-
}
/**
@@ -82,19 +80,3 @@ open class TestRestconfConfigure : RestconfComponentFunction() {
log.info("recovering..")
}
}
-
-
-
-println("zzzzzzzzzzzzz")
-val x = MountNEditConfigure()
-println(x.getName())
-val executionServiceInput = ExecutionServiceInput().apply {
- commonHeader = CommonHeader().apply {
- requestId = "1234"
- }
- actionIdentifiers = ActionIdentifiers().apply {
- actionName = "activate"
- }
- payload = JacksonUtils.jsonNode("{}") as ObjectNode
-}
-x.process(executionServiceInput); \ No newline at end of file
diff --git a/ms/controllerblueprints/modules/blueprint-validation/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/validation/BluePrintArtifactDefinitionValidatorImpl.kt b/ms/controllerblueprints/modules/blueprint-validation/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/validation/BluePrintArtifactDefinitionValidatorImpl.kt
index 4ea5ab5b..8072f283 100644
--- a/ms/controllerblueprints/modules/blueprint-validation/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/validation/BluePrintArtifactDefinitionValidatorImpl.kt
+++ b/ms/controllerblueprints/modules/blueprint-validation/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/validation/BluePrintArtifactDefinitionValidatorImpl.kt
@@ -58,7 +58,7 @@ open class BluePrintArtifactDefinitionValidatorImpl(
val completePath = bluePrintContext.rootPath.plus(File.separator).plus(file)
check(File(completePath).exists()) {
- throw BluePrintException("couldn't file ($completePath)")
+ throw BluePrintException("couldn't find file ($completePath)")
}
// Perform Extension Validation
diff --git a/ms/controllerblueprints/modules/service/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerServiceImplTest.kt b/ms/controllerblueprints/modules/service/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerServiceImplTest.kt
index ccacee02..3bfb3d2b 100644
--- a/ms/controllerblueprints/modules/service/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerServiceImplTest.kt
+++ b/ms/controllerblueprints/modules/service/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerServiceImplTest.kt
@@ -65,7 +65,7 @@ class BluePrintEnhancerServiceImplTest {
val basePath = "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
val targetPath = Paths.get("target", "bp-enhance").toUri().path
-
+
val bluePrintContext = bluePrintEnhancerService.enhance(basePath, targetPath)
Assert.assertNotNull("failed to get blueprintContext ", bluePrintContext)