From: Lusheng Ji Date: Tue, 12 Nov 2019 14:45:06 +0000 (+0000) Subject: Merge "Ignore TSC line too long" X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=53eb04e2930ce4e5dd5603d5064d0e37e13b4d0d;hp=e0fd6cdeeeff1dadd20518eb4bf6863888657868;p=it%2Fotf.git Merge "Ignore TSC line too long" --- diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000..3797dc8 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,20 @@ +--- +# .readthedocs.yml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details +# Required +version: 2 + +formats: + - htmlzip + +build: + image: latest + +python: + version: 3.7 + install: + - requirements: docs/requirements-docs.txt + +sphinx: + configuration: docs/conf.py diff --git a/INFO.yaml b/INFO.yaml index 22afdb4..b2b42fc 100644 --- a/INFO.yaml +++ b/INFO.yaml @@ -48,6 +48,16 @@ committers: id: 'rp5811' company: 'AT&T' timezone: 'America/New_York' + - name: 'Adam Ordway' + email: 'ao8347@att.com' + id: 'ao8347' + company: 'AT&T' + timezone: 'America/New_York' + - name: 'Justin Meilinger' + email: 'jx088j@att.com' + id: 'jx088j' + company: 'AT&T' + timezone: 'America/New_York' - <<: *it-otf_ptl tsc: # yamllint disable-line rule:line-length diff --git a/docs/_static/logo.png b/docs/_static/logo.png new file mode 100644 index 0000000..c3b6ce5 Binary files /dev/null and b/docs/_static/logo.png differ diff --git a/docs/api-docs.rst b/docs/api-docs.rst new file mode 100644 index 0000000..f65aaa8 --- /dev/null +++ b/docs/api-docs.rst @@ -0,0 +1,30 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +API-Docs +======== + +This is the API-docs of + +.. contents:: + :depth: 3 + :local: + +.. note + +.. This section is used to describe a software API exposed from a O-RAN software component. + +.. This note must be removed after content has been added. + + +API Introduction +----------------- +.. Please add what API a component have exposed. + +API Functions +------------- +.. Please states the API functions. + diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..0b88dfc --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,23 @@ +# ================================================================================== +# Copyright (c) 2019 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 docs_conf.conf import * +linkcheck_ignore = [ + 'http://localhost.*', + 'http://127.0.0.1.*', + 'https://gerrit.o-ran-sc.org.*' +] + diff --git a/docs/conf.yaml b/docs/conf.yaml new file mode 100644 index 0000000..9d732c9 --- /dev/null +++ b/docs/conf.yaml @@ -0,0 +1,19 @@ +--- +# ================================================================================== +# Copyright (c) 2019 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. +# ================================================================================== +project_cfg: oran +project: it/otf + diff --git a/docs/developer-guide.rst b/docs/developer-guide.rst new file mode 100644 index 0000000..97c6533 --- /dev/null +++ b/docs/developer-guide.rst @@ -0,0 +1,35 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +Developer-Guide +=============== + +.. contents:: + :depth: 3 + :local: + +.. note: +.. * This section is used to describe what a contributor needs to know in order to work on the componenta + +.. * this should be very technical, aimed at people who want to help develop the components + +.. * this should be how the component does what it does, not a requirements document of what the component should do + +.. * this should contain what language(s) and frameworks are used, with versions + +.. * this should contain how to obtain the code, where to look at work items (Jira tickets), how to get started developing + +.. * This note must be removed after content has been added. + + +Processes +--------- + + + +Actions +------- + diff --git a/docs/favicon.ico b/docs/favicon.ico new file mode 100644 index 0000000..00b0fd0 Binary files /dev/null and b/docs/favicon.ico differ diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..26ddaf1 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,23 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +Welcome to O-RAN SC it/dev Documentation +=========================================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + overview.rst + developer-guide.rst + release-notes.rst + api-docs.rst + developer-guide.rst + user-guide.rst + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/docs/overview.rst b/docs/overview.rst new file mode 100644 index 0000000..4e09fb9 --- /dev/null +++ b/docs/overview.rst @@ -0,0 +1,12 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +Overview +====================== + +This repo is used by the O-RAN SC Integration and Testing project for hosting miscellaneous development codes. + +For Amber release this repo contains files for developing Near Realtime RAN Intelligent Controller applications. diff --git a/docs/release-notes.rst b/docs/release-notes.rst new file mode 100644 index 0000000..694d2d9 --- /dev/null +++ b/docs/release-notes.rst @@ -0,0 +1,171 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +Release-Notes +============= + + +This document provides the release notes for of . + +.. contents:: + :depth: 3 + :local: + + +Version history +--------------- + ++--------------------+--------------------+--------------------+--------------------+ +| **Date** | **Ver.** | **Author** | **Comment** | +| | | | | ++--------------------+--------------------+--------------------+--------------------+ +| 20XX-XX-XX | 0.1.0 | | First draft | +| | | | | ++--------------------+--------------------+--------------------+--------------------+ +| | 0.1.1 | | | +| | | | | ++--------------------+--------------------+--------------------+--------------------+ +| | 1.0 | | | +| | | | | ++--------------------+--------------------+--------------------+--------------------+ + + +Summary +------- + + + + + + +Release Data +------------ + + +: + ++--------------------------------------+--------------------------------------+ +| **Project** | E.g. project | +| | | ++--------------------------------------+--------------------------------------+ +| **Repo/commit-ID** | E.g. genesis/adf634a0d4..... | +| | | ++--------------------------------------+--------------------------------------+ +| **Release designation** | E.g. Arno RC2 | +| | | ++--------------------------------------+--------------------------------------+ +| **Release date** | E.g. 2015-04-16 | +| | | ++--------------------------------------+--------------------------------------+ +| **Purpose of the delivery** | | +| | | ++--------------------------------------+--------------------------------------+ + + + + +Feature Additions +^^^^^^^^^^^^^^^^^ + + +: + +**JIRA BACK-LOG:** + ++--------------------------------------+--------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | +| | | ++--------------------------------------+--------------------------------------+ + +Bug Corrections +^^^^^^^^^^^^^^^ + +**JIRA TICKETS:** + ++--------------------------------------+--------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | +| | | ++--------------------------------------+--------------------------------------+ + +Deliverables +^^^^^^^^^^^^ + +Software Deliverables ++++++++++++++++++++++ + + + + + +Documentation Deliverables +++++++++++++++++++++++++++ + + + + + + +Known Limitations, Issues and Workarounds +----------------------------------------- + +System Limitations +^^^^^^^^^^^^^^^^^^ + + + + +Known Issues +^^^^^^^^^^^^ + + +: + +**JIRA TICKETS:** + ++--------------------------------------+--------------------------------------+ +| **JIRA REFERENCE** | **SLOGAN** | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | +| | | ++--------------------------------------+--------------------------------------+ +| | | +| | | +| | | ++--------------------------------------+--------------------------------------+ + +Workarounds +^^^^^^^^^^^ + + + + + + +References +---------- + + + + + diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt new file mode 100644 index 0000000..09a0c1c --- /dev/null +++ b/docs/requirements-docs.txt @@ -0,0 +1,5 @@ +sphinx +sphinx-rtd-theme +sphinxcontrib-httpdomain +recommonmark +lfdocs-conf diff --git a/docs/user-guide.rst b/docs/user-guide.rst new file mode 100644 index 0000000..e4e423b --- /dev/null +++ b/docs/user-guide.rst @@ -0,0 +1,33 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +User Guide +========== + +This is the user guide of OSC . + +.. contents:: + :depth: 3 + :local: + +.. a user guide should be how to use the component or system; it should not be a requirements document +.. delete this content after edittng it + + +Description +----------- +.. Describe the traget users of the projcet, for example, modeler/data scientist, ORAN-OSC platform admin, marketplace user, design studio end user, etc +.. Descirbe how the target users can get use of a O-RAN SC component. +.. If the guide contains sections on third-party tools, is it clearly stated why the O-RAN-OSC platform is using those tools? Are there instructions on how to install and configure each tool/toolset? + +Feature Introduction +-------------------- +.. Provide enough information that a user will be able to operate the feature on a deployed scenario. content can be added from administration, management, using, Troubleshooting sections perspectives. + + + + + diff --git a/oran-ric-test-head/Dockerfile b/oran-ric-test-head/Dockerfile new file mode 100644 index 0000000..7b6be0c --- /dev/null +++ b/oran-ric-test-head/Dockerfile @@ -0,0 +1,28 @@ +# Copyright (c) 2019 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 python:2.7 + +RUN python --version + +ADD pip-requirements.txt pip-requirements.txt +ADD ric-test-head.py ric-test-head.py +ADD config.json config.json + +RUN mkdir -p /otf/logs + +RUN python -m pip install -r pip-requirements.txt + +ENTRYPOINT ["python", "ric-test-head.py"] diff --git a/oran-ric-test-head/Jenkinsfile b/oran-ric-test-head/Jenkinsfile new file mode 100644 index 0000000..a6ad06a --- /dev/null +++ b/oran-ric-test-head/Jenkinsfile @@ -0,0 +1,155 @@ +#!/usr/bin/env groovy + +/* Copyright (c) 2019 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. # +##############################################################################*/ + +properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [ + [$class: 'hudson.model.StringParameterDefinition', name: 'PHASE', defaultValue: "BUILD"], + [$class: 'hudson.model.StringParameterDefinition', name: 'ENV', defaultValue: "dev"], + [$class: 'hudson.model.StringParameterDefinition', name: 'MECHID', defaultValue: "m13591_otf_dev"], + [$class: 'hudson.model.StringParameterDefinition', name: 'KUBE_CONFIG', defaultValue: "kubeConfig-dev"], + [$class: 'hudson.model.StringParameterDefinition', name: 'TILLER_NAMESPACE', defaultValue: "com-att-ecomp-otf-dev"] +]]]) + + +echo "Build branch: ${env.BRANCH_NAME}" + +node("docker"){ + stage 'Checkout' + checkout scm + PHASES=PHASE.tokenize( '_' ); + echo "PHASES : " + PHASES + + + ARTIFACT_ID="ric-test-head"; + VERSION="Camile.2.0"; + NAMESPACE="com.att.ecomp.otf" + DOCKER_REGISTRY="dockercentral.it.att.com:5100" + + if( ENV.equalsIgnoreCase("dev") ){ + IMAGE_NAME=DOCKER_REGISTRY + "/" + NAMESPACE + ".dev" + "/" + ARTIFACT_ID + ":" + VERSION + + } + if( ENV.equalsIgnoreCase("prod") || ENV.equalsIgnoreCase("prod-dr")){ + IMAGE_NAME=DOCKER_REGISTRY + "/" + NAMESPACE + ".prod" + "/" + ARTIFACT_ID + ":" + VERSION + + } + + if( ENV.equalsIgnoreCase("st") ){ + IMAGE_NAME=DOCKER_REGISTRY + "/" + NAMESPACE + ".st" + "/" + ARTIFACT_ID + ":" + VERSION + + } + + echo "Artifact: " + IMAGE_NAME + + withEnv(["PATH=${env.PATH}:${env.WORKSPACE}/linux-amd64", "HELM_HOME=${env.WORKSPACE}"]) { + + echo "PATH=${env.PATH}" + echo "HELM_HOME=${env.HELM_HOME}" + + if (PHASES.contains("BUILD")){ + + stage 'Publish Artifact' + + withCredentials([usernamePassword(credentialsId: MECHID, usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { + + echo "Artifact: " + IMAGE_NAME + + sh """ + docker login $DOCKER_REGISTRY --username $USERNAME --password $PASSWORD + docker build -t $IMAGE_NAME . + docker push $IMAGE_NAME + """ + } + + } + + if (PHASES.contains("DEPLOY") || PHASES.contains("UNDEPLOY")) { + + stage 'Init Helm' + + //check if helm exists if not install + if(fileExists('linux-amd64/helm')){ + sh """ + echo "helm is already installed" + """ + } + else{ + //download helm + sh """ + echo "installing helm" + wget https://storage.googleapis.com/kubernetes-helm/helm-v2.14.3-linux-amd64.tar.gz + tar -xf helm-v2.14.3-linux-amd64.tar.gz + rm helm-v2.14.3-linux-amd64.tar.gz + """ + } + + withCredentials([file(credentialsId: KUBE_CONFIG, variable: 'KUBECONFIG')]) { + + dir('helm'){ + //check if charts are valid, and then perform dry run, if successful then upgrade/install charts + + if (PHASES.contains("UNDEPLOY") ) { + stage 'Undeploy' + + sh """ + helm delete --tiller-namespace=$TILLER_NAMESPACE --purge $ARTIFACT_ID + """ + } + + //NOTE Double quotes are used below to access groovy variables like artifact_id and tiller_namespace + if (PHASES.contains("DEPLOY") ){ + stage 'Deploy' + withCredentials([usernamePassword(credentialsId: MECHID, usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { + + sh """ + echo "Validate Yaml" + helm lint $ARTIFACT_ID + + echo "View Helm Templates" + helm template $ARTIFACT_ID --set appName=$ARTIFACT_ID \ + --set appName=$ARTIFACT_ID \ + --set version=$VERSION \ + --set env=$ENV \ + --set image=$IMAGE_NAME \ + --set namespace=$TILLER_NAMESPACE + + echo "Perform Dry Run Of Install" + helm upgrade --tiller-namespace=$TILLER_NAMESPACE --install --dry-run $ARTIFACT_ID $ARTIFACT_ID \ + --set appName=$ARTIFACT_ID \ + --set version=$VERSION \ + --set env=$ENV \ + --set image=$IMAGE_NAME \ + --set namespace=$TILLER_NAMESPACE + + + echo "Helm Install/Upgrade" + helm upgrade --tiller-namespace=$TILLER_NAMESPACE --install $ARTIFACT_ID $ARTIFACT_ID \ + --set appName=$ARTIFACT_ID \ + --set version=$VERSION \ + --set env=$ENV \ + --set image=$IMAGE_NAME \ + --set namespace=$TILLER_NAMESPACE + + """ + } + } + + } + } + } + + } +} diff --git a/oran-ric-test-head/LICENSE.txt b/oran-ric-test-head/LICENSE.txt new file mode 100644 index 0000000..aa73a11 --- /dev/null +++ b/oran-ric-test-head/LICENSE.txt @@ -0,0 +1,28 @@ +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the "Software License"); +you may not use this software except in compliance with the Software +License. You may obtain a copy of the Software License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the Software License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the Software License for the specific language governing permissions +and limitations under the Software License. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the +"Documentation License"); you may not use this documentation except in +compliance with the Documentation License. You may obtain a copy of the +Documentation License at + +https://creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +distributed under the Documentation License is distributed on an "AS IS" +BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied. See the Documentation License for the specific language governing +permissions and limitations under the Documentation License. \ No newline at end of file diff --git a/oran-ric-test-head/config.json b/oran-ric-test-head/config.json new file mode 100644 index 0000000..95e4359 --- /dev/null +++ b/oran-ric-test-head/config.json @@ -0,0 +1,10 @@ +{ + "base_address": "http://localhost:3000", + "actions_path": { + "alive": "/appmgr/ric/v1/health/alive", + "ready": "/appmgr/ric/v1/health/ready", + "list": "/appmgr/ric/v1/xapps", + "deploy": "/appmgr/ric/v1/xapps", + "delete": "/appmgr/ric/v1/xapps/" + } +} \ No newline at end of file diff --git a/oran-ric-test-head/container-tag.yaml b/oran-ric-test-head/container-tag.yaml new file mode 100644 index 0000000..ee078db --- /dev/null +++ b/oran-ric-test-head/container-tag.yaml @@ -0,0 +1,15 @@ +--- +# Copyright (c) 2019 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. +tag: 0.0.1 diff --git a/oran-ric-test-head/helm/ric-test-head/.helmignore b/oran-ric-test-head/helm/ric-test-head/.helmignore new file mode 100644 index 0000000..daebc7d --- /dev/null +++ b/oran-ric-test-head/helm/ric-test-head/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/oran-ric-test-head/helm/ric-test-head/Chart.yaml b/oran-ric-test-head/helm/ric-test-head/Chart.yaml new file mode 100644 index 0000000..f26e1ae --- /dev/null +++ b/oran-ric-test-head/helm/ric-test-head/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart for the Ping Server Virtual Test Head +name: oran-ric-test-head +version: 0.0.1 diff --git a/oran-ric-test-head/helm/ric-test-head/templates/deployment.yaml b/oran-ric-test-head/helm/ric-test-head/templates/deployment.yaml new file mode 100644 index 0000000..4c38c37 --- /dev/null +++ b/oran-ric-test-head/helm/ric-test-head/templates/deployment.yaml @@ -0,0 +1,113 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: {{ .Values.appName}} + namespace: {{.Values.namespace}} + labels: + app: {{ .Values.appName}} + version: {{.Values.version}} +spec: + revisionHistoryLimit: 1 + minReadySeconds: 10 + strategy: + # indicate which strategy we want for rolling update + type: RollingUpdate + rollingUpdate: + maxSurge: 0 + maxUnavailable: 1 + replicas: {{ .Values.replicas}} + selector: + matchLabels: + app: {{ .Values.appName}} + version: {{.Values.version}} + template: + metadata: + labels: + app: {{ .Values.appName}} + version: {{.Values.version}} + spec: + serviceAccount: default + volumes: + - name: {{ .Values.appName}}-cert-volume + secret: + secretName: {{.Values.sharedCert}} + optional: true + items: + - key: PEM_CERT + path: otf.pem + - key: PEM_KEY + path: privateKey.pem + {{ if or (eq .Values.env "st") (eq .Values.env "prod-dr")}} + {{else}} + - name: logging-pvc + persistentVolumeClaim: + {{if eq .Values.env "prod"}} + claimName: {{ .Values.pvc.prod | quote }} + {{ else }} + claimName: {{ .Values.pvc.dev | quote }} + {{ end }} + {{end}} + containers: + - name: {{ .Values.appName}} + image: {{ .Values.image}} + imagePullPolicy: Always + ports: + - name: http + containerPort: 5000 + nodePort: {{.Values.nodePort}} + protocol: TCP + {{ if eq .Values.env "st"}} + resources: + limits: + memory: "512Mi" + cpu: "500m" + requests: + memory: "256Mi" + cpu: "100m" + {{else}} + resources: + limits: + memory: "1Gi" + cpu: "1" + requests: + memory: "1Gi" + cpu: "1" + {{end}} + env: + - name: NAMESPACE + value: {{.Values.namespace}} + - name: APP_NAME + value: {{ .Values.appName}} + - name: APP_VERSION + value: {{.Values.version}} + volumeMounts: + - name: {{.Values.appName}}-cert-volume + mountPath: /opt/cert + {{ if or (eq .Values.env "st") (eq .Values.env "prod-dr")}} + {{else}} + - name: logging-pvc + mountPath: "/otf/logs" + {{end}} + livenessProbe: + httpGet: + path: {{.Values.health}} + port: http + scheme: HTTP + httpHeaders: + - name: X-Custom-Header + value: Alive + initialDelaySeconds: 30 + timeoutSeconds: 30 + periodSeconds: 30 + readinessProbe: + httpGet: + path: {{.Values.health}} + port: http + scheme: HTTP + httpHeaders: + - name: X-Custom-Header + value: Ready + initialDelaySeconds: 30 + timeoutSeconds: 30 + periodSeconds: 30 + restartPolicy: Always diff --git a/oran-ric-test-head/helm/ric-test-head/templates/service.yaml b/oran-ric-test-head/helm/ric-test-head/templates/service.yaml new file mode 100644 index 0000000..f3bcfab --- /dev/null +++ b/oran-ric-test-head/helm/ric-test-head/templates/service.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Values.appName }} + namespace: {{ .Values.namespace}} + labels: + app: {{ .Values.appName }} + version: {{ .Values.version}} +spec: + type: NodePort + ports: + - name: http + port: 5000 + protocol: TCP + nodePort: {{ .Values.nodePort}} + selector: + app: {{ .Values.appName }} + version: {{ .Values.version}} diff --git a/oran-ric-test-head/helm/ric-test-head/values.yaml b/oran-ric-test-head/helm/ric-test-head/values.yaml new file mode 100644 index 0000000..6c5d067 --- /dev/null +++ b/oran-ric-test-head/helm/ric-test-head/values.yaml @@ -0,0 +1,12 @@ +appName: ric-test-head +env: dev +version: 0.0.1-SNAPSHOT +image: ric-test-head:0.0.1-SNAPSHOT +namespace: org-oran-otf +nodePort: 32323 +replicas: 1 +health : /otf/vth/oran/v1/health +sharedCert: otf-cert-secret-builder +pvc: + dev: org-oran-otf-dev-logs-pv + prod: org-oran-otf-prod-logs-pv diff --git a/oran-ric-test-head/mock_server/index.js b/oran-ric-test-head/mock_server/index.js new file mode 100644 index 0000000..d915ef9 --- /dev/null +++ b/oran-ric-test-head/mock_server/index.js @@ -0,0 +1,46 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + +const express = require('express') +const app = express() +const port = 3000 + +app.get('/', (req, res) => res.send('Hello World!')) + +app.get('/appmgr/ric/v1/health/ready',function(req,res){ + res.sendStatus(200) +}) + +app.get('/appmgr/ric/v1/health/alive',function(req,res){ + res.sendStatus(200) +}) + +app.get('/appmgr/ric/v1/xapps',function(req,res){ + res.status(200) + res.send([{"name":"admin-xapp","status":"deployed","version":"1.0","instances":null},{"name":"mcxapp","status":"deployed","version":"1.0","instances":[{"name":"mcxapp-649d7494-h5tjb","status":"running","ip":"service-ricxapp-mcxapp-rmr.ricxapp","port":4560,"txMessages":null,"rxMessages":["RIC_SUB_RESP","RIC_SUB_FAILURE","RIC_SUB_DEL_RESP","RIC_SUB_DEL_FAILURE","RIC_INDICATION"]}]},{"name":"ueec","status":"deployed","version":"1.0","instances":[{"name":"ueec-6675694b75-jtnz6","status":"running","ip":"service-ricxapp-ueec-rmr.ricxapp","port":4560,"txMessages":["RIC_SUB_REQ","RIC_SUB_DEL_REQ"],"rxMessages":["RIC_SUB_RESP","RIC_SUB_FAILURE","RIC_SUB_DEL_RESP","RIC_SUB_DEL_FAILURE","RIC_INDICATION"]}]}]) +}) + +app.post('/appmgr/ric/v1/xapps', function(req,res){ + res.statusMessage = 'Created' + res.status(201) + res.send({"result_output":{"name":"anr","status":"deployed","version":"1.0","instances":[{"name":"anr-7d4c47b4bb-jlslm","status":"running","ip":"service-ricxapp-anr-rmr.ricxapp","port":4560,"txMessages":null,"rxMessages":["RIC_SGNB_ADDITION_REQ","RIC_RRC_TRANSFER"]}]}}) +}) + +app.delete('/appmgr/ric/v1/xapps/:name',function(req,res){ + res.sendStatus(204) +}) + +app.listen(port, () => console.log(`Example app listening on port ${port}!`)) + diff --git a/oran-ric-test-head/mock_server/package.json b/oran-ric-test-head/mock_server/package.json new file mode 100644 index 0000000..f699513 --- /dev/null +++ b/oran-ric-test-head/mock_server/package.json @@ -0,0 +1,14 @@ +{ + "name": "mock_server", + "version": "1.0.0", + "description": "mock server for RIC", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "express": "^4.17.1" + } +} diff --git a/oran-ric-test-head/opt/cert/certInfo.txt b/oran-ric-test-head/opt/cert/certInfo.txt new file mode 100644 index 0000000..0799b0b --- /dev/null +++ b/oran-ric-test-head/opt/cert/certInfo.txt @@ -0,0 +1 @@ +add certs here. requires two pem files (Cert and key) diff --git a/oran-ric-test-head/pip-requirements.txt b/oran-ric-test-head/pip-requirements.txt new file mode 100644 index 0000000..4fbe8e7 --- /dev/null +++ b/oran-ric-test-head/pip-requirements.txt @@ -0,0 +1,6 @@ +flask +flask-cors +paramiko +FLASK +FLASK-CORS +requests diff --git a/oran-ric-test-head/ric-test-head.py b/oran-ric-test-head/ric-test-head.py new file mode 100644 index 0000000..9057678 --- /dev/null +++ b/oran-ric-test-head/ric-test-head.py @@ -0,0 +1,118 @@ +# Copyright (c) 2019 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 datetime +import json +import logging +from logging import FileHandler +import os + +import requests +from flask import Flask, request, jsonify + +#redirect http to https +app = Flask(__name__) + + +# Prevents print statement every time an endpoint is triggered. +logging.getLogger("werkzeug").setLevel(logging.WARNING) + +def unix_time_millis(dt): + epoch = datetime.datetime.utcfromtimestamp(0) + return (dt - epoch).total_seconds() * 1000.0 + + +@app.route("/otf/vth/oran/v1/health", methods=['GET']) +def getHealth(): + return "UP" + +@app.route("/otf/vth/oran/ric/v1", methods =['POST']) +def executeRicRequest(): + + responseData = { + 'vthResponse': { + 'testDuration': '', + 'dateTimeUTC': datetime.datetime.now(), + 'abstractMessage': '', + 'resultData': {} + } + } + + startTime = unix_time_millis(datetime.datetime.now()) + + try: + if not request.is_json: + raise ValueError("request must be json") + + requestData = request.get_json() + + app.logger.info("Ric requestData:"+str(requestData)) + + action = requestData['action'].lower() + possibleActions = ['alive','ready','list', 'deploy','delete'] + responseData['vthResponse']['abstractMessage'] = 'Result from {}'.format(action) + + if action not in possibleActions: + raise KeyError("invalid action") + if (action == 'deploy' or action == 'delete') and 'name' not in requestData: + raise KeyError("must include name") + + with open('config.json') as configFile: + config = json.load(configFile) + + baseAddress= config['base_address'] + + if action == 'alive' or action == 'ready': + res = requests.get(baseAddress+config['actions_path'][action]) + responseData['vthResponse']['resultData']['statusCode'] = res.status_code + responseData['vthResponse']['resultData']['resultOutput'] = res.text + elif action == 'list': + res = requests.get(baseAddress+config['actions_path'][action]) + responseData['vthResponse']['resultData']['statusCode'] = res.status_code + responseData['vthResponse']['resultData']['resultOutput'] = res.json() + elif action == 'deploy': + payload = json.dumps({'name': requestData['name']}) + res = requests.post(baseAddress+config['actions_path'][action], data=payload) + responseData['vthResponse']['resultData']['statusCode'] = res.status_code + responseData['vthResponse']['resultData']['resultOutput'] = res.json() + elif action == 'delete': + path= baseAddress+config['actions_path'][action]+"{}".format(requestData['name']) + res = requests.delete(path) + responseData['vthResponse']['resultData']['resultOutput'] = res.text + responseData['vthResponse']['resultData']['statusCode'] = res.status_code + + except Exception as ex: + endTime = unix_time_millis(datetime.datetime.now()) + totalTime = endTime - startTime + responseData['vthResponse']['testDuration'] = totalTime + responseData['vthResponse']['abstractMessage'] = str(ex) + return jsonify(responseData) + + endTime = unix_time_millis(datetime.datetime.now()) + totalTime= endTime-startTime + + responseData['vthResponse']['testDuration'] = totalTime + + return jsonify(responseData),200 + +if __name__ == '__main__': + # logHandler = FileHandler('otf/logs/pingVTH.log', mode='a') + logHandler = FileHandler('ricVTH.log', mode='a') + logHandler.setLevel(logging.INFO) + app.logger.setLevel(logging.INFO) + app.logger.addHandler(logHandler) + # context = ('opt/cert/otf.pem', 'opt/cert/privateKey.pem') + # app.run(debug = False, host = '0.0.0.0', port = 5000, ssl_context = context) + app.run(debug = False, host = '0.0.0.0', port = 5000) diff --git a/oran-ric-test-head/workflows/Delete_xAPP_Test.bpmn b/oran-ric-test-head/workflows/Delete_xAPP_Test.bpmn new file mode 100644 index 0000000..98be1cc --- /dev/null +++ b/oran-ric-test-head/workflows/Delete_xAPP_Test.bpmn @@ -0,0 +1,214 @@ + + + + + SequenceFlow_03vt4gu + + + SequenceFlow_03vt4gu + SequenceFlow_1gceb7d + var System = java.lang.System + +var deleteVthId = 'delete' +var testData = execution.getVariable("testData") +var vthInput = execution.getVariable("vthInput") +var validInput = false; +var testResultMessage = ""; + +try{ + + var appName = testData['appName']; + + if(typeof appName !== 'string' || appName.trim() === ''){ + System.out.println("appName is not a string, or empty string") + throw Error("appName is not a string, or empty string") + } + + + validInput = true + + vthInput[deleteVthId].name = appName +} +catch(err){ + System.out.println(err) + validInput = false + testResultMessage = "Invalid input params. error: " + err; + execution.setVariable("testResult", "FAILED"); +} + +execution.setVariable("validInput", validInput) +execution.setVariable("testResultMessage", testResultMessage) + + + SequenceFlow_1gceb7d + SequenceFlow_1xykozf + SequenceFlow_035k1kv + + + + + ${validInput} + + + SequenceFlow_035k1kv + SequenceFlow_11htm0z + SequenceFlow_1ivi698 + execution.setVariable("testResult", "FAILED") + + + SequenceFlow_1fcorq2 + SequenceFlow_1s62i1u + execution.setVariable("testResult", "SUCCESS") + + + SequenceFlow_1czqxne + + + + + + + SequenceFlow_1hq011g + SequenceFlow_1fcorq2 + SequenceFlow_11htm0z + + + + ${deleted} + + + + + SequenceFlow_1rdc2w4 + SequenceFlow_1hq011g + var System = java.lang.System + +var deleteVthId = 'delete' +var testData = execution.getVariable("testData") +var vthInput = execution.getVariable("vthInput") +var deleted = false; +var testResultMessage = "RIC VTH reported that the xapp was not deleted." + + + +try { + //get output from delete call + var testExecution = execution.getVariable('otf-execution-testExecution'); + var data = null; + testExecution.testHeadResults.forEach(function(item, index, array) { + if(item.bpmnVthTaskId == deleteVthId ){ + data = item['testHeadResponse']['vthResponse']['resultData']['statusCode']; + } + }) + + if(data === 204){ + deleted = true + testResultMessage = "RIC VTH reported that the xapp was deleted." + } + +} +catch(err) { + deleted = false +} + +execution.setVariable("deleted", deleted); +execution.setVariable("testResultMessage", testResultMessage); + + + + SequenceFlow_1ivi698 + SequenceFlow_1s62i1u + SequenceFlow_1czqxne + + + SequenceFlow_1xykozf + SequenceFlow_1rdc2w4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/oran-ric-test-head/workflows/Deploy_xAPP_Test.bpmn b/oran-ric-test-head/workflows/Deploy_xAPP_Test.bpmn new file mode 100644 index 0000000..9cefb0e --- /dev/null +++ b/oran-ric-test-head/workflows/Deploy_xAPP_Test.bpmn @@ -0,0 +1,463 @@ + + + + + SequenceFlow_0st7o3p + + + + + + ${ready} + + + + + + + + + + + + + ${deployed} + + + + ${validInput} + + + + ${!alreadyDeployed} + + + + + SequenceFlow_0j9397y + SequenceFlow_0e1kt1e + var System = java.lang.System + +var readyVthId = 'ready' +var testData = execution.getVariable("testData") +var vthInput = execution.getVariable("vthInput") +var ready = false; +var testResultMessage = "RIC VTH reported that xAppManager is not ready." + + + +try { + //get output from ready call + var testExecution = execution.getVariable('otf-execution-testExecution'); + var data = null; + testExecution.testHeadResults.forEach(function(item, index, array) { + if(item.bpmnVthTaskId == readyVthId ){ + data = item['testHeadResponse']['vthResponse']['resultData']['statusCode']; + } + }) + + if(data === 200){ + ready = true + testResultMessage = "RIC VTH reported that xAppManager is ready." + } + +} +catch(err) { + ready = false +} + +execution.setVariable("ready", ready); +execution.setVariable("testResultMessage", testResultMessage); + + + SequenceFlow_1chkfad + SequenceFlow_0nfij3v + SequenceFlow_0g7zkcv + SequenceFlow_0dscvt7 + SequenceFlow_1u9jrl1 + execution.setVariable("testResult", "FAILED") + + + SequenceFlow_08hkwrc + SequenceFlow_18bpwal + execution.setVariable("testResult", "SUCCESS") + + + SequenceFlow_07jnolr + SequenceFlow_08wazou + var System = java.lang.System + +var deploy = 'deploy' +var secondList = 'second_list' +var testData = execution.getVariable("testData") +var vthInput = execution.getVariable("vthInput") +var deployed = false; +var testResultMessage = "RIC VTH reported that xApp is not deployed." +var appName = testData['appName'] + + + +try { + //get output from deploy call + var testExecution = execution.getVariable('otf-execution-testExecution'); + data = null; + testExecution.testHeadResults.forEach(function(item, index, array) { + if(item.bpmnVthTaskId == deploy ){ + data = item['testHeadResponse']['vthResponse']['resultData']['statusCode']; + } + }) + + if(data === 201){ + testResultMessage = "RIC VTH reported that xAppManager deployment call succeeded." + + //get output from secondList call + var testExecution = execution.getVariable('otf-execution-testExecution'); + data = null; + testExecution.testHeadResults.forEach(function(item, index, array) { + if(item.bpmnVthTaskId == secondList ){ + data = item['testHeadResponse']['vthResponse']['resultData']['resultOutput']; + } + }) + + instance = null + data.forEach(function(item, index, array) { + if(item.name === appName){ + instance = item + testResultMessage = "RIC VTH reported that xApp is present." + } + }) + + if(instance !== null && instance.status === 'deployed'){ + deployed = true + testResultMessage = "RIC VTH reported that xApp is deployed." + testDetails = execution.getVariable("testDetails") + testDetails.put("instance", instance); + execution.setVariable("testDetails", testDetails) + } + else{ + deployed = false + testResultMessage = "RIC VTH reported that xApp was deployed, but xApp instance was either null or not deployed. See vth results for further information." + } + + } + +} +catch(err) { + deployed = false + testResultMessage = "Couldn't verify is xApp was deployed. Check Test Results" + err +} + +execution.setVariable("deployed", deployed); +execution.setVariable("testResultMessage", testResultMessage); + + + SequenceFlow_0st7o3p + SequenceFlow_18luk66 + var System = java.lang.System + +var deployVthId = 'deploy' +var testData = execution.getVariable("testData") +var vthInput = execution.getVariable("vthInput") +var validInput = false; +var testResultMessage = ""; + +try{ + + var appName = testData['appName']; + var waitDurationSec = testData['waitDurationSec']; + + if(typeof appName !== 'string' || appName.trim() === ''){ + System.out.println("appName is not a string, or empty string") + throw Error("appName is not a string, or empty string") + } + + if(typeof waitDurationSec !== 'number' || waitDurationSec < 0){ + System.out.println("not a number") + throw Error("waitDurationSec is not a number greater than 0") + } + + validInput = true + + vthInput[deployVthId].name = appName + var timer = "PT" + waitDurationSec + "S" + System.out.println("timer " + timer) + execution.setVariable("timer", timer) +} +catch(err){ + System.out.println(err) + validInput = false + testResultMessage = "Invalid input params. error: " + err; + execution.setVariable("testResult", "FAILED"); +} + +execution.setVariable("validInput", validInput) +execution.setVariable("testResultMessage", testResultMessage) + + + SequenceFlow_0s6ntyv + SequenceFlow_0i3et2n + var System = java.lang.System + +var firstList = 'first_list' +var testData = execution.getVariable("testData") +var vthInput = execution.getVariable("vthInput") +var alreadyDeployed = true; +var testResultMessage = "RIC VTH reported that xApp is already deployed." +var appName = testData['appName'] + + + +try { + //get output from firstList call + var testExecution = execution.getVariable('otf-execution-testExecution'); + var data = null; + testExecution.testHeadResults.forEach(function(item, index, array) { + if(item.bpmnVthTaskId == firstList ){ + data = item['testHeadResponse']['vthResponse']['resultData']['resultOutput']; + } + }) + + var instance = null + data.forEach(function(item, index, array) { + if(item.name === appName){ + instance = item + testResultMessage = "RIC VTH reported that xApp is already present." + } + }) + + if(instance === null){ + alreadyDeployed = false + testResultMessage = "RIC VTH reported that xApp is not present." + } + + +} +catch(err) { + alreadyDeployed = true + testResultMessage = "Couldn't verify is xApp was already deployed." +} + +execution.setVariable("alreadyDeployed", alreadyDeployed); +execution.setVariable("testResultMessage", testResultMessage); + + + SequenceFlow_0e1kt1e + SequenceFlow_0zxo4fr + SequenceFlow_1chkfad + + + SequenceFlow_08wazou + SequenceFlow_0nfij3v + SequenceFlow_08hkwrc + + + SequenceFlow_18luk66 + SequenceFlow_1y69zdb + SequenceFlow_0g7zkcv + + + SequenceFlow_0i3et2n + SequenceFlow_08v4jva + SequenceFlow_0dscvt7 + + + SequenceFlow_1oze54u + SequenceFlow_07rma3l + + ${timer} + + + + SequenceFlow_01cc25d + + + + SequenceFlow_1y69zdb + SequenceFlow_0j9397y + + + SequenceFlow_0zxo4fr + SequenceFlow_0s6ntyv + + + SequenceFlow_08v4jva + SequenceFlow_1oze54u + + + SequenceFlow_07rma3l + SequenceFlow_07jnolr + + + SequenceFlow_18bpwal + SequenceFlow_1u9jrl1 + SequenceFlow_01cc25d + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/otf-aaf-credential-generator/Jenkinsfile b/otf-aaf-credential-generator/Jenkinsfile index c2d0b5c..622cdb1 100644 --- a/otf-aaf-credential-generator/Jenkinsfile +++ b/otf-aaf-credential-generator/Jenkinsfile @@ -1,5 +1,20 @@ #!/usr/bin/env groovy +/* Copyright (c) 2019 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. # +##############################################################################*/ + properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [ [$class: 'hudson.model.StringParameterDefinition', name: 'PHASE', defaultValue: "BUILD"], diff --git a/otf-aaf-credential-generator/aaf_cadi_core_2.1.10_SNAPSHOT.jar b/otf-aaf-credential-generator/aaf_cadi_core_2.1.10_SNAPSHOT.jar deleted file mode 100644 index 9c7b105..0000000 Binary files a/otf-aaf-credential-generator/aaf_cadi_core_2.1.10_SNAPSHOT.jar and /dev/null differ diff --git a/otf-aaf-credential-generator/info.txt b/otf-aaf-credential-generator/info.txt new file mode 100644 index 0000000..6713ba7 --- /dev/null +++ b/otf-aaf-credential-generator/info.txt @@ -0,0 +1,3 @@ +download and place jar file in this folder + +mvn -s settings.xml dependency:get -Dartifact=org.onap.aaf.authz:aaf-cadi-core:jar:2.1.10_SNAPSHOT diff --git a/otf-camunda/.gitignore b/otf-camunda/.gitignore index 7f70bd4..308bebd 100644 --- a/otf-camunda/.gitignore +++ b/otf-camunda/.gitignore @@ -1,3 +1,18 @@ +# Copyright (c) 2019 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. # +################################################################################ + /target/ tokens/ out/ diff --git a/otf-camunda/Jenkinsfile b/otf-camunda/Jenkinsfile index 1548993..2d38ef2 100644 --- a/otf-camunda/Jenkinsfile +++ b/otf-camunda/Jenkinsfile @@ -1,5 +1,19 @@ #!/usr/bin/env groovy +/* Copyright (c) 2019 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. # +##############################################################################*/ properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [ [$class: 'hudson.model.StringParameterDefinition', name: 'PHASE', defaultValue: "BUILD"], diff --git a/otf-camunda/docker/Dockerfile b/otf-camunda/docker/Dockerfile index d63564e..1cecbe3 100644 --- a/otf-camunda/docker/Dockerfile +++ b/otf-camunda/docker/Dockerfile @@ -1,3 +1,18 @@ +# Copyright (c) 2019 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 openjdk:8 ENV ENV=development @@ -25,10 +40,16 @@ ENV PRIVATE_KEY=opt/cert/cert.key ENV PRIVATE_KEY_USERNAME=username ENV PRIVATE_KEY_PASSPHRASE=password -COPY otf-camunda.jar app.jar - +RUN apt update +RUN apt install maven -y +COPY settings.xml settings.xml +COPY src src +COPY pom.xml pom.xml +RUN mvn clean install -s settings.xml -DskipTests +RUN rm /usr/share/maven/lib/* +RUN ls RUN mkdir -p /otf/logs +RUN mv target/otf-camunda.jar app.jar +RUN rm -r target -ADD src src - -ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file +ENTRYPOINT ["java", "-jar", "app.jar"] diff --git a/otf-camunda/docker/container-tag.yaml b/otf-camunda/docker/container-tag.yaml new file mode 100644 index 0000000..ee078db --- /dev/null +++ b/otf-camunda/docker/container-tag.yaml @@ -0,0 +1,15 @@ +--- +# Copyright (c) 2019 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. +tag: 0.0.1 diff --git a/otf-camunda/helm/forceDelete.sh b/otf-camunda/helm/forceDelete.sh index 9347939..541c39d 100644 --- a/otf-camunda/helm/forceDelete.sh +++ b/otf-camunda/helm/forceDelete.sh @@ -1,4 +1,20 @@ #/bin/bash +# Copyright (c) 2019 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. # +################################################################################ + + podName=$1 echo $podName podInfo=$(kubectl get pods -l app=$1 -o custom-columns=:metadata.name) diff --git a/otf-camunda/pom.xml b/otf-camunda/pom.xml index ad4deb3..2131e67 100644 --- a/otf-camunda/pom.xml +++ b/otf-camunda/pom.xml @@ -297,7 +297,7 @@ 7.10.0 1.1.0 2.1.2 - 7.10.4 + 7.10.0 1.1.1 3.2.1 1.6.6 @@ -410,4 +410,4 @@ One of the core components of the Open Test Framework Test Control Unit. - \ No newline at end of file + diff --git a/otf-camunda/settings.xml b/otf-camunda/settings.xml new file mode 100644 index 0000000..5a4325d --- /dev/null +++ b/otf-camunda/settings.xml @@ -0,0 +1,215 @@ + + + /home/YOURUSERID/onap/.m2/repository + + + + openecomp-staging + + + openecomp-staging + openecomp-staging + https://nexus.onap.org/content/repositories/staging/ + + true + never + + + false + + + + + + openecomp-staging + openecomp-staging + https://nexus.onap.org/content/repositories/staging/ + + true + never + + + false + + + + + + openecomp-public + + + openecomp-public + openecomp-public + https://nexus.onap.org/content/repositories/public/ + + true + never + + + false + + + + + + openecomp-public + openecomp-public + https://nexus.onap.org/content/repositories/public/ + + true + never + + + false + + + + + + openecomp-release + + + openecomp-release + openecomp-release + https://nexus.onap.org/content/repositories/releases/ + + true + never + + + false + + + + + + openecomp-release + openecomp-release + https://nexus.onap.org/content/repositories/releases/ + + true + never + + + false + + + + + + + openecomp-snapshots + + + openecomp-snapshot + openecomp-snapshot + https://nexus.onap.org/content/repositories/snapshots/ + + false + + + true + + + + + + openecomp-snapshot + openecomp-snapshot + https://nexus.onap.org/content/repositories/snapshots/ + + false + + + true + + + + + + opendaylight-release + + + opendaylight-mirror + opendaylight-mirror + https://nexus.opendaylight.org/content/repositories/public/ + + true + never + + + false + + + + + + opendaylight-mirror + opendaylight-mirror + https://nexus.opendaylight.org/content/repositories/public/ + + true + never + + + false + + + + + + + opendaylight-snapshots + + + opendaylight-snapshot + opendaylight-snapshot + https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ + + false + + + true + + + + + + opendaylight-snapshot + opendaylight-snapshot + https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ + + false + + + true + + + + + + + default + + + default + default + https://repo.maven.org/maven2/ + + + + + + + + default + openecomp-staging + openecomp-public + openecomp-release + openecomp-snapshots + opendaylight-release + opendaylight-snapshots + + diff --git a/otf-cert-secret-builder/Jenkinsfile b/otf-cert-secret-builder/Jenkinsfile index e9f31ff..346164f 100644 --- a/otf-cert-secret-builder/Jenkinsfile +++ b/otf-cert-secret-builder/Jenkinsfile @@ -1,5 +1,19 @@ #!/usr/bin/env groovy +/* Copyright (c) 2019 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. # +##############################################################################*/ properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [ [$class: 'hudson.model.StringParameterDefinition', name: 'PHASE', defaultValue: "BUILD"], diff --git a/otf-frontend/.gitignore b/otf-frontend/.gitignore index aef7f2b..f8cb990 100644 --- a/otf-frontend/.gitignore +++ b/otf-frontend/.gitignore @@ -1,3 +1,17 @@ +# Copyright (c) 2019 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. # +################################################################################ # Created by https://www.gitignore.io/api/node,angular diff --git a/otf-frontend/Dockerfile b/otf-frontend/Dockerfile index 6caf80d..de31829 100644 --- a/otf-frontend/Dockerfile +++ b/otf-frontend/Dockerfile @@ -1,3 +1,17 @@ +# Copyright (c) 2019 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 node:8.16-alpine ENV ENV=development diff --git a/otf-frontend/Jenkinsfile b/otf-frontend/Jenkinsfile index 0cc1a01..ed47365 100644 --- a/otf-frontend/Jenkinsfile +++ b/otf-frontend/Jenkinsfile @@ -1,5 +1,20 @@ #!/usr/bin/env groovy +/* Copyright (c) 2019 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. # +##############################################################################*/ + properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [ [$class: 'hudson.model.StringParameterDefinition', name: 'PHASE', defaultValue: "BUILD"], [$class: 'hudson.model.StringParameterDefinition', name: 'ENV', defaultValue: "dev"], diff --git a/otf-frontend/client/.gitignore b/otf-frontend/client/.gitignore index f94aed4..d52d0c9 100644 --- a/otf-frontend/client/.gitignore +++ b/otf-frontend/client/.gitignore @@ -1,3 +1,18 @@ +# Copyright (c) 2019 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. # +################################################################################ + # See http://help.github.com/ignore-files/ for more about ignoring files. # compiled output diff --git a/otf-frontend/client/config/karma.conf.js b/otf-frontend/client/config/karma.conf.js index 3be39c4..74664d0 100644 --- a/otf-frontend/client/config/karma.conf.js +++ b/otf-frontend/client/config/karma.conf.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + // Karma configuration file, see link for more information // https://karma-runner.github.io/1.0/config/configuration-file.html diff --git a/otf-frontend/client/config/protractor.conf.js b/otf-frontend/client/config/protractor.conf.js index b1a56c1..148a41f 100644 --- a/otf-frontend/client/config/protractor.conf.js +++ b/otf-frontend/client/config/protractor.conf.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + // Protractor configuration file, see link for more information // https://github.com/angular/protractor/blob/master/lib/config.ts diff --git a/otf-frontend/client/e2e/app.e2e-spec.ts b/otf-frontend/client/e2e/app.e2e-spec.ts index 64bb730..26e9389 100644 --- a/otf-frontend/client/e2e/app.e2e-spec.ts +++ b/otf-frontend/client/e2e/app.e2e-spec.ts @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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 { AppPage } from './app.po'; describe('test-ng4 App', () => { diff --git a/otf-frontend/client/e2e/app.po.ts b/otf-frontend/client/e2e/app.po.ts index 625420f..c922a9e 100644 --- a/otf-frontend/client/e2e/app.po.ts +++ b/otf-frontend/client/e2e/app.po.ts @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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 { browser, by, element } from 'protractor'; export class AppPage { diff --git a/otf-frontend/client/src/assets/images/networkBackground.jpg b/otf-frontend/client/src/assets/images/networkBackground.jpg deleted file mode 100644 index 5b1b943..0000000 Binary files a/otf-frontend/client/src/assets/images/networkBackground.jpg and /dev/null differ diff --git a/otf-frontend/client/src/assets/images/networkBackground1.jpg b/otf-frontend/client/src/assets/images/networkBackground1.jpg deleted file mode 100644 index fc4d343..0000000 Binary files a/otf-frontend/client/src/assets/images/networkBackground1.jpg and /dev/null differ diff --git a/otf-frontend/container-tag.yaml b/otf-frontend/container-tag.yaml new file mode 100644 index 0000000..0920c29 --- /dev/null +++ b/otf-frontend/container-tag.yaml @@ -0,0 +1,15 @@ +--- +# Copyright (c) 2019 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. +tag: 0.0.4 diff --git a/otf-frontend/server/test/app.test.js b/otf-frontend/server/test/app.test.js index 67338c3..378377a 100644 --- a/otf-frontend/server/test/app.test.js +++ b/otf-frontend/server/test/app.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const rp = require('request-promise'); const url = require('url'); diff --git a/otf-frontend/server/test/hooks/group-filter.test.js b/otf-frontend/server/test/hooks/group-filter.test.js index 71d02c6..d6e352f 100644 --- a/otf-frontend/server/test/hooks/group-filter.test.js +++ b/otf-frontend/server/test/hooks/group-filter.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const feathers = require('@feathersjs/feathers'); const groupFilter = require('../../src/hooks/group-filter'); diff --git a/otf-frontend/server/test/services/bpmn-upload.test.js b/otf-frontend/server/test/services/bpmn-upload.test.js index 23d1ff0..7ade3b5 100644 --- a/otf-frontend/server/test/services/bpmn-upload.test.js +++ b/otf-frontend/server/test/services/bpmn-upload.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-frontend/server/test/services/bpmn-validate.test.js b/otf-frontend/server/test/services/bpmn-validate.test.js index fb00767..bebe886 100644 --- a/otf-frontend/server/test/services/bpmn-validate.test.js +++ b/otf-frontend/server/test/services/bpmn-validate.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-frontend/server/test/services/groups-m.test.js b/otf-frontend/server/test/services/groups-m.test.js index 6e46510..4a1af5a 100644 --- a/otf-frontend/server/test/services/groups-m.test.js +++ b/otf-frontend/server/test/services/groups-m.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-frontend/server/test/services/groups.test.js b/otf-frontend/server/test/services/groups.test.js index c66c9c7..59d13ad 100644 --- a/otf-frontend/server/test/services/groups.test.js +++ b/otf-frontend/server/test/services/groups.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-frontend/server/test/services/health.test.js b/otf-frontend/server/test/services/health.test.js index 212f034..5c6963b 100644 --- a/otf-frontend/server/test/services/health.test.js +++ b/otf-frontend/server/test/services/health.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-frontend/server/test/services/strategy-upload.test.js b/otf-frontend/server/test/services/strategy-upload.test.js index 034e933..8fa04e1 100644 --- a/otf-frontend/server/test/services/strategy-upload.test.js +++ b/otf-frontend/server/test/services/strategy-upload.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-frontend/server/test/services/test-definition.test.js b/otf-frontend/server/test/services/test-definition.test.js index 556d710..9b004b3 100644 --- a/otf-frontend/server/test/services/test-definition.test.js +++ b/otf-frontend/server/test/services/test-definition.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-frontend/server/test/services/test-heads.test.js b/otf-frontend/server/test/services/test-heads.test.js index 44fa679..f3b845a 100644 --- a/otf-frontend/server/test/services/test-heads.test.js +++ b/otf-frontend/server/test/services/test-heads.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-frontend/server/test/services/test-instances.test.js b/otf-frontend/server/test/services/test-instances.test.js index 2db66b9..e59da74 100644 --- a/otf-frontend/server/test/services/test-instances.test.js +++ b/otf-frontend/server/test/services/test-instances.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-frontend/server/test/services/test-requests.test.js b/otf-frontend/server/test/services/test-requests.test.js index 51304e5..8b96702 100644 --- a/otf-frontend/server/test/services/test-requests.test.js +++ b/otf-frontend/server/test/services/test-requests.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-frontend/server/test/services/test-strategies.test.js b/otf-frontend/server/test/services/test-strategies.test.js index 35bf0d5..7917e28 100644 --- a/otf-frontend/server/test/services/test-strategies.test.js +++ b/otf-frontend/server/test/services/test-strategies.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-frontend/server/test/services/tests.test.js b/otf-frontend/server/test/services/tests.test.js index 0d03d13..8594bdd 100644 --- a/otf-frontend/server/test/services/tests.test.js +++ b/otf-frontend/server/test/services/tests.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-frontend/server/test/services/users.test.js b/otf-frontend/server/test/services/users.test.js index bed24e0..aec91c4 100644 --- a/otf-frontend/server/test/services/users.test.js +++ b/otf-frontend/server/test/services/users.test.js @@ -1,3 +1,19 @@ +/* Copyright (c) 2019 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. # +##############################################################################*/ + + const assert = require('assert'); const app = require('../../src/app'); diff --git a/otf-installation.txt b/otf-installation.txt index f40437b..0e4e87f 100644 --- a/otf-installation.txt +++ b/otf-installation.txt @@ -32,21 +32,18 @@ otf-robot-test-head otf-frontend - + docker build -t otf-frontend:0.0.1-SNAPSHOT . + docker run -d --network="host" otf-frontend:0.0.1-SNAPSHOT otf-service-api Modify src/main/resources/application.properties according to needs (disable aaf/ssl, set ports) - Add settings.xml from onap website and add profile to use maven default repository and add settings.xml to ~/.m2/ if missing - mvn clean install (add flag -DskipTests if it causes the build to fail) - navigate to target folder and run "docker build -t otf-service-api:0.0.1-SNAPSHOT ." + navigate to otf-service-api folder and run "docker build -t otf-service-api:0.0.1-SNAPSHOT -f docker/Dockerfile ." (maven will run from inside the container, command is inside the Dockerfile) docker run -d --network="host" otf-service-api:0.0.1-SNAPSHOT otf-camunda Modify src/main/resources/application.yaml according to needs, and validate the yaml is correct format (disable aaf/ssl, set ports) - Add settings.xml from onap website and add profile to use maven default repository and add settings.xml to ~/.m2/ if missing - mvn clean install (add flag -DskipTests if it causes the build to fail) - navigate to target folder and run "docker build -t otf-camunda:0.0.1-SNAPSHOT ." + navigate to otf-camunda folder and run "docker build -t otf-camunda:0.0.1-SNAPSHOT -f docker/Dockerfile ." (maven will run from inside the container, command is inside the Dockerfile) docker run -d --network="host" otf-camunda:0.0.1-SNAPSHOT Database Notes diff --git a/otf-ping-test-head/.gitignore b/otf-ping-test-head/.gitignore index 28ca722..173d2e8 100644 --- a/otf-ping-test-head/.gitignore +++ b/otf-ping-test-head/.gitignore @@ -1,5 +1,20 @@ -otf.pem -privateKey.pem -*.log -*.pem -/otf +# Copyright (c) 2019 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. # +################################################################################ + +otf.pem +privateKey.pem +*.log +*.pem +/otf diff --git a/otf-ping-test-head/Dockerfile b/otf-ping-test-head/Dockerfile index 182eaa4..82bc83f 100644 --- a/otf-ping-test-head/Dockerfile +++ b/otf-ping-test-head/Dockerfile @@ -1,3 +1,18 @@ +# Copyright (c) 2019 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 python:2.7 # ARG HTTP_PROXY="localhost:8080" diff --git a/otf-ping-test-head/Jenkinsfile b/otf-ping-test-head/Jenkinsfile index 8143fcf..a103bb8 100644 --- a/otf-ping-test-head/Jenkinsfile +++ b/otf-ping-test-head/Jenkinsfile @@ -1,5 +1,19 @@ #!/usr/bin/env groovy +/* Copyright (c) 2019 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. # +##############################################################################*/ properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [ [$class: 'hudson.model.StringParameterDefinition', name: 'PHASE', defaultValue: "BUILD"], diff --git a/otf-ping-test-head/container-tag.yaml b/otf-ping-test-head/container-tag.yaml new file mode 100644 index 0000000..ee078db --- /dev/null +++ b/otf-ping-test-head/container-tag.yaml @@ -0,0 +1,15 @@ +--- +# Copyright (c) 2019 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. +tag: 0.0.1 diff --git a/otf-robot-test-head/.gitignore b/otf-robot-test-head/.gitignore index d5f7c3d..484fedb 100644 --- a/otf-robot-test-head/.gitignore +++ b/otf-robot-test-head/.gitignore @@ -53,6 +53,21 @@ cmake-build-*/ # File-based project format *.iws +# Copyright (c) 2019 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. # +################################################################################ + # IntelliJ out/ diff --git a/otf-robot-test-head/Dockerfile b/otf-robot-test-head/Dockerfile index ce801b7..3c481e0 100644 --- a/otf-robot-test-head/Dockerfile +++ b/otf-robot-test-head/Dockerfile @@ -1,3 +1,18 @@ +# Copyright (c) 2019 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 python:2.7 # ARG HTTP_PROXY="http://localhost:8080" diff --git a/otf-robot-test-head/Jenkinsfile b/otf-robot-test-head/Jenkinsfile index 16fa274..57d0f03 100644 --- a/otf-robot-test-head/Jenkinsfile +++ b/otf-robot-test-head/Jenkinsfile @@ -1,5 +1,19 @@ #!/usr/bin/env groovy +/* Copyright (c) 2019 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. # +##############################################################################*/ properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [ [$class: 'hudson.model.StringParameterDefinition', name: 'PHASE', defaultValue: "BUILD"], diff --git a/otf-robot-test-head/container-tag.yaml b/otf-robot-test-head/container-tag.yaml new file mode 100644 index 0000000..ee078db --- /dev/null +++ b/otf-robot-test-head/container-tag.yaml @@ -0,0 +1,15 @@ +--- +# Copyright (c) 2019 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. +tag: 0.0.1 diff --git a/otf-robot-test-head/run.py b/otf-robot-test-head/run.py index c0c37dc..bbb27e9 100644 --- a/otf-robot-test-head/run.py +++ b/otf-robot-test-head/run.py @@ -1,3 +1,19 @@ +# Copyright (c) 2019 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 app import create_app if __name__ == '__main__': diff --git a/otf-service-api/.gitignore b/otf-service-api/.gitignore index 681073c..f4fc740 100644 --- a/otf-service-api/.gitignore +++ b/otf-service-api/.gitignore @@ -1,3 +1,18 @@ +# Copyright (c) 2019 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. # +################################################################################ + /target/ tokens/ out/ diff --git a/otf-service-api/Jenkinsfile b/otf-service-api/Jenkinsfile index 68e8d66..92511b5 100644 --- a/otf-service-api/Jenkinsfile +++ b/otf-service-api/Jenkinsfile @@ -1,5 +1,20 @@ #!/usr/bin/env groovy +/* Copyright (c) 2019 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. # +##############################################################################*/ + properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [ [$class: 'hudson.model.StringParameterDefinition', name: 'PHASE', defaultValue: "BUILD"], [$class: 'hudson.model.StringParameterDefinition', name: 'ENV', defaultValue: "dev"], diff --git a/otf-service-api/docker/Dockerfile b/otf-service-api/docker/Dockerfile index d1ef755..82be010 100644 --- a/otf-service-api/docker/Dockerfile +++ b/otf-service-api/docker/Dockerfile @@ -1,3 +1,18 @@ +# Copyright (c) 2019 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 openjdk:8 ENV NAMESPACE=namespace @@ -14,8 +29,8 @@ ENV OTF_MONGO_USERNAME=username ENV OTF_MONGO_PASSWORD=password ENV OTF_MONGO_REPLICASET=rs0 ENV OTF_MONGO_DATABASE=otf -ENV otf.camunda.host=https://localhost -ENV otf.camunda.port=31313 +ENV otf.camunda.host=http://localhost +ENV otf.camunda.port=8080 ENV otf.camunda.executionUri=otf/tcu/execute-test/v1 ENV otf.camunda.pollingUri=otf/tcu/process-instance-completion-check/v1 ENV otf.camunda.deploymentUri=otf/tcu/deploy-test-strategy-zip/v1 @@ -34,10 +49,16 @@ ENV otf.api.poll-attempts=50 ENV OTF_CERT_PATH=opt/cert/cert.p12 ENV OTF_CERT_PASS=password -COPY otf-service-api.jar app.jar - +RUN apt update +RUN apt install maven -y +COPY settings.xml settings.xml +COPY src src +COPY pom.xml pom.xml +RUN mvn clean install -s settings.xml -DskipTests +RUN rm /usr/share/maven/lib/* +RUN ls RUN mkdir -p /otf/logs - -ADD src src +RUN mv target/otf-service-api.jar app.jar +RUN rm -r target ENTRYPOINT ["java", "-jar", "app.jar"] diff --git a/otf-service-api/docker/container-tag.yaml b/otf-service-api/docker/container-tag.yaml new file mode 100644 index 0000000..ee078db --- /dev/null +++ b/otf-service-api/docker/container-tag.yaml @@ -0,0 +1,15 @@ +--- +# Copyright (c) 2019 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. +tag: 0.0.1 diff --git a/otf-service-api/settings.xml b/otf-service-api/settings.xml new file mode 100644 index 0000000..5a4325d --- /dev/null +++ b/otf-service-api/settings.xml @@ -0,0 +1,215 @@ + + + /home/YOURUSERID/onap/.m2/repository + + + + openecomp-staging + + + openecomp-staging + openecomp-staging + https://nexus.onap.org/content/repositories/staging/ + + true + never + + + false + + + + + + openecomp-staging + openecomp-staging + https://nexus.onap.org/content/repositories/staging/ + + true + never + + + false + + + + + + openecomp-public + + + openecomp-public + openecomp-public + https://nexus.onap.org/content/repositories/public/ + + true + never + + + false + + + + + + openecomp-public + openecomp-public + https://nexus.onap.org/content/repositories/public/ + + true + never + + + false + + + + + + openecomp-release + + + openecomp-release + openecomp-release + https://nexus.onap.org/content/repositories/releases/ + + true + never + + + false + + + + + + openecomp-release + openecomp-release + https://nexus.onap.org/content/repositories/releases/ + + true + never + + + false + + + + + + + openecomp-snapshots + + + openecomp-snapshot + openecomp-snapshot + https://nexus.onap.org/content/repositories/snapshots/ + + false + + + true + + + + + + openecomp-snapshot + openecomp-snapshot + https://nexus.onap.org/content/repositories/snapshots/ + + false + + + true + + + + + + opendaylight-release + + + opendaylight-mirror + opendaylight-mirror + https://nexus.opendaylight.org/content/repositories/public/ + + true + never + + + false + + + + + + opendaylight-mirror + opendaylight-mirror + https://nexus.opendaylight.org/content/repositories/public/ + + true + never + + + false + + + + + + + opendaylight-snapshots + + + opendaylight-snapshot + opendaylight-snapshot + https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ + + false + + + true + + + + + + opendaylight-snapshot + opendaylight-snapshot + https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ + + false + + + true + + + + + + + default + + + default + default + https://repo.maven.org/maven2/ + + + + + + + + default + openecomp-staging + openecomp-public + openecomp-release + openecomp-snapshots + opendaylight-release + opendaylight-snapshots + + diff --git a/otf-service-api/src/main/resources/truststore2018.jks b/otf-service-api/src/main/resources/truststore2018.jks deleted file mode 100644 index 5d52914..0000000 Binary files a/otf-service-api/src/main/resources/truststore2018.jks and /dev/null differ diff --git a/otf-ssh-test-head/.gitignore b/otf-ssh-test-head/.gitignore index 815f98d..173d2e8 100644 --- a/otf-ssh-test-head/.gitignore +++ b/otf-ssh-test-head/.gitignore @@ -1,3 +1,18 @@ +# Copyright (c) 2019 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. # +################################################################################ + otf.pem privateKey.pem *.log diff --git a/otf-ssh-test-head/Dockerfile b/otf-ssh-test-head/Dockerfile index d70565d..31a4fef 100644 --- a/otf-ssh-test-head/Dockerfile +++ b/otf-ssh-test-head/Dockerfile @@ -1,3 +1,18 @@ +# Copyright (c) 2019 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 python:2.7 # ARG HTTP_PROXY="localhost:8080" diff --git a/otf-ssh-test-head/Jenkinsfile b/otf-ssh-test-head/Jenkinsfile index c19179c..fb42d01 100644 --- a/otf-ssh-test-head/Jenkinsfile +++ b/otf-ssh-test-head/Jenkinsfile @@ -1,5 +1,19 @@ #!/usr/bin/env groovy +/* Copyright (c) 2019 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. # +##############################################################################*/ properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [ [$class: 'hudson.model.StringParameterDefinition', name: 'PHASE', defaultValue: "BUILD"], diff --git a/otf-ssh-test-head/container-tag.yaml b/otf-ssh-test-head/container-tag.yaml new file mode 100644 index 0000000..ee078db --- /dev/null +++ b/otf-ssh-test-head/container-tag.yaml @@ -0,0 +1,15 @@ +--- +# Copyright (c) 2019 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. +tag: 0.0.1 diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..db50ddf --- /dev/null +++ b/tox.ini @@ -0,0 +1,32 @@ +[tox] +minversion = 2.0 +envlist = + docs, + docs-linkcheck, + +skipsdist = true + +[testenv:docs] +basepython = python3 +deps = + sphinx + sphinx-rtd-theme + sphinxcontrib-httpdomain + recommonmark + lfdocs-conf + +commands = + sphinx-build -W -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html + + echo "Generated docs available in {toxinidir}/docs/_build/html" + +whitelist_externals = echo + +[testenv:docs-linkcheck] +basepython = python3 +deps = sphinx + sphinx-rtd-theme + sphinxcontrib-httpdomain + recommonmark + lfdocs-conf +commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck