diff options
-rw-r--r-- | docs/architecture.rst | 38 | ||||
-rw-r--r-- | docs/humaninterfaces.rst | 10 | ||||
-rw-r--r-- | docs/images/High_Level_Architecture_SDC.png | bin | 0 -> 30120 bytes | |||
-rw-r--r-- | docs/images/SDC_In_ONAP.png | bin | 0 -> 66297 bytes | |||
-rw-r--r-- | docs/index.rst | 1 | ||||
-rw-r--r-- | docs/installation.rst | 14 | ||||
-rw-r--r-- | docs/sdcsdks.rst | 41 | ||||
-rwxr-xr-x | sdc-os-chef/scripts/docker_run.sh | 4 | ||||
-rw-r--r-- | sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/Files/VNFs/Huawei_vSPGW.csar | bin | 3664 -> 0 bytes | |||
-rw-r--r-- | sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/Files/VNFs/Huawei_vSPGW_fixed.csar | bin | 0 -> 3887 bytes | |||
-rw-r--r-- | sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/recipes/sanityTests_3_sanity_execution.rb | 2 | ||||
-rw-r--r-- | test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java | 67 | ||||
-rw-r--r-- | test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java | 2 |
13 files changed, 145 insertions, 34 deletions
diff --git a/docs/architecture.rst b/docs/architecture.rst index 8daa0d3bc5..232bbf0bd4 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -1,6 +1,7 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 +============ Architecture ============ @@ -14,14 +15,45 @@ Architecture * This note must be removed after content has been added. +SDC As Part of ONAP +=================== + +.. image:: images/SDC_In_ONAP.png + + +High Level Architecture +======================= + +The following diagram shows the high-level relationship between the system components: + +.. image:: images/High_Level_Architecture_SDC.png + +The SDC architecture uses the Jetty server as an application server. + +- The **Jetty front end**: + - supplies the static content of web pages, and all resources that required by the GUI + - serves as a proxy for the REST API requests coming from the GUI + + Every request originating from the GUI is passed to the Jetty front-end server before it is executed. + +- The **Jetty back end** containes all the logic for the SDC. + +SDC uses two storage components: Elastic Search(ES) and Cassandra + +- **Elastic Search** is used to index the auditing data received from different operations in the SDC. + + This information can then be analyzed with Kibana. The **Kibana server** enables statistical analysis of the operations done, according to the business logic. + +- **Cassandra** is used to store auditing data, artifacts and data model objects. + Capabilities ------------- +============ Usage Scenarios ---------------- +=============== Interactions ------------- +============ diff --git a/docs/humaninterfaces.rst b/docs/humaninterfaces.rst index 4292846085..44641e20f8 100644 --- a/docs/humaninterfaces.rst +++ b/docs/humaninterfaces.rst @@ -1,6 +1,7 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 +================ Human Interfaces ================ @@ -13,5 +14,14 @@ Human Interfaces * This note must be removed after content has been added. +User Guides In ONAP Confluence +============================== + +Those are links to the SDC user guides found in ONAP Confluence: + +- `Resource Onboarding <https://wiki.onap.org/display/DW/Resource+Onboarding>`_ +- `Service Design <https://wiki.onap.org/display/DW/Service+Design>`_ +- `VF Creation and Testing <https://wiki.onap.org/display/DW/VF+Creation+and+Testing>`_ +- `Governance Approval and Service Distribution <https://wiki.onap.org/display/DW/Governance+Approval+and+Service+Distribution>`_ diff --git a/docs/images/High_Level_Architecture_SDC.png b/docs/images/High_Level_Architecture_SDC.png Binary files differnew file mode 100644 index 0000000000..57a564b8d0 --- /dev/null +++ b/docs/images/High_Level_Architecture_SDC.png diff --git a/docs/images/SDC_In_ONAP.png b/docs/images/SDC_In_ONAP.png Binary files differnew file mode 100644 index 0000000000..ddca06490d --- /dev/null +++ b/docs/images/SDC_In_ONAP.png diff --git a/docs/index.rst b/docs/index.rst index cc71b4572b..193734d26d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -16,3 +16,4 @@ SDC Documentation installation.rst logging.rst release-notes.rst + sdcsdks.rst
\ No newline at end of file diff --git a/docs/installation.rst b/docs/installation.rst index be64a63bb9..ab5d0469be 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -1,6 +1,7 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 +============ Installation ============ @@ -12,9 +13,18 @@ Installation * This note must be removed after content has been added. +Instalation Guides +================== + +Those are links to the SDC installation guides found in ONAP Confluence: + +- `Deploying SDC on a Linux VM for Development <https://wiki.onap.org/display/DW/Deploying+SDC+on+a+Linux+VM+for+Development>`_ +- `Using Vagrant-Onap for local deployment of SDC project <https://wiki.onap.org/pages/viewpage.action?pageId=15999821>`_ + + Environment ------------ +=========== Steps ------ +===== diff --git a/docs/sdcsdks.rst b/docs/sdcsdks.rst new file mode 100644 index 0000000000..4cb40e83b7 --- /dev/null +++ b/docs/sdcsdks.rst @@ -0,0 +1,41 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +======== +SDC SDKs +======== + + +SDC SDKs List +============= + +The sdc projects consists of a few additional sub projects listed below: + +- sdc-tosca +- sdc-jtosca +- sdc-distribution-client +- sdc-titan-cassandra + +SDC SDKs guide +============== + +SDC-TOSCA and SDC-DISTRIBUTION-CLIENT +------------------------------------- +| This is a link to a document describing the usage for the sdc-tosca, sdc-jtosca and sdc-distribution-client projects: `SDC Sub Projects <https://wiki.onap.org/display/DW/SDC+Distribution+client+AID?preview=/11929307/11929304/SDC_Distribution_AID_1710_030717.docx>`_ +| +| The link describes the use of distribution client and the sdc-tosca. +| jtosca is used by sdc-tosca as a dependency and is not used separately + +SDC-TITAN-CASSANDRA +------------------- + +| This is a link to the github page of titan project for extra reading regarding Titan DB: `<https://github.com/thinkaurelius/titan>`_ +| +| SDC forked part of the project to overide the default Titan configuration for Cassandra. +| The change allows the use of Titan as an active pasive deployment for geo redudndency. +| +| Titan by default uses QUORUM in Cassandra on write and read operations. +| Using our change allows the use of local QUORUM to read and write only to a spacific data center. +| Since the project is in end of life state the change cannot be merged back to the project. + + diff --git a/sdc-os-chef/scripts/docker_run.sh b/sdc-os-chef/scripts/docker_run.sh index 9492d4e2ce..08be852676 100755 --- a/sdc-os-chef/scripts/docker_run.sh +++ b/sdc-os-chef/scripts/docker_run.sh @@ -26,7 +26,7 @@ function monitor_docker { echo monitor $1 Docker sleep 5 -TIME_OUT=600 +TIME_OUT=900 INTERVAL=20 TIME=0 while [ "$TIME" -lt "$TIME_OUT" ]; do @@ -212,5 +212,5 @@ echo "Triger sanity docker, please wait..." if [ ${LOCAL} = false ]; then docker pull ${PREFIX}/sdc-sanity:${RELEASE} fi - docker run --detach --name sdc-sanity --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env http_proxy=${http_proxy} --env https_proxy=${https_proxy} --env no_proxy=${no_proxy} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --memory 1g --memory-swap=1g --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro --volume /data/logs/sdc-sanity/target:/var/lib/tests/target --volume /data/logs/sdc-sanity/ExtentReport:/var/lib/tests/ExtentReport --volume /data/environments:/root/chef-solo/environments --publish 9560:9560 ${PREFIX}/sdc-sanity:${RELEASE} + docker run --detach --name sdc-sanity --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env http_proxy=${http_proxy} --env https_proxy=${https_proxy} --env no_proxy=${no_proxy} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --memory 1g --memory-swap=1g --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro --volume /data/logs/sdc-sanity/target:/var/lib/tests/target --volume /data/logs/sdc-sanity/ExtentReport:/var/lib/tests/ExtentReport --volume /data/logs/sdc-sanity/outputCsar:/var/lib/tests/outputCsar --volume /data/environments:/root/chef-solo/environments --publish 9560:9560 ${PREFIX}/sdc-sanity:${RELEASE} fi
\ No newline at end of file diff --git a/sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/Files/VNFs/Huawei_vSPGW.csar b/sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/Files/VNFs/Huawei_vSPGW.csar Binary files differdeleted file mode 100644 index 8beae6e74a..0000000000 --- a/sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/Files/VNFs/Huawei_vSPGW.csar +++ /dev/null diff --git a/sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/Files/VNFs/Huawei_vSPGW_fixed.csar b/sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/Files/VNFs/Huawei_vSPGW_fixed.csar Binary files differnew file mode 100644 index 0000000000..fa83c17d20 --- /dev/null +++ b/sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/files/default/Files/VNFs/Huawei_vSPGW_fixed.csar diff --git a/sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/recipes/sanityTests_3_sanity_execution.rb b/sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/recipes/sanityTests_3_sanity_execution.rb index c4323c233f..53482a7dd7 100644 --- a/sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/recipes/sanityTests_3_sanity_execution.rb +++ b/sdc-os-chef/sdc-sanity/chef-repo/cookbooks/sdc-sanity/recipes/sanityTests_3_sanity_execution.rb @@ -6,7 +6,7 @@ cwd "#{tests_base}" code <<-EOH cd "#{tests_base}" jar_file=`ls test-apis*-jar-with-dependencies.jar` - ./startTest.sh $jar_file #{ci_test_suite} > #{tests_base}/target/startTest.out 2>&1 + ./startTest.sh $jar_file #{ci_test_suite} > #{tests_base}/target/startTest.log 2>&1 echo "return code from startTest.sh = [$?]" EOH timeout 72000 diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java index 92645fa6f3..b545145be8 100644 --- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java +++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java @@ -20,13 +20,20 @@ package org.openecomp.sdc.ci.tests.api; -import ch.qos.logback.classic.Level; -import ch.qos.logback.classic.LoggerContext; -import com.aventstack.extentreports.ExtentTest; -import com.aventstack.extentreports.Status; -import com.thinkaurelius.titan.core.TitanFactory; -import com.thinkaurelius.titan.core.TitanGraph; -import com.thinkaurelius.titan.core.TitanVertex; +import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertNotNull; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.function.Consumer; +import java.util.stream.Collectors; + import org.apache.commons.collections.CollectionUtils; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.tuple.ImmutablePair; @@ -40,7 +47,11 @@ import org.openecomp.sdc.be.dao.neo4j.GraphPropertiesDictionary; import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; -import org.openecomp.sdc.be.model.*; +import org.openecomp.sdc.be.model.Component; +import org.openecomp.sdc.be.model.Product; +import org.openecomp.sdc.be.model.Resource; +import org.openecomp.sdc.be.model.Service; +import org.openecomp.sdc.be.model.User; import org.openecomp.sdc.ci.tests.config.Config; import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; @@ -50,21 +61,31 @@ import org.openecomp.sdc.ci.tests.utils.cassandra.CassandraUtils; import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.general.FileHandling; -import org.openecomp.sdc.ci.tests.utils.rest.*; +import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.CatalogRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.CategoryRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser; +import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils; import org.slf4j.LoggerFactory; import org.testng.ITestContext; import org.testng.ITestResult; -import org.testng.annotations.*; +import org.testng.annotations.AfterClass; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.AfterSuite; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.BeforeSuite; +import org.testng.annotations.Test; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.*; -import java.util.function.Consumer; -import java.util.stream.Collectors; +import com.aventstack.extentreports.ExtentTest; +import com.aventstack.extentreports.Status; +import com.thinkaurelius.titan.core.TitanFactory; +import com.thinkaurelius.titan.core.TitanGraph; +import com.thinkaurelius.titan.core.TitanVertex; -import static org.testng.AssertJUnit.assertEquals; -import static org.testng.AssertJUnit.assertNotNull; +import ch.qos.logback.classic.Level; +import ch.qos.logback.classic.LoggerContext; public abstract class ComponentBaseTest { @@ -117,8 +138,9 @@ public abstract class ComponentBaseTest { openTitanLogic(); performClean(); - - + String basePath = FileHandling.getBasePath(); + String csarDir = FileHandling.getCreateDirByName("outputCsar"); + FileUtils.cleanDirectory(new File(csarDir)); } @BeforeMethod(alwaysRun = true) @@ -188,11 +210,6 @@ public abstract class ComponentBaseTest { performClean(); shutdownTitanLogic(); -// String basePath = FileHandling.getBasePath(); -// String csarDir = FileHandling.getCreateDirByName("outputCsar"); -// FileUtils.cleanDirectory(new File(csarDir)); - - } protected static void openTitanLogic() throws Exception { diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java index 2477b42ee2..8764779c02 100644 --- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java +++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java @@ -126,7 +126,7 @@ public class Onboard extends ComponentBaseTest { try{ // HttpResponse assetResponse = AssetRestUtils.getComponentToscaModel(AssetTypeEnum.SERVICES, service.getUUID()); // InputStream inputStream = assetResponse.getEntity().getContent(); - File csarFile = AssetRestUtils.getToscaModelCsarFile(AssetTypeEnum.SERVICES, service.getUUID(), ""); + File csarFile = AssetRestUtils.getToscaModelCsarFile(AssetTypeEnum.SERVICES, service.getUUID(), vnfFile); ExtentTestActions.log(Status.INFO, "Tosca parser is going to convert service csar file to ISdcCsarHelper object..."); fdntCsarHelper = factory.getSdcCsarHelper(csarFile.getAbsolutePath()); |