Merge "[GENERAL] Print helm binary used"
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Mon, 22 Feb 2021 14:40:38 +0000 (14:40 +0000)
committerGerrit Code Review <gerrit@onap.org>
Mon, 22 Feb 2021 14:40:38 +0000 (14:40 +0000)
29 files changed:
kubernetes/aaf/components/aaf-cass/resources/cass-init-dats/artifact.dat
kubernetes/aaf/components/aaf-cass/resources/cass-init-dats/cred.dat
kubernetes/aaf/components/aaf-cass/resources/cass-init-dats/ns.dat
kubernetes/aaf/components/aaf-cass/resources/cass-init-dats/perm.dat
kubernetes/aaf/components/aaf-cass/resources/cass-init-dats/role.dat
kubernetes/aaf/components/aaf-cass/resources/cass-init-dats/user_role.dat
kubernetes/aaf/resources/data/identities.dat
kubernetes/aai/components/aai-schema-service/values.yaml
kubernetes/aai/values.yaml
kubernetes/cli/requirements.yaml
kubernetes/cli/resources/certificates/ocomp.pem [deleted file]
kubernetes/cli/resources/configuration/lighttpd.conf [new file with mode: 0644]
kubernetes/cli/templates/configmap.yaml [moved from kubernetes/cli/templates/secrets.yaml with 76% similarity]
kubernetes/cli/templates/deployment.yaml
kubernetes/cli/values.yaml
kubernetes/common/certManagerCertificate/templates/_certificate.tpl
kubernetes/common/cmpv2Certificate/templates/_certServiceClient.tpl
kubernetes/dcaegen2/Makefile
kubernetes/dcaegen2/components/Makefile [new file with mode: 0644]
kubernetes/dcaegen2/components/dcae-inventory-api/values.yaml
kubernetes/dcaegen2/resources/external/map/schema-map.json [new file with mode: 0644]
kubernetes/dcaegen2/resources/external/schema/rel16/PerDataFileReportMnS.yaml [new file with mode: 0644]
kubernetes/dcaegen2/resources/external/schema/rel16/faultMnS.yaml [new file with mode: 0644]
kubernetes/dcaegen2/resources/external/schema/rel16/heartbeatNtf.yaml [new file with mode: 0644]
kubernetes/dcaegen2/resources/external/schema/rel16/provMnS.yaml [new file with mode: 0644]
kubernetes/dcaegen2/templates/configmap.yaml
kubernetes/helm/plugins/deploy/deploy.sh
kubernetes/nbi/values.yaml
kubernetes/sdnc/templates/statefulset.yaml

index 3a61e77..0932771 100644 (file)
@@ -10,6 +10,7 @@ appc@appc.onap.org|appc|local|/opt/app/osaaf/local||mailto:|org.onap.appc|root|6
 appc-cdt@appc-cdt.onap.org|appc-cdt|local|/opt/app/osaaf/local||mailto:|org.onap.appc-cdt|root|30|{'appc-cdt', 'appc-cdt.api.simpledemo.onap.org', 'appc-cdt.onap'}|mmanager@osaaf.org|{'file', 'pkcs12', 'script'}
 clamp@clamp.onap.org|clamp|local|/opt/app/osaaf/local||mailto:|org.onap.clamp|root|30|{'clamp', 'clamp-onap', 'clamp.api.simpledemo.onap.org', 'clamp.onap'}|mmanager@osaaf.org|{'file', 'jks', 'pkcs12', 'script'}
 clamp@clamp.onap.org|mithrilcsp.sbc.com|local|/tmp/onap||mailto:|org.onap.clamp|jg1555|30|{'clamp.api.simpledemo.onap.org', 'clamp.onap'}|aaf_admin@osaaf.org|{'file', 'pkcs12'}
+cli@cli.onap.org|cli|local|/opt/app/osaaf/local||mailto:|org.onap.cli|root|30|{'cli', 'cli.api.simpledemo.onap.org', 'cli.onap'}|mmanager@osaaf.org|{'file', 'pkcs12', 'jks'}
 dcae@dcae.onap.org|dcae|local|/opt/app/osaaf/local||mailto:|org.onap.dcae|root|60|{'bbs-event-processor', 'bbs-event-processor.onap', 'bbs-event-processor.onap.svc.cluster.local', 'config-binding-service', 'config-binding-service.onap', 'config-binding-service.onap.svc.cluster.local', 'dashboard', 'dashboard.onap', 'dashboard.onap.svc.cluster.local', 'dcae-cloudify-manager', 'dcae-cloudify-manager.onap', 'dcae-cloudify-manager.onap.svc.cluster.local', 'dcae-datafile-collector', 'dcae-datafile-collector.onap', 'dcae-datafile-collector.onap.svc.cluster.local', 'dcae-hv-ves-collector', 'dcae-hv-ves-collector.onap', 'dcae-hv-ves-collector.onap.svc.cluster.local', 'dcae-pm-mapper', 'dcae-pm-mapper.onap', 'dcae-pm-mapper.onap.svc.cluster.local', 'dcae-pmsh', 'dcae-pmsh.onap', 'dcae-pmsh.onap.svc.cluster.local', 'dcae-prh', 'dcae-prh.onap', 'dcae-prh.onap.svc.cluster.local', 'dcae-tca-analytics', 'dcae-tca-analytics.onap', 'dcae-tca-analytics.onap.svc.cluster.local', 'dcae-ves-collector', 'dcae-ves-collector.onap', 'dcae-ves-collector.onap.svc.cluster.local', 'deployment-handler', 'deployment-handler.onap', 'deployment-handler.onap.svc.cluster.local', 'holmes-engine-mgmt', 'holmes-engine-mgmt.onap', 'holmes-engine-mgmt.onap.svc.cluster.local', 'holmes-rule-mgmt', 'holmes-rules-mgmt.onap', 'holmes-rules-mgmt.onap.svc.cluster.local', 'inventory', 'inventory.onap', 'inventory.onap.svc.cluster.local', 'policy-handler', 'policy-handler.onap', 'policy-handler.onap.svc.cluster.local'}|mmanager@osaaf.org|{'file', 'jks', 'pkcs12', 'script'}
 dmaap-bc@dmaap-bc.onap.org|dmaap-bc|local|/opt/app/osaaf/local||mailto:|org.onap.dmaap-bc|root|30|{'dmaap-bc', 'dmaap-bc.api.simpledemo.onap.org', 'dmaap-bc.onap'}|mmanager@osaaf.org|{'jks', 'pkcs12', 'script'}
 dmaap-bc-mm-prov@dmaap-bc-mm-prov.onap.org|dmaap-bc-mm-prov|local|/opt/app/osaaf/local||mailto:|org.onap.dmaap-bc-mm-prov|root|30|{'dmaap-bc-mm-prov', 'dmaap-bc-mm-prov.api.simpledemo.onap.org', 'dmaap-bc-mm-prov.onap', 'onap.dmaap-bc-mm-prov'}|aaf_admin@osaaf.org|{'pkcs12', 'script'}
index 591f732..04281dc 100644 (file)
@@ -6,6 +6,7 @@ clamp@clamp.onap.org|2|2020-11-26 12:31:54.000+0000|0xd993c5617486296f1b99d04de3
 aai@aai.onap.org|2|2020-11-26 12:31:54.000+0000|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|org.onap.aai|53344||
 appc@appc.onap.org|2|2020-11-26 12:31:54.000+0000|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|org.onap.appc|53344||
 appc-cdt@appc-cdt.onap.org|2|2020-11-26 12:31:54.000+0000|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|org.onap.appc-cdt|53344||
+cli@cli.onap.org|2|2020-11-26 12:31:54.000+0000|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|org.onap.cli|53344||
 dcae@dcae.onap.org|2|2020-11-26 12:31:54.000+0000|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|org.onap.dcae|53344||
 oof@oof.onap.org|2|2020-11-26 12:31:54.000+0000|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|org.onap.oof|53344||
 so@so.onap.org|2|2020-11-26 12:31:54.000+0000|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|org.onap.so|53344||
index 223fe03..0f7bad8 100644 (file)
@@ -6,6 +6,7 @@ org.onap.cds||org.onap||3
 org.onap.clampdemo|Onap clamp demo NS|org.onap|2|2
 org.onap.clamp||org.onap||3
 org.onap.clamptest|Onap clamp test NS|org.onap|2|2
+org.onap.cli||org.onap||3
 org.onap.dcae||org.onap||3
 org.onap.dmaap-bc.api||org.onap.dmaap-bc||3
 org.onap.dmaap-bc-mm-prov||org.onap||3
index 10edaa5..a5bc368 100644 (file)
@@ -44,6 +44,9 @@ org.onap.clampdemo|access|*|*|ClampDemo Write Access|{'org.onap.clampdemo.admin'
 org.onap.clampdemo|access|*|read|ClampDemo Read Access|{'org.onap.clampdemo.owner'}
 org.onap.clamptest|access|*|*|Onap Write Access|{'org.onap.clamptest.admin'}
 org.onap.clamptest|access|*|read|Onap Read Access|{'org.onap.clamptest.owner'}
+org.onap.cli|access|*|*|AAF Namespace Write Access|"{'org.onap.cli|admin', 'org.onap.cli|service'}"
+org.onap.cli|access|*|read|AAF Namespace Read Access|"{'org.onap.cli|owner'}"
+org.onap.cli|certman|local|request,ignoreIPs,showpass||"{'org.osaaf.aaf|deploy'}"
 org.onap.dcae|access|*|*|AAF Namespace Write Access|"{'org.onap.dcae|admin', 'org.onap.dmaap-bc-topic-mgr|admin', 'org.onap.dmaap-bc|admin'}"
 org.onap.dcae|access|*|read|AAF Namespace Read Access|"{'org.onap.dcae|owner'}"
 org.onap.dcae|certman|local|request,ignoreIPs,showpass||"{'org.onap.dcae|seeCerts', 'org.osaaf.aaf|deploy'}"
index bdacfaa..5ee3d55 100644 (file)
@@ -34,6 +34,9 @@ org.onap.clamp|seeCerts||"{'org.onap.clamp|certman|local|request,ignoreIPs,showp
 org.onap.clamp|service||"{'org.onap.clamp|access|*|*', 'org.onap.clamp|clds.cl.manage|dev|*', 'org.onap.clamp|clds.cl|dev|*', 'org.onap.clamp|clds.filter.vf|dev|*', 'org.onap.clamp|clds.template|dev|*', 'org.onap.clamp|clds.tosca|dev|*'}"
 org.onap.clamptest|admin|Onap Clamp Test  Admins|"{'org.onap.clamptest.access|*|*'}"
 org.onap.clamptest|owner|onap clamp Test Owners|"{'org.onap.clamptest.access|*|read'}"
+org.onap.cli|admin|AAF Namespace Administrators|"{'org.onap.cli|access|*|*'}"
+org.onap.cli|owner|AAF Namespace Owners|"{'org.onap.cli|access|*|read'}"
+org.onap.cli|service||"{'org.onap.cli|access|*|*'}"
 org.onap.dcae|admin|AAF Namespace Administrators|"{'org.onap.dcae|access|*|*', 'org.onap.dmaap-bc|access|*|read'}"
 org.onap.dcae|owner|AAF Namespace Owners|"{'org.onap.dcae|access|*|read'}"
 org.onap.dcae|pmPublisher||
@@ -311,7 +314,7 @@ org.openecomp.dmaapBC|admin|AAF Admins|"{'org.openecomp.dmaapBC.access|*|*', 'or
 org.openecomp.dmaapBC|owner|AAF Owners|"{'org.openecomp.dmaapBC.access|*|read'}"
 org.openecomp|owner|OpenEcomp Owners|"{'org.openecomp.access|*|read'}"
 org.osaaf.aaf|admin|AAF Admins|"{'org.osaaf.aaf.access|*|*', 'org.osaaf.aaf|cache|all|clear', 'org.osaaf.aaf|cache|role|clear', 'org.osaaf.aaf|password|*|create,reset'}"
-org.osaaf.aaf|deploy|ONAP Deployment Role|"{'org.onap.aaf-sms|certman|local|request,ignoreIPs,showpass', 'org.onap.aai|certman|local|request,ignoreIPs,showpass', 'org.onap.appc|certman|local|request,ignoreIPs,showpass', 'org.onap.appc-cdt|certman|local|request,ignoreIPs,showpass', 'org.onap.clamp|certman|local|request,ignoreIPs,showpass', 'org.onap.dcae|certman|local|request,ignoreIPs,showpass', 'org.onap.dmaap-bc-mm-prov|certman|local|request,ignoreIPs,showpass', 'org.onap.dmaap-bc-topic-mgr|certman|local|request,ignoreIPs,showpass', 'org.onap.dmaap-bc|certman|local|request,ignoreIPs,showpass', 'org.onap.dmaap-dr|certman|local|request,ignoreIPs,showpass', 'org.onap.dmaap-mr|certman|local|request,ignoreIPs,showpass', 'org.onap.dmaap.mr|certman|local|request,ignoreIPs,showpass', 'org.onap.msb-eag|certman|local|request,ignoreIPs,showpass', 'org.onap.msb-iag|certman|local|request,ignoreIPs,showpass', 'org.onap.music|certman|local|request,ignoreIPs,showpass', 'org.onap.nbi|certman|local|request,ignoreIPs,showpass', 'org.onap.oof|certman|local|request,ignoreIPs,showpass', 'org.onap.policy|certman|local|request,ignoreIPs,showpass', 'org.onap.pomba|certman|local|request,ignoreIPs,showpass', 'org.onap.portal|certman|local|request,ignoreIPs,showpass', 'org.onap.sdc|certman|local|request,ignoreIPs,showpass', 'org.onap.sdnc-cds|certman|local|request,ignoreIPs,showpass', 'org.onap.sdnc|certman|local|request,ignoreIPs,showpass', 'org.onap.so|certman|local|request,ignoreIPs,showpass', 'org.onap.vfc|certman|local|request,ignoreIPs,showpass', 'org.onap.vid1|certman|local|request,ignoreIPs,showpass', 'org.onap.vid2|certman|local|request,ignoreIPs,showpass', 'org.onap.vid|certman|local|request,ignoreIPs,showpass', 'org.osaaf.aaf|certman|local|request,ignoreIPs,showpass'}"
+org.osaaf.aaf|deploy|ONAP Deployment Role|"{'org.onap.aaf-sms|certman|local|request,ignoreIPs,showpass', 'org.onap.aai|certman|local|request,ignoreIPs,showpass', 'org.onap.appc|certman|local|request,ignoreIPs,showpass', 'org.onap.appc-cdt|certman|local|request,ignoreIPs,showpass', 'org.onap.clamp|certman|local|request,ignoreIPs,showpass', 'org.onap.cli|certman|local|request,ignoreIPs,showpass', 'org.onap.dcae|certman|local|request,ignoreIPs,showpass', 'org.onap.dmaap-bc-mm-prov|certman|local|request,ignoreIPs,showpass', 'org.onap.dmaap-bc-topic-mgr|certman|local|request,ignoreIPs,showpass', 'org.onap.dmaap-bc|certman|local|request,ignoreIPs,showpass', 'org.onap.dmaap-dr|certman|local|request,ignoreIPs,showpass', 'org.onap.dmaap-mr|certman|local|request,ignoreIPs,showpass', 'org.onap.dmaap.mr|certman|local|request,ignoreIPs,showpass', 'org.onap.msb-eag|certman|local|request,ignoreIPs,showpass', 'org.onap.msb-iag|certman|local|request,ignoreIPs,showpass', 'org.onap.music|certman|local|request,ignoreIPs,showpass', 'org.onap.nbi|certman|local|request,ignoreIPs,showpass', 'org.onap.oof|certman|local|request,ignoreIPs,showpass', 'org.onap.policy|certman|local|request,ignoreIPs,showpass', 'org.onap.pomba|certman|local|request,ignoreIPs,showpass', 'org.onap.portal|certman|local|request,ignoreIPs,showpass', 'org.onap.sdc|certman|local|request,ignoreIPs,showpass', 'org.onap.sdnc-cds|certman|local|request,ignoreIPs,showpass', 'org.onap.sdnc|certman|local|request,ignoreIPs,showpass', 'org.onap.so|certman|local|request,ignoreIPs,showpass', 'org.onap.vfc|certman|local|request,ignoreIPs,showpass', 'org.onap.vid1|certman|local|request,ignoreIPs,showpass', 'org.onap.vid2|certman|local|request,ignoreIPs,showpass', 'org.onap.vid|certman|local|request,ignoreIPs,showpass', 'org.osaaf.aaf|certman|local|request,ignoreIPs,showpass'}"
 org.osaaf.aaf|owner|AAF Owners|"{'org.osaaf.aaf.access|*|read,approve'}"
 org.osaaf.aaf|service||"{'org.osaaf.aaf|cache|*|clear'}"
 org.osaaf|admin|OSAAF Admins|"{'org.osaaf.access|*|*'}"
index a9dc752..05da180 100644 (file)
@@ -11,6 +11,8 @@ mmanager@people.osaaf.org|org.onap.cds.admin|2020-11-26 12:31:54.000+0000|org.on
 mmanager@people.osaaf.org|org.onap.cds.owner|2020-11-26 12:31:54.000+0000|org.onap.cds|owner
 mmanager@people.osaaf.org|org.onap.clamp.admin|2020-11-26 12:31:54.000+0000|org.onap.clamp|admin
 mmanager@people.osaaf.org|org.onap.clamp.owner|2020-11-26 12:31:54.000+0000|org.onap.clamp|owner
+mmanager@people.osaaf.org|org.onap.cli.admin|2020-11-26 12:31:54.000+0000|org.onap.cli|admin
+mmanager@people.osaaf.org|org.onap.cli.owner|2020-11-26 12:31:54.000+0000|org.onap.cli|owner
 mmanager@people.osaaf.org|org.onap.dcae.admin|2020-11-26 12:31:54.000+0000|org.onap.dcae|admin
 mmanager@people.osaaf.org|org.onap.dcae.owner|2020-11-26 12:31:54.000+0000|org.onap.dcae|owner
 mmanager@people.osaaf.org|org.onap.dmaap.admin|2020-11-26 12:31:54.000+0000|org.onap.dmaap|admin
@@ -193,6 +195,7 @@ aaf_admin@people.osaaf.org|org.onap.appc.restconf|2020-11-26 12:31:54.000+0000|o
 aaf_admin@people.osaaf.org|org.onap.appc-cdt.admin|2020-11-26 12:31:54.000+0000|org.onap.appc-cdt|admin
 aaf_admin@people.osaaf.org|org.onap.cds.admin|2020-11-26 12:31:54.000+0000|org.onap.cds|admin
 aaf_admin@people.osaaf.org|org.onap.clamp.admin|2020-11-26 12:31:54.000+0000|org.onap.clamp|admin
+aaf_admin@people.osaaf.org|org.onap.cli.admin|2020-11-26 12:31:54.000+0000|org.onap.cli|admin
 aaf_admin@people.osaaf.org|org.onap.dcae.admin|2020-11-26 12:31:54.000+0000|org.onap.dcae|admin
 aaf_admin@people.osaaf.org|org.onap.dmaap-bc.admin|2020-11-26 12:31:54.000+0000|org.onap.dmaap-bc|admin
 aaf_admin@people.osaaf.org|org.onap.dmaap-bc.api.admin|2020-11-26 12:31:54.000+0000|org.onap.dmaap-bc.api|admin
@@ -246,6 +249,16 @@ aaf@aaf.osaaf.org|org.osaaf.aaf.service|2020-11-26 12:31:54.000+0000|org.osaaf.a
 aaf@aaf.osaaf.org|org.osaaf.people.admin|2020-11-26 12:31:54.000+0000|org.osaaf.people|admin
 osaaf@aaf.osaaf.org|org.osaaf.aaf.admin|2020-11-26 12:31:54.000+0000|org.osaaf.aaf|admin
 aaf-sms@aaf-sms.onap.org|org.onap.aaf-sms.service|2020-11-26 12:31:54.000+0000|org.onap.aaf-sms|service
+aai@aai.onap.org|org.onap.aai.admin|2020-11-26 12:31:54.000+0000|org.onap.aai|admin
+aai@aai.onap.org|org.onap.aai.resources_all|2020-11-26 12:31:54.000+0000|org.onap.aai|resources_all
+aai@aai.onap.org|org.onap.aai.traversal_advanced|2020-11-26 12:31:54.000+0000|org.onap.aai|traversal_advanced
+appc@appc.onap.org|org.onap.aai.resources_all|2020-11-26 12:31:54.000+0000|org.onap.aai|resources_all
+appc@appc.onap.org|org.onap.aai.traversal_advanced|2020-11-26 12:31:54.000+0000|org.onap.aai|traversal_advanced
+appc@appc.onap.org|org.onap.appc.admin|2020-11-26 12:31:54.000+0000|org.onap.appc|admin
+appc@appc.onap.org|org.onap.appc.odl|2020-11-26 12:31:54.000+0000|org.onap.appc|odl
+appc@appc.onap.org|org.onap.appc.service|2020-11-26 12:31:54.000+0000|org.onap.appc|service
+appc-cdt@appc-cdt.onap.org|org.onap.appc-cdt.service|2020-11-26 12:31:54.000+0000|org.onap.appc-cdt|service
+cli@cli.onap.org|org.onap.cli.service|2020-11-26 12:31:54.000+0000|org.onap.cli|service
 clamp@clampdemo.onap.org|org.onap.clampdemo.owner|2020-11-26 12:31:54.000+0000|org.onap.clampdemo|owner
 clamp@clampdemo.onap.org|org.onap.clampdemo.service|2020-11-26 12:31:54.000+0000|org.onap.clampdemo|admin
 clamp@clamp.onap.org|org.onap.clamp.clds.admin.dev|2020-11-26 12:31:54.000+0000|org.onap.clamp|clds.admin.dev
@@ -262,15 +275,6 @@ clamp@clamp.onap.org|org.onap.dmaap.mr.dgl000.subscriber|2020-11-26 12:31:54.000
 clamp@clamp.osaaf.org|org.onap.clamp.service|2020-11-26 12:31:54.000+0000|org.onap.clamp|service
 clamp@clamptest.onap.org|org.onap.clamptest.owner|2020-11-26 12:31:54.000+0000|org.onap.clamptest|owner
 clamp@clamptest.onap.org|org.onap.clamptest.service|2020-11-26 12:31:54.000+0000|org.onap.clamptest|admin
-aai@aai.onap.org|org.onap.aai.admin|2020-11-26 12:31:54.000+0000|org.onap.aai|admin
-aai@aai.onap.org|org.onap.aai.resources_all|2020-11-26 12:31:54.000+0000|org.onap.aai|resources_all
-aai@aai.onap.org|org.onap.aai.traversal_advanced|2020-11-26 12:31:54.000+0000|org.onap.aai|traversal_advanced
-appc@appc.onap.org|org.onap.aai.resources_all|2020-11-26 12:31:54.000+0000|org.onap.aai|resources_all
-appc@appc.onap.org|org.onap.aai.traversal_advanced|2020-11-26 12:31:54.000+0000|org.onap.aai|traversal_advanced
-appc@appc.onap.org|org.onap.appc.admin|2020-11-26 12:31:54.000+0000|org.onap.appc|admin
-appc@appc.onap.org|org.onap.appc.odl|2020-11-26 12:31:54.000+0000|org.onap.appc|odl
-appc@appc.onap.org|org.onap.appc.service|2020-11-26 12:31:54.000+0000|org.onap.appc|service
-appc-cdt@appc-cdt.onap.org|org.onap.appc-cdt.service|2020-11-26 12:31:54.000+0000|org.onap.appc-cdt|service
 dcae@dcae.onap.org|org.onap.aai.resources_all|2020-11-26 12:31:54.000+0000|org.onap.aai|resources_all
 dcae@dcae.onap.org|org.onap.aai.traversal_advanced|2020-11-26 12:31:54.000+0000|org.onap.aai|traversal_advanced
 dcae@dcae.onap.org|org.onap.dcae.pmPublisher|2020-11-26 12:31:54.000+0000|org.onap.dcae|pmPublisher
index 2ddc273..1615fdf 100644 (file)
@@ -54,6 +54,7 @@ clamp|ONAP CLAMP Application|CLAMP|Application|314-123-1234|no_reply@people.osaa
 aai|ONAP AAI Application|AAI|ONAP Application|314-123-1234|no_reply@people.osaaf.com|a|mmanager
 appc|ONAP APPC Application|APPC|ONAP Application|314-123-1234|no_reply@people.osaaf.com|a|mmanager
 appc-cdt|ONAP APPC CDT Application|APPC|ONAP Application|314-123-1234|no_reply@people.osaaf.com|a|mmanager
+cli|ONAP CLI Application|SDNC-CDS|ONAP Application|314-123-1234|no_reply@people.osaaf.com|a|mmanager
 dcae|ONAP DCAE Application|CLAMP|ONAP Application|314-123-1234|no_reply@people.osaaf.com|a|mmanager
 oof|ONAP OOF Application|OOF|ONAP Application|314-123-1234|no_reply@people.osaaf.com|a|mmanager
 so|ONAP SO Application|SO|ONAP Application|314-123-1234|no_reply@people.osaaf.com|a|mmanager
index 04d5342..5fe5b13 100644 (file)
@@ -40,11 +40,11 @@ global: # global defaults
       version:
       # Current version of the REST API
         api:
-          default: v21
+          default: v23
         # Specifies which version the depth parameter is configurable
         depth: v11
         # List of all the supported versions of the API
-        list: v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21
+        list: v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23
         # Specifies from which version related link should appear
         related:
           link: v11
@@ -74,7 +74,7 @@ global: # global defaults
         - aai_keystore
 
 # application image
-image: onap/aai-schema-service:1.7.13
+image: onap/aai-schema-service:1.8.5
 pullPolicy: Always
 restartPolicy: Always
 flavorOverride: small
index 516dcc4..1e509bd 100644 (file)
@@ -228,11 +228,11 @@ global: # global defaults
       version:
         # Current version of the REST API
         api:
-          default: v21
+          default: v23
         # Specifies which version the depth parameter is configurable
         depth: v11
         # List of all the supported versions of the API
-        list: v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21
+        list: v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23
         # Specifies from which version related link should appear
         related:
           link: v11
index 1e08aaf..2050d85 100644 (file)
@@ -19,6 +19,9 @@ dependencies:
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
     repository: '@local'
+  - name: certInitializer
+    version: ~7.x-0
+    repository: '@local'
   - name: repositoryGenerator
     version: ~7.x-0
     repository: '@local'
diff --git a/kubernetes/cli/resources/certificates/ocomp.pem b/kubernetes/cli/resources/certificates/ocomp.pem
deleted file mode 100644 (file)
index 5321c65..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDDIyIm/AvmgI0A
-DDVZb6pe8Qlh9YHoGnm5I3S3dvu1YBT6jLvP7N1v1BAx6+xxg4RQ2v+WAxUwKgy3
-gSo2mhmBwPZGlhLX+IdbT+sb7Cl/xfB7kkegLsnWhlM4YEtlAQW8FYi9gMqssBiO
-lk6zlWqVrShNC566vpEURQOjU1CanZWMhXtYzw4gbMBGlrC54EtRwmn6a7Gp/avA
-FZ05c/7BQyfFq/jc7ttmaeNtYdFwPkuljdE/0h4ZtmZjY5hxrBkCHUXtf/obhxep
-q5PzR16MA1zwis+OHoadqm4qP8w9Wo7KNQo62Sm6zB4gbQO+qA/ZwcSHlJNPAavt
-7KB3lIN1AgMBAAECggEAcXtgJC3WOeGunkV7TRzchsREgZyGRNYIzftpqDxg27UZ
-3i+0FZKZoKxCEtYyNj2W2HLTyojWbKE3rgxG4WQyyzvNvXUPVlwpU5ghkaaA59bU
-KPkEAIrVRJXvlcyibAXxMNWRJSveMhli3qFY+aU+S/dchZnpYI7szk3odLZCHPfd
-7KWMOlm3RYUGo4XIXY9nqAgsgg0ml3s5NUoLwVtxtZFocEiLTxTuvjsirE+IVYNx
-kgGJ5EYpfCkAPQkNF+L27BHrrQpGdmQnCft3iqkGJa8+oPE0DY+TPoY1VNoPmKKg
-CTDouuaJQHq62MvkSj2EauHBshzzrL6UhW5FpqybIQKBgQDl40/jhvZ3i64rXUB+
-3GXFnSJuhG6ys/bHQBP+rtHCdyYlfgEe3ZjSKq16HNFErgUBXiVjR+VvPS2m/r9R
-zYCD9jJ9YYfAdcyo58kZZrut8atu94G0Un9hNz5nQ+hy9YNOsI8woJdCfw41jGcx
-A1hP05fDxw5Ozi2uZBhwI39keQKBgQDZTVbuASj4tMgsHHgpqVt0j6nD3t4kG5h5
-333arMmklsWrX1nnEHE73S72JO/sz0GJtAu7EpjMNkZlTmZz+U5geuhfrTLEGrti
-MG8o9VakLbxdZBVbpHznoY+bb6o5pW6jKyOR9jPuX5AhgAj8eeP5OOU5nHh/2wOG
-HMZyDak/3QKBgFTBI5j9Dy0v4Dy4mqiq1RKwRht809sqolb/dt+00Dzj9Lpp5Dve
-8xK5DVAyA61QgyPn89zQivQiGAyzaxHbs//y6tZy+LuqMpQrMGcfCx6sNMoqkjVL
-HQ9YcLddv/tyLMD8My54Zovrj++KHhlh5FM57YAOiWXgedMLsD7Xt4XxAoGBAJk8
-X6vQp5rSqUHqBZajdfm5gWa9l/rwdtKilraJGFz3cYdK4zP9NUyYyhALtiFReg7o
-J0mRcKy5LWUtJzRrPyjsI0es9Fqz2yX/r7O7ZpC6K9XTyPfqA6a4GHPtB6ZFEcMA
-ncHFU5OqUhI9npikP+40f/jjbVoEEPUW/53YIl0FAoGAR7g3so9iKRttgfMTpA3G
-U480A8tTxZpP3agmvGvOw8HuLXzjGU5P6cntFGNxg1fDOOi8Qf+726gowMDij2nK
-ACewXgS8aix8l0U/kzoUL4yUuc4AwobOMyefhCJ89hFaLRZn1LNKZIuNKcWApekh
-kxMQk6Ent5/OF/yYOsIzlLs=
------END PRIVATE KEY-----
------BEGIN CERTIFICATE-----
-MIIDXTCCAkWgAwIBAgIJAITRlPCTLzArMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
-BAYTAklOMQswCQYDVQQIDAJLQTEMMAoGA1UEBwwDQkxSMQwwCgYDVQQKDANDTEkx
-DTALBgNVBAMMBG9uYXAwHhcNMjAwMjIxMTAyOTM4WhcNNDcwNzA4MTAyOTM4WjBF
-MQswCQYDVQQGEwJJTjELMAkGA1UECAwCS0ExDDAKBgNVBAcMA0JMUjEMMAoGA1UE
-CgwDQ0xJMQ0wCwYDVQQDDARvbmFwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
-CgKCAQEAwyMiJvwL5oCNAAw1WW+qXvEJYfWB6Bp5uSN0t3b7tWAU+oy7z+zdb9QQ
-MevscYOEUNr/lgMVMCoMt4EqNpoZgcD2RpYS1/iHW0/rG+wpf8Xwe5JHoC7J1oZT
-OGBLZQEFvBWIvYDKrLAYjpZOs5Vqla0oTQueur6RFEUDo1NQmp2VjIV7WM8OIGzA
-RpawueBLUcJp+muxqf2rwBWdOXP+wUMnxav43O7bZmnjbWHRcD5LpY3RP9IeGbZm
-Y2OYcawZAh1F7X/6G4cXqauT80dejANc8IrPjh6GnapuKj/MPVqOyjUKOtkpuswe
-IG0DvqgP2cHEh5STTwGr7eygd5SDdQIDAQABo1AwTjAdBgNVHQ4EFgQUP0Dxq/ZI
-TM5F62E87YD+09zk+7wwHwYDVR0jBBgwFoAUP0Dxq/ZITM5F62E87YD+09zk+7ww
-DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAqPlrvhP2ah4z5sDw/z31
-5v/20VKfQVDDeq3MHXRC2QCD3GR32aZYXSdtTKsBAS+jFzV42+T8ry0XBKPR0gtg
-O2oZzfUkTG3eyAmOE1PFUIf+JaQiYN1v5uFsIhDbMngzvB66F9SCD5zzsSVv++DG
-5YDqJFgHadp8BmTOkiA8u6YnnKF8UgBYwfuZFsSgzIDOjyLYULase+nqJVG841UN
-MMWQzqyhHmzIvXcY3kYBbtI7n0ryW0u1ZkomBZs/DbixZ2w6G1K3UONHgdIX6uf4
-hca+vTR3xZuPJ9dXhwNhZVfQZr3SfGW89Xmu/LOGx+lZoAxFXw5PdbA0LPi5k+wU
-xg==
------END CERTIFICATE-----
diff --git a/kubernetes/cli/resources/configuration/lighttpd.conf b/kubernetes/cli/resources/configuration/lighttpd.conf
new file mode 100644 (file)
index 0000000..0809868
--- /dev/null
@@ -0,0 +1,55 @@
+{{/*
+# Copyright 2018 Huawei Technologies Co., Ltd.
+# Copyright 2021 Huawei Technologies Co., Ltd.
+#
+# 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.
+*/}}
+
+server.document-root = "/var/www-data/servers/open-cli/"
+server.username             = "www-data"
+server.groupname            = "www-data"
+server.port                 = 443
+ssl.engine                  = "enable"
+ssl.pemfile                 = "{{ .Values.certInitializer.credsPath }}/certs/fullchain.pem"
+
+mimetype.assign = (
+  ".html" => "text/html",
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+
+index-file.names = ( "index.html" )
+dir-listing.activate = "disable"
+
+
+server.modules = (
+        "mod_access",
+        "mod_proxy",
+        "mod_alias",
+        "mod_compress",
+        "mod_redirect",
+#       "mod_rewrite",
+)
+
+#server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
+server.errorlog             = "/var/log/lighttpd/error.log"
+server.pid-file             = "/var/run/lighttpd.pid"
+#compress.cache-dir          = "/var/cache/lighttpd/compress/"
+#compress.filetype           = ( "application/javascript", "text/css", "text/html", "text/plain" )
+
+# default listening port for IPv6 falls back to the IPv4 port
+## Use ipv6 if available
+#include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
+#include_shell "/usr/share/lighttpd/create-mime.assign.pl"
+#include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
\ No newline at end of file
similarity index 76%
rename from kubernetes/cli/templates/secrets.yaml
rename to kubernetes/cli/templates/configmap.yaml
index 213b709..ae515a0 100644 (file)
@@ -1,11 +1,11 @@
 {{/*
-# Copyright 2020 Huawei Technologies Co., Ltd.
+# Copyright Â© 2021 Orange
 #
 # 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
+#       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,
 */}}
 
 apiVersion: v1
-kind: Secret
+kind: ConfigMap
 metadata:
-  name: ocomp-pem
+  name: {{ include "common.fullname" . }}-lighttpd
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
     release: {{ include "common.release" . }}
     heritage: {{ .Release.Service }}
-type: Opaque
 data:
-  ocomp.pem:
-{{ tpl (.Files.Glob "resources/certificates/ocomp.pem").AsSecrets . | indent 2 }}
-
+{{ tpl (.Files.Glob "resources/configuration/*").AsConfig . | indent 2 }}
\ No newline at end of file
index 74b2d2d..7353087 100644 (file)
@@ -35,6 +35,7 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ include "common.release" . }}
     spec:
+      initContainers: {{ include "common.certInitializer.initContainer" . | nindent 6 }}
       containers:
         - name: {{ include "common.name" . }}
           image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
@@ -56,10 +57,10 @@ spec:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
-          volumeMounts:
-          - name: ocomp-pem
-            mountPath: "/etc/lighttpd/ocomp.pem"
-            subPath: ocomp.pem
+          volumeMounts: {{- include "common.certInitializer.volumeMount" . | nindent 10 }}
+          - name: lighttpd
+            mountPath: "/etc/lighttpd/lighttpd.conf"
+            subPath: lighttpd.conf
             readOnly: true
           env:
             - name: OPEN_CLI_MODE
@@ -74,9 +75,9 @@ spec:
         affinity:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
-      volumes:
-      - name: ocomp-pem
-        secret:
-          secretName: ocomp-pem
+      volumes: {{ include "common.certInitializer.volumes" . | nindent 6 }}
+      - name: lighttpd
+        configMap:
+          name: {{ include "common.fullname" . }}-lighttpd
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 6e711c5..85b1838 100644 (file)
 #################################################################
 global:
   nodePortPrefix: 302
+
+#################################################################
+# Certificate configuration
+#################################################################
+certInitializer:
+  nameOverride: cli-cert-initializer
+  aafDeployFqi: deployer@people.osaaf.org
+  aafDeployPass: demo123456!
+  # aafDeployCredsExternalSecret: some secret
+  fqdn: "cli"
+  app_ns: "org.osaaf.aaf"
+  fqi_namespace: "org.onap.cli"
+  fqi: "cli@cli.onap.org"
+  public_fqdn: "aaf.osaaf.org"
+  cadi_longitude: "0.0"
+  cadi_latitude: "0.0"
+  credsPath: /opt/app/osaaf/local
+  aaf_add_config: |
+    echo "*** retrieving password for keystore and trustore"
+    export $(/opt/app/aaf_config/bin/agent.sh local showpass \
+      {{.Values.fqi}} {{ .Values.fqdn }} | grep '^c' | xargs -0)
+    if [ -z "$cadi_keystore_password_p12" ]
+    then
+      echo "  /!\ certificates retrieval failed"
+      exit 1
+    else
+      echo "*** transform AAF certs into pem files"
+      mkdir -p {{ .Values.credsPath }}/certs
+      keytool -exportcert -rfc -file {{ .Values.credsPath }}/certs/cacert.pem \
+        -keystore {{ .Values.credsPath }}/{{ .Values.fqi_namespace }}.trust.jks \
+        -alias ca_local_0 \
+        -storepass $cadi_truststore_password
+      openssl pkcs12 -in {{ .Values.credsPath }}/{{ .Values.fqi_namespace }}.p12 \
+        -nokeys -out {{ .Values.credsPath }}/certs/cert.pem \
+        -passin pass:$cadi_keystore_password_p12 \
+        -passout pass:$cadi_keystore_password_p12
+      echo "*** generating needed file"
+      cat {{ .Values.credsPath }}/{{ .Values.fqi_namespace }}.key \
+          {{ .Values.credsPath }}/certs/cert.pem \
+          {{ .Values.credsPath }}/certs/cacert.pem \
+          > {{ .Values.credsPath }}/certs/fullchain.pem;
+      cat {{ .Values.credsPath }}/certs/fullchain.pem
+      echo "*** change ownership of certificates to targeted user"
+      chown -R 33 {{ .Values.credsPath }}
+    fi
+
+
 #################################################################
 # Application configuration defaults.
 #################################################################
index 4e43f62..f820c30 100644 (file)
@@ -181,8 +181,10 @@ spec:
 {{- $subchartGlobal := mergeOverwrite (deepCopy $initRoot.global) $dot.Values.global -}}
   {{- range $i, $certificate := $dot.Values.certificates -}}
     {{- $mountPath := $certificate.mountPath -}}
-- mountPath: {{ $mountPath }}
+- mountPath: {{ (printf "%s/secret-%d" $mountPath $i) }}
   name: certmanager-certs-volume-{{ $i }}
+- mountPath: {{ $mountPath }}
+  name: certmanager-certs-volume-{{ $i }}-dir
    {{- end -}}
 {{- end -}}
 
@@ -194,6 +196,8 @@ spec:
   {{- range $i, $certificate := $certificates -}}
     {{- $name := include "common.fullname" $dot -}}
     {{- $certificatesSecretName := default (printf "%s-secret-%d" $name $i) $certificate.secretName -}}
+- name: certmanager-certs-volume-{{ $i }}-dir
+  emptyDir: {}
 - name: certmanager-certs-volume-{{ $i }}
   projected:
     sources:
@@ -217,3 +221,17 @@ spec:
      {{- end }}
   {{- end -}}
 {{- end -}}
+
+{{- define "common.certManager.linkVolumeMounts" -}}
+{{- $dot := default . .dot -}}
+{{- $initRoot := default $dot.Values.certManagerCertificate .initRoot -}}
+{{- $subchartGlobal := mergeOverwrite (deepCopy $initRoot.global) $dot.Values.global -}}
+{{- $certificates := $dot.Values.certificates -}}
+{{- $certsLinkCommand := "" -}}
+  {{- range $i, $certificate := $certificates -}}
+    {{- $destnationPath := (required "'mountPath' for Certificate is required." $certificate.mountPath) -}}
+    {{- $sourcePath := (printf "%s/secret-%d/*" $destnationPath $i) -}}
+    {{- $certsLinkCommand = (printf "ln -s %s %s; %s" $sourcePath $destnationPath $certsLinkCommand) -}}
+  {{- end -}}
+{{ $certsLinkCommand }}
+{{- end -}}
index 57e6c69..58cc9c7 100644 (file)
@@ -27,7 +27,9 @@ Full example (other fields are ignored):
 certificates:
   - mountPath:  /var/custom-certs
     caName: RA
-    outputType: JKS
+    keystore:
+      outputType:
+        - jks
     commonName: common-name
     dnsNames:
       - dns-name-1
@@ -65,7 +67,7 @@ There also need to be some includes used in a target component deployment (inden
 {{- if and $subchartGlobal.cmpv2Enabled (not $subchartGlobal.CMPv2CertManagerIntegration) -}}
 {{- range $index, $certificate := $dot.Values.certificates -}}
 {{/*# General certifiacate attributes  #*/}}
-{{- $commonName     := $certificate.commonName     -}}
+{{- $commonName     := (required "'commonName' for Certificate is required." $certificate.commonName) -}}
 {{/*# SAN's #*/}}
 {{- $dnsNames       := default (list)    $certificate.dnsNames       -}}
 {{- $ipAddresses    := default (list)    $certificate.ipAddresses    -}}
@@ -87,7 +89,11 @@ There also need to be some includes used in a target component deployment (inden
 {{- $orgUnit        := $certificate.subject.organizationalUnit -}}
 {{- end -}}
 {{- $caName := default $subchartGlobal.platform.certServiceClient.envVariables.caName $certificate.caName -}}
-{{- $outputType := default $subchartGlobal.platform.certServiceClient.envVariables.outputType  $certificate.outputType  -}}
+{{- $outputType := $subchartGlobal.platform.certServiceClient.envVariables.outputType -}}
+{{- if $certificate.keystore -}}
+{{- $outputTypeList := (required "'outputType' in 'keystore' section is required." $certificate.keystore.outputType) -}}
+{{- $outputType = mustFirst ($outputTypeList) | upper -}}
+{{- end -}}
 {{- $requestUrl := $subchartGlobal.platform.certServiceClient.envVariables.requestURL -}}
 {{- $certPath := $subchartGlobal.platform.certServiceClient.envVariables.certPath -}}
 {{- $requestTimeout := $subchartGlobal.platform.certServiceClient.envVariables.requestTimeout -}}
index bf20455..fd059a9 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright Â© 2019  AT&T Intellectual Property.  All rights reserved.
+# Copyright Â© 2021 Samsung Electronics
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-HELM_BIN := helm
-
-make-dcaegen2: make-dcae-bootstrap make-dcae-cloudify-manager make-dcae-config-binding-service make-dcae-healthcheck make-dcae-servicechange-handler make-dcae-inventory-api make-dcae-deployment-handler make-dcae-policy-handler make-dcae-dashboard
 
-make-dcae-bootstrap:
-       cd components && $(HELM_BIN) dep up dcae-bootstrap && $(HELM_BIN) lint dcae-bootstrap
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
 
-make-dcae-cloudify-manager:
-       cd components && $(HELM_BIN) dep up dcae-cloudify-manager && $(HELM_BIN) lint dcae-cloudify-manager
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
 
-make-dcae-config-binding-service:
-       cd components && $(HELM_BIN) dep up dcae-config-binding-service && $(HELM_BIN) lint dcae-config-binding-service
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
 
-make-dcae-healthcheck:
-       cd components && $(HELM_BIN) dep up dcae-healthcheck && $(HELM_BIN) lint dcae-healthcheck
+all: $(HELM_CHARTS)
 
-make-dcae-servicechange-handler:
-       cd components && $(HELM_BIN) dep up dcae-servicechange-handler && $(HELM_BIN) lint dcae-servicechange-handler
+$(HELM_CHARTS):
+       @echo "\n[$@]"
+       @make package-$@
 
-make-dcae-inventory-api:
-       cd components && $(HELM_BIN) dep up dcae-inventory-api && $(HELM_BIN) lint dcae-inventory-api
+make-%:
+       @if [ -f $*/Makefile ]; then make -C $*; fi
 
-make-dcae-deployment-handler:
-       cd components && $(HELM_BIN) dep up dcae-deployment-handler && $(HELM_BIN) lint dcae-deployment-handler
+dep-%: make-%
+       @if [ -f $*/requirements.yaml ]; then $(HELM_BIN) dep up $*; fi
 
-make-dcae-policy-handler:
-       cd components && $(HELM_BIN) dep up dcae-policy-handler && $(HELM_BIN) lint dcae-policy-handler
+lint-%: dep-%
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi
 
-make-dcae-dashboard:
-       cd components && $(HELM_BIN) dep up dcae-dashboard && $(HELM_BIN) lint dcae-dashboard
+package-%: lint-%
+       @mkdir -p $(PACKAGE_DIR)
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+       @$(HELM_BIN) repo index $(PACKAGE_DIR)
 
 clean:
-       @find . -type f -name '*.tgz' -delete
-       @find . -type f -name '*.lock' -delete
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
diff --git a/kubernetes/dcaegen2/components/Makefile b/kubernetes/dcaegen2/components/Makefile
new file mode 100644 (file)
index 0000000..4ffaa33
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright Â© 2021 Samsung Electronics
+#
+# 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.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES :=
+HELM_BIN := helm
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+       @echo "\n[$@]"
+       @make package-$@
+
+make-%:
+       @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+       @if [ -f $*/requirements.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi
+
+package-%: lint-%
+       @mkdir -p $(PACKAGE_DIR)
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+       @$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
index 7abf0ca..1bc13ef 100644 (file)
@@ -44,7 +44,7 @@ config:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/org.onap.dcaegen2.platform.inventory-api:3.5.1
+image: onap/org.onap.dcaegen2.platform.inventory-api:3.5.2
 
 pullPolicy: Always
 
diff --git a/kubernetes/dcaegen2/resources/external/map/schema-map.json b/kubernetes/dcaegen2/resources/external/map/schema-map.json
new file mode 100644 (file)
index 0000000..a70c597
--- /dev/null
@@ -0,0 +1,18 @@
+[
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/heartbeatNtf.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/heartbeatNtf.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/PerDataFileReportMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/PerDataFileReportMnS.yaml"
+  },
+  {
+    "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/provMnS.yaml",
+    "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/provMnS.yaml"
+  }
+]
\ No newline at end of file
diff --git a/kubernetes/dcaegen2/resources/external/schema/rel16/PerDataFileReportMnS.yaml b/kubernetes/dcaegen2/resources/external/schema/rel16/PerDataFileReportMnS.yaml
new file mode 100644 (file)
index 0000000..dfacc14
--- /dev/null
@@ -0,0 +1,272 @@
+openapi: 3.0.1
+info:
+  title: TS 28.532 Performance data file reporting Service
+  version: 16.4.0
+  description: >-
+    OAS 3.0.1 specification of the Performance data file reporting Management Service Â© 2020,
+    3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All
+    rights reserved.
+externalDocs:
+  description: 3GPP TS 28.532 V16.4.0; Generic management services
+  url: 'http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/'
+servers:
+  - url: '{MnSRoot}/PerfDataFileReportMnS/v1640'
+    variables:
+      MnSRoot:
+        description: See subclause 4.4 of TS 32.158
+        default: http://example.com/3GPPManagement
+paths:
+  /Files:
+    get:
+      summary: Read resources of information of available files
+      description: 'With HTTP GET, resources of information of available files are read. The resources to be read are identified with the path component (base resource) and the query component (managementDataType, beginTime and endTime) of the URI. The fields query component allows to select the resource properties to be returned.'
+      parameters:
+        - name: managementDataType
+          in: query
+          description: This parameter identifies the type of management data that the file contains to select the resources from the collection resources identified with the path component of the URI.
+          required: true
+          $ref: '#/components/schemas/managementDataType-Type'
+        - name: beginTime
+          in: query
+          description: This parameter identifies the time stamp no later than which the file became available to select the resources from the collection resources identified with the path component of the URI.
+          required: true
+          $ref: '#/components/schemas/dateTime-Type'
+        - name: endTime
+          in: query
+          description: This parameter identifies the time stamp no earlier than which the file became available to select the resources from the collection resources identified with the path component of the URI.
+          required: true
+          $ref: '#/components/schemas/dateTime-Type'
+      responses:
+        '200':
+          description: 'Success case ("200 OK"). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.'
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/fileInfoRetrieval-ResponseType'
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-ResponseType'
+  /subscriptions:
+    post:
+      summary: Create a subscription
+      description: To create a subscription the representation of the subscription is POSTed on the /subscriptions collection resource.
+      requestBody:
+        required: true
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/subscription-RequestType'
+      responses:
+        '201':
+          description: Success case ("201 Created"). The representation of the newly created subscription resource shall be returned.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/subscription-ResponseType'
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-ResponseType'
+      callbacks:
+        notifyFileReady:
+          '{request.body#/consumerReference}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/notifyFileReady-NotifType'
+              responses:
+                '204':
+                  description: Success case ("204 No Content"). The notification is successfully delivered. The response message body is absent.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/error-ResponseType'
+        notifyFilePreparationError:
+          '{request.body#/consumerReference}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/notifyFilePreparationError-NotifType'
+              responses:
+                '204':
+                  description: Success case ("204 No Content"). The notification is successfully delivered. The response message body is absent.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/error-ResponseType'
+    delete:
+      summary: Delete all subscriptions made with a specific consumerReferenceId
+      description: The subscriptions are deleted by deleting the corresponding subscription resources. The resources to be deleted are identified with the path component of the URI pointing to the /subscription collection resource and filtering on the consumerReferenceId provided in the query part.
+      parameters:
+        - name: consumerReferenceId
+          in: query
+          description: Identifies the subscriptions to be deleted.
+          required: true
+          schema:
+            $ref: '#/components/schemas/consumerReferenceId-QueryType'
+      responses:
+        '204':
+          description: Success case ("204 No Content"). The subscription resources have been deleted. The response message body is absent.
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-ResponseType'
+  '/subscriptions/{subscriptionId}':
+    delete:
+      summary: Delete a single subscription
+      description: The subscription is deleted by deleting the corresponding subscription resource. The resource to be deleted is identified with the path component of the URI.
+      parameters:
+        - name: subscriptionId
+          in: path
+          description: Identifies the subscription to be deleted.
+          required: true
+          schema:
+            $ref: '#/components/schemas/subscriptionId-PathType'
+      responses:
+        '204':
+          description: Success case ("204 No Content"). The subscription resource has been deleted. The response message body is absent.
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-ResponseType'
+components:
+  schemas:
+    dateTime-Type:
+      type: string
+      format: date-Time
+    uri-Type:
+      type: string
+    long-Type:
+      type: string
+      format: long
+    additionalText-Type:
+      type: string
+    reason-Type:
+      type: string
+    fileInfoRetrieval-ResponseType:
+      type: object
+      properties:
+        data:
+          type: array
+          items:
+            $ref: '#/components/schemas/fileInfo-Type'
+    fileInfo-Type:
+      type: object
+      properties:
+        fileLocation:
+          $ref: '#/components/schemas/uri-Type'
+        fileSize:
+          $ref: '#/components/schemas/long-Type'
+        fileReadyTime:
+          $ref: '#/components/schemas/dateTime-Type'
+        fileExpirationTime:
+          $ref: '#/components/schemas/dateTime-Type'
+        fileCompression:
+          type: string
+        fileFormat:
+          type: string
+    error-ResponseType:
+      type: object
+      properties:
+        error:
+          type: object
+          properties:
+            errorInfo:
+              type: string
+    managementDataType-Type:
+      type: string
+      enum:
+        - PM
+    header-Type:
+      description: Header used in notifications as notification header
+      type: object
+      properties:
+        uri:
+          $ref: '#/components/schemas/uri-Type'
+        notificationId:
+          $ref: '#/components/schemas/notificationId-Type'
+        notificationType:
+          $ref: '#/components/schemas/notificationType-Type'
+        eventTime:
+          $ref: '#/components/schemas/dateTime-Type'
+    subscriptionId-PathType:
+      type: string
+    filter-Type:
+      type: string
+    notificationId-Type:
+      $ref: '#/components/schemas/long-Type'
+    notificationType-Type:
+      type: string
+      enum:
+        - notifyFileReady
+        - notifyFilePreparationError
+    subscription-ResourceType:
+      type: object
+      properties:
+        consumerReference:
+          $ref: '#/components/schemas/uri-Type'
+        timeTick:
+          $ref: '#/components/schemas/long-Type'
+        filter:
+          $ref: '#/components/schemas/filter-Type'
+    subscription-RequestType:
+      type: object
+      properties:
+        data:
+          $ref: '#/components/schemas/subscription-ResourceType'
+    subscription-ResponseType:
+      type: object
+      properties:
+        data:
+          $ref: '#/components/schemas/subscription-ResourceType'
+    consumerReferenceId-QueryType:
+      $ref: '#/components/schemas/uri-Type'
+    notifyFileReady-NotifType:
+      type: object
+      properties:
+        header:
+          $ref: '#/components/schemas/header-Type'
+        body:
+          type: object
+          properties:
+            fileInfoList:
+              type: array
+              items:
+                $ref: '#/components/schemas/fileInfo-Type'
+            additionalText:
+              $ref: '#/components/schemas/additionalText-Type'
+    notifyFilePreparationError-NotifType:
+      type: object
+      properties:
+        header:
+          $ref: '#/components/schemas/header-Type'
+        body:
+          type: object
+          properties:
+            fileInfoList:
+              type: array
+              items:
+                $ref: '#/components/schemas/fileInfo-Type'
+            reason:
+              $ref: '#/components/schemas/reason-Type'
+            additionalText:
+              $ref: '#/components/schemas/additionalText-Type'
diff --git a/kubernetes/dcaegen2/resources/external/schema/rel16/faultMnS.yaml b/kubernetes/dcaegen2/resources/external/schema/rel16/faultMnS.yaml
new file mode 100644 (file)
index 0000000..499123b
--- /dev/null
@@ -0,0 +1,1144 @@
+openapi: 3.0.1
+info:
+  title: Fault Supervision MnS
+  version: 16.4.0
+  description: >-
+    OAS 3.0.1 definition of the Fault Supervision MnS
+    Â© 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
+    All rights reserved.
+externalDocs:
+  description: 3GPP TS 28.532 V16.4.0; Generic management services
+  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
+servers:
+  - url: '{MnSRoot}/FaultSupervisionMnS/{version}'
+    variables:
+      MnSRoot:
+        description: See subclause 4.4.3 of TS 32.158
+        default: http://example.com/3GPPManagement
+      version:
+        description: Versi      on number of the OpenAPI definition
+        default: XXX
+paths:
+  /alarms:
+    get:
+      summary: Retrieve multiple alarms
+      description: >-
+        Retrieves the alarms identified by alarmAckState, baseObjectInstance
+        and filter.
+      parameters:
+        - name: alarmAckState
+          in: query
+          required: false
+          schema:
+            $ref: '#/components/schemas/AlarmAckState'
+        - name: baseObjectInstance
+          in: query
+          required: false
+          schema:
+            $ref: '#/components/schemas/Dn'
+        - name: filter
+          in: query
+          required: false
+          schema:
+            $ref: '#/components/schemas/Filter'
+      responses:
+        '200':
+          description: >-
+            Success case ("200 OK").
+            Returns the alarms identified in the request. The alarmId is the key
+            of the map.
+          content:
+            application/json:
+              schema:
+                type: object
+                additionalProperties:
+                  type: object
+                  allOf:
+                      - type: object
+                        properties:
+                          lastNotificationHeader:
+                            $ref: '#/components/schemas/NotificationHeader'
+                      - $ref: '#/components/schemas/AlarmRecord'
+                      - type: object
+                        properties:
+                          comments:
+                            $ref: '#/components/schemas/Comments'
+        default:
+          description: Response in case of error.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorResponse'
+    patch:
+      summary: 'Clear, acknowledge or unacknowledge multiple alarms'
+      description: >-
+        Clears, acknowledges or unacknowledges multiple alarms using patch. Depending
+        on which action is to be performed, different merge patch documents need
+        to be used.
+      requestBody:
+        description: >-
+          Patch documents for acknowledging and unacknowledging, or clearing multiple
+          alarms. The keys in the map are the alarmIds to be patched.
+        content:
+          application/merge-patch+json:
+            schema:
+              oneOf:
+                - type: object
+                  additionalProperties:
+                    $ref: '#/components/schemas/MergePatchAcknowledgeAlarm'
+                - type: object
+                  additionalProperties:
+                    $ref: '#/components/schemas/MergePatchClearAlarm'
+      responses:
+        '204':
+          description: >-
+            Success case ("204 No content").
+            The response message body is empty.
+        default:
+          description: Response in case of error.
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/FailedAlarm'
+  /alarms/alarmCount:
+    get:
+      summary: Get the alarm count per perceived severity
+      parameters:
+        - name: alarmAckState
+          in: query
+          required: false
+          schema:
+            $ref: '#/components/schemas/AlarmAckState'
+        - name: filter
+          in: query
+          required: false
+          schema:
+            type: string
+      responses:
+        '200':
+          description: >-
+            Success case ("200 OK").
+            The alarm count per perceived severity is returned.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/AlarmCount'
+        default:
+          description: Response in case of error. The error case needs rework.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorResponse'
+  /alarms/{alarmId}:
+    patch:
+      summary: 'Clear, acknowledge or unacknowledge a single alarm'
+      description: >-
+        Clears, acknowledges or uncknowldeges a single alarm by patching the alarm
+        information. A conditional acknowledge request based on the perceived
+        severity is not supported.
+      parameters:
+        - name: alarmId
+          in: path
+          description: Identifies the alarm to be patched.
+          required: true
+          schema:
+            type: string
+      requestBody:
+        required: true
+        content:
+          application/merge-patch+json:
+            schema:
+              oneOf:
+                - $ref: '#/components/schemas/MergePatchAcknowledgeAlarm'
+                - $ref: '#/components/schemas/MergePatchClearAlarm'
+      responses:
+        '204':
+          description: >-
+            Success case (204 No content).
+            The response message body is absent.
+        default:
+          description: Response in case of error.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorResponse'
+  /alarms/{alarmId}/comments:
+    post:
+      summary: Add a comment to a single alarm
+      description: >-
+        Adds a comment to an alarm identified by alarmId. The id of the new comment
+        is allocated by the producer.
+      parameters:
+        - name: alarmId
+          in: path
+          description: Identifies the alarm to which the comment shall be added.
+          required: true
+          schema:
+            type: string
+      requestBody:
+        required: true
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/Comment'
+      responses:
+        '201':
+          description: >-
+            Success case (201 Created).
+            The representation of the newly created comment resource shall be returned.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Comment'
+          headers:
+            Location:
+              description: URI of the newly created comment resource.
+              required: true
+              schema:
+                type: string
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorResponse'
+
+  /subscriptions:
+    post:
+      summary: Create a subscription
+      description: >-
+        To create a subscription the representation of the subscription is
+        POSTed on the /subscriptions collection resource.
+      requestBody:
+        required: true
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/Subscription'
+      responses:
+        '201':
+          description: >-
+            Success case ("201 Created").
+            The representation of the newly created subscription resource shall
+            be returned.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Subscription'
+          headers:
+            Location:
+              description: URI of the newly created subscription resource
+              required: true
+              schema:
+                type: string
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorResponse'
+      callbacks:
+        notifyNewAlarm:
+          '{request.body#/consumerReference}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      oneOf:
+                        - $ref: '#/components/schemas/NotifyNewAlarm'
+                        - $ref: '#/components/schemas/NotifyNewSecAlarm'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response message
+                    body is absent.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/ErrorResponse'
+        notifyClearedAlarm:
+          '{request.body#/consumerReference}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/NotifyClearedAlarm'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response message
+                    body is absent.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/ErrorResponse'
+        notifyChangedAlarm:
+          '{request.body#/consumerReference}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/NotifyChangedAlarm'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response message
+                    body is absent.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/ErrorResponse'
+        notifyChangedAlarmGeneral:
+          '{request.body#/consumerReference}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      oneOf:
+                        - $ref: '#/components/schemas/NotifyChangedAlarmGeneral'
+                        - $ref: '#/components/schemas/NotifyChangedSecAlarmGeneral'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response message
+                    body is absent.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/ErrorResponse'
+        notifyCorrelatedNotificationChanged:
+          '{request.body#/consumerReference}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/NotifyCorrelatedNotificationChanged'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response message
+                    body is absent.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/ErrorResponse'
+        notifyAckStateChanged:
+          '{request.body#/consumerReference}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/NotifyAckStateChanged'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response message
+                    body is absent.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/ErrorResponse'
+        notifyComments:
+          '{request.body#/consumerReference}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/NotifyComments'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response message
+                    body is absent.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/ErrorResponse'
+        notifyPotentialFaultyAlarmList:
+          '{request.body#/consumerReference}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/NotifyPotentialFaultyAlarmList'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response message
+                    body is absent.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/ErrorResponse'
+        notifyAlarmListRebuilt:
+          '{request.body#/consumerReference}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/NotifyAlarmListRebuilt'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response message
+                    body is absent.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/ErrorResponse'
+  /subscriptions/{subscriptionId}:
+    delete:
+      summary: Delete a subscription
+      description: >-
+        The subscription is deleted by deleting the corresponding subscription
+        resource. The resource to be deleted is identified with the path
+        component of the URI.
+      parameters:
+        - name: subscriptionId
+          in: path
+          description: Identifies the subscription to be deleted.
+          required: true
+          schema:
+            type: string
+      responses:
+        '204':
+          description: >-
+            Success case ("204 No Content").
+            The subscription resource has been deleted. The response message body
+            is absent.
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorResponse'
+
+components:
+  schemas:
+  
+  #---- Definitions to be moved to comDefs.yaml --------------------------------------#
+
+    Long:
+      type: string
+      format: long
+    Float:
+      type: string
+      format: float
+    DateTime:
+      type: string
+      format: date-Time
+
+    Dn:
+      type: string
+    Uri:
+      type: string
+
+    AttributeNameValuePairSet:
+      type: object
+      minProperties: 1
+    AttributeValueChangeSet:
+      description: >-
+        The key in this map is the attribute name. The value of each key is an array.
+        When only one item is present in the array, it carries the new attribute
+        value. If two items are present, then the first item carries the old value
+        and the second item the new value. The items can be of any type including null.
+      type: object
+      additionalProperties:
+        type: array
+        minItems: 1
+        maxItems: 2
+        items:
+          nullable: true
+
+    Filter:
+      type: string
+    SystemDN:
+      type: string
+
+    NotificationId:
+      type: integer
+    NotificationHeader:
+      description: >-
+        Header used for all notification types
+      type: object
+      required:
+        - href
+        - notificationId
+        - notificationType
+        - eventTime
+        - systemDN
+      properties:
+        uri:
+          $ref: '#/components/schemas/Uri'
+        notificationId:
+          $ref: '#/components/schemas/NotificationId'
+        notificationType:
+          oneOf:
+            - $ref: '#/components/schemas/AlarmNotificationTypes'
+            #- $ref: 'faultMnS.yaml#/components/schemas/AlarmNotificationTypes'
+            #- $ref: 'provMnS.yaml#/components/schemas/CmNotificationTypes'
+            # more to be added
+        eventTime:
+          $ref: '#/components/schemas/DateTime'
+        systemDN:
+          $ref: '#/components/schemas/SystemDN'
+
+    ErrorResponse:
+      description: >-
+        Default schema for the response message body in case the request is not
+        successful.
+      type: object
+      properties:
+        error:
+          type: object
+          properties:
+            errorInfo:
+              type: string
+
+  #---- End of definitions to be moved to comDefs.yaml -------------------------------#
+
+  #---- Definition of AlarmRecord ----------------------------------------------------#
+    AlarmId:
+      type: string
+    AlarmType:
+      type: string
+      enum:
+        - COMMUNICATIONS_ALARM
+        - QUALITY_OF_SERVICE_ALARM
+        - PROCESSING_ERROR_ALARM
+        - EQUIPMENT_ALARM
+        - ENVIRONMENTAL_ALARM
+        - INTEGRITY_VIOLATION
+        - OPERATIONAL_VIOLATION
+        - PHYSICAL_VIOLATION
+        - SECURITY_SERVICE_OR_MECHANISM_VIOLATION
+        - TIME_DOMAIN_VIOLATION
+    ProbableCause:
+      description: >-
+        The value of the probable cause may be a specific standardized string, or any
+        vendor provided string. Probable cause strings are not standardized in the
+        present document. They may be added in a future version. Up to then the
+        mapping of the generic probable cause strings "PROBABLE_CAUSE_001" to
+        "PROBABLE_CAUSE_005" is vendor specific.
+        The value of the probable cause may also be an integer. The mapping of integer
+        values to probable causes is vendor specific.
+      oneOf:
+        - anyOf:
+            - type: string
+              enum:
+                - PROBABLE_CAUSE_001
+                - PROBABLE_CAUSE_002
+                - PROBABLE_CAUSE_003
+                - PROBABLE_CAUSE_004
+                - PROBABLE_CAUSE_005
+            - type: string
+        - type: integer
+    SpecificProblem:
+      oneOf:
+        - type: string
+        - type: integer
+    PerceivedSeverity:
+      type: string
+      enum:
+        - INDETERMINATE
+        - CRITICAL
+        - MAJOR
+        - MINOR
+        - WARNING
+        - CLEARED
+    TrendIndication:
+      type: string
+      enum:
+        - MORE_SEVERE
+        - NO_CHANGE
+        - LESS_SEVERE
+    ThresholdHysteresis:
+      type: object
+      required:
+        - high
+      properties:
+        high:
+          oneOf:
+            - type: integer
+            - $ref: '#/components/schemas/Float'
+        low:
+          $ref: '#/components/schemas/Float'
+    ThresholdLevelInd:
+      type: object
+      required:
+        - up
+      properties:
+        up:
+          $ref: '#/components/schemas/ThresholdHysteresis'
+        low:
+          $ref: '#/components/schemas/ThresholdHysteresis'
+    ThresholdInfo:
+      type: object
+      required:
+        - observedMeasurement
+        - observedValue
+      properties:
+        observedMeasurement:
+          type: string
+        observedValue:
+          oneOf:
+            - type: integer
+            - $ref: '#/components/schemas/Float'
+        thresholdLevelInd:
+          $ref: '#/components/schemas/ThresholdLevelInd'
+        armTime:
+          $ref: '#/components/schemas/DateTime'
+    CorrelatedNotification:
+      type: object
+      required:
+        - source
+        - notificationId
+      properties:
+        sourceObjectInstance:
+          $ref: '#/components/schemas/Dn'
+        notificationIds:
+          type: array
+          items:
+            $ref: '#/components/schemas/NotificationId'
+    CorrelatedNotifications:
+      type: array
+      items:
+        $ref: '#/components/schemas/CorrelatedNotification'
+    AckState:
+      type: string
+      enum:
+        - ACKNOWLEDGED
+        - UNACKNOWLEDGED
+
+    AlarmRecord:
+      description: >-
+        The alarmId is not a property of an alarm record. It is used as key
+        in the map of alarm records instead.
+      type: object
+      properties:
+        # alarmId:
+        #  $ref: '#/components/schemas/AlarmId'
+        objectInstance:
+          $ref: '#/components/schemas/Dn'
+        notificationId:
+          $ref: '#/components/schemas/NotificationId'
+        alarmRaisedTime:
+          $ref: '#/components/schemas/DateTime'
+        alarmChangedTime:
+          $ref: '#/components/schemas/DateTime'
+        alarmClearedTime:
+          $ref: '#/components/schemas/DateTime'
+        alarmType:
+          $ref: '#/components/schemas/AlarmType'
+        probableCause:
+          $ref: '#/components/schemas/ProbableCause'
+        specificProblem:
+          $ref: '#/components/schemas/SpecificProblem'
+        perceivedSeverity:
+          $ref: '#/components/schemas/PerceivedSeverity'
+        backedUpStatus:
+          type: boolean
+        backUpObject:
+          $ref: '#/components/schemas/Dn'
+        trendIndication:
+          $ref: '#/components/schemas/TrendIndication'
+        thresholdinfo:
+          $ref: '#/components/schemas/ThresholdInfo'
+        correlatedNotifications:
+          $ref: '#/components/schemas/CorrelatedNotifications'
+        stateChangeDefinition:
+          $ref: '#/components/schemas/AttributeValueChangeSet'
+        monitoredAttributes:
+          $ref: '#/components/schemas/AttributeNameValuePairSet'
+        proposedRepairActions:
+          type: string
+        additionalText:
+          type: string
+        additionalInformation:
+          $ref: '#/components/schemas/AttributeNameValuePairSet'
+
+        rootCauseIndicator:
+          type: boolean
+
+        ackTime:
+          $ref: '#/components/schemas/DateTime'
+        ackUserId:
+          type: string
+        ackSystemId:
+          type: string
+        ackState:
+          $ref: '#/components/schemas/AckState'
+
+        clearUserId:
+          type: string
+        clearSystemId:
+          type: string
+        serviceUser:
+          type: string
+        serviceProvider:
+          type: string
+        securityAlarmDetector:
+          type: string
+
+  #---- Definition of alarm notifications --------------------------------------------#
+  
+    AlarmNotificationTypes:
+      type: string
+      enum:
+        - notifyNewAlarm
+        - notifyChangedAlarm
+        - notifyChangedAlarmGeneral
+        - notifyAckStateChanged
+        - notifyCorrelatedNotificationChanged
+        - notifyComments
+        - notifyClearedAlarm
+        - notifyAlarmListRebuiltAlarm
+        - notifyPotentialFaultyAlarmList
+    AlarmListAlignmentRequirement:
+      type: string
+      enum:
+        - ALIGNMENT_REQUIRED
+        - ALIGNMENT_NOT_REQUIRED
+
+    NotifyNewAlarm:
+      allOf:
+        - $ref: '#/components/schemas/NotificationHeader'
+        - type: object
+          required:
+            - alarmId
+            - alarmType
+            - probableCause
+            - perceivedSeverity
+          properties:
+            alarmId:
+              $ref: '#/components/schemas/AlarmId'
+            alarmType:
+              $ref: '#/components/schemas/AlarmType'
+            probableCause:
+              $ref: '#/components/schemas/ProbableCause'
+            specificProblem:
+              $ref: '#/components/schemas/SpecificProblem'
+            perceivedSeverity:
+              $ref: '#/components/schemas/PerceivedSeverity'
+            backedUpStatus:
+              type: boolean
+            backUpObject:
+              $ref: '#/components/schemas/Dn'
+            trendIndication:
+              $ref: '#/components/schemas/TrendIndication'
+            thresholdInfo:
+              $ref: '#/components/schemas/ThresholdInfo'
+            correlatedNotifications:
+              $ref: '#/components/schemas/CorrelatedNotifications'
+            stateChangeDefinition:
+              $ref: '#/components/schemas/AttributeValueChangeSet'
+            monitoredAttributes:
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
+            proposedRepairActions:
+              type: string
+            additionalText:
+              type: string
+            additionalInformation:
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
+            rootCauseIndicator:
+              type: boolean
+    NotifyNewSecAlarm:
+      allOf:
+        - $ref: '#/components/schemas/NotificationHeader'
+        - type: object
+          required:
+            - alarmId
+            - alarmType
+            - probableCause
+            - perceivedSeverity
+            - serviceUser
+            - serviceProvider
+            - securityAlarmDetector 
+          properties:
+            alarmId:
+              $ref: '#/components/schemas/AlarmId'
+            alarmType:
+              $ref: '#/components/schemas/AlarmType'
+            probableCause:
+              $ref: '#/components/schemas/ProbableCause'
+            perceivedSeverity:
+              $ref: '#/components/schemas/PerceivedSeverity'
+            correlatedNotifications:
+              $ref: '#/components/schemas/CorrelatedNotifications'
+            additionalText:
+              type: string
+            additionalInformation:
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
+            rootCauseIndicator:
+              type: boolean
+            serviceUser:
+              type: string
+            serviceProvider:
+              type: string
+            securityAlarmDetector:
+              type: string
+    NotifyClearedAlarm:
+      allOf:
+        - $ref: '#/components/schemas/NotificationHeader'
+        - type: object
+          required:
+            - alarmId
+            - alarmType
+            - probableCause
+            - perceivedSeverity
+          properties:
+            alarmId:
+              $ref: '#/components/schemas/AlarmId'
+            alarmType:
+              $ref: '#/components/schemas/AlarmType'
+            probableCause:
+              $ref: '#/components/schemas/ProbableCause'
+            perceivedSeverity:
+              $ref: '#/components/schemas/PerceivedSeverity'
+            correlatedNotifications:
+              $ref: '#/components/schemas/CorrelatedNotifications'
+            clearUserId:
+              type: string
+            clearSystemId:
+              type: string
+    NotifyChangedAlarm:
+      allOf:
+        - $ref: '#/components/schemas/NotificationHeader'
+        - type: object
+          required:
+            - alarmId
+            - alarmType
+            - probableCause
+            - perceivedSeverity
+          properties:
+            alarmId:
+              $ref: '#/components/schemas/AlarmId'
+            alarmType:
+              $ref: '#/components/schemas/AlarmType'
+            probableCause:
+              $ref: '#/components/schemas/ProbableCause'
+            perceivedSeverity:
+              $ref: '#/components/schemas/PerceivedSeverity'
+    NotifyChangedAlarmGeneral:
+      allOf:
+        - $ref: '#/components/schemas/NotificationHeader'
+        - type: object
+          required:
+            - alarmId
+            - alarmType
+            - probableCause
+            - perceivedSeverity
+            - changedAlarmAttributes
+          properties:
+            alarmId:
+              $ref: '#/components/schemas/AlarmId'
+            alarmType:
+              $ref: '#/components/schemas/AlarmType'
+            probableCause:
+              $ref: '#/components/schemas/ProbableCause'
+            specificProblem:
+              $ref: '#/components/schemas/SpecificProblem'
+            perceivedSeverity:
+              $ref: '#/components/schemas/PerceivedSeverity'
+            correlatedNotifications:
+              $ref: '#/components/schemas/CorrelatedNotifications'
+            backedUpStatus:
+              type: boolean
+            backUpObject:
+              $ref: '#/components/schemas/Dn'
+            trendIndication:
+              $ref: '#/components/schemas/TrendIndication'
+            thresholdInfo:
+              $ref: '#/components/schemas/ThresholdInfo'
+            stateChangeDefinition:
+              $ref: '#/components/schemas/AttributeValueChangeSet'
+            monitoredAttributes:
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
+            proposedRepairActions:
+              type: string
+            additionalText:
+              type: string
+            additionalInformation:
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
+            rootCauseIndicator:
+              type: boolean
+            changedAlarmAttributes:
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
+    NotifyChangedSecAlarmGeneral:
+      allOf:
+        - $ref: '#/components/schemas/NotificationHeader'
+        - type: object
+          required:
+            - alarmId
+            - alarmType
+            - probableCause
+            - perceivedSeverity
+            - serviceUser
+            - serviceProvider
+            - securityAlarmDetector
+            - changedAlarmAttributes
+          properties:
+            alarmId:
+              $ref: '#/components/schemas/AlarmId'
+            alarmType:
+              $ref: '#/components/schemas/AlarmType'
+            probableCause:
+              $ref: '#/components/schemas/ProbableCause'
+            perceivedSeverity:
+              $ref: '#/components/schemas/PerceivedSeverity'
+            correlatedNotifications:
+              $ref: '#/components/schemas/CorrelatedNotifications'
+            additionalText:
+              type: string
+            additionalInformation:
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
+            rootCauseIndicator:
+              type: boolean
+            serviceUser:
+              type: string
+            serviceProvider:
+              type: string
+            securityAlarmDetector:
+              type: string
+            changedAlarmAttributes:
+              $ref: '#/components/schemas/AttributeNameValuePairSet'
+    NotifyCorrelatedNotificationChanged:
+      allOf:
+        - $ref: '#/components/schemas/NotificationHeader'
+        - type: object
+          required:
+            - alarmId
+            - correlatedNotifications
+          properties:
+            alarmId:
+              $ref: '#/components/schemas/AlarmId'
+            correlatedNotifications:
+              $ref: '#/components/schemas/CorrelatedNotifications'
+            rootCauseIndicator:
+              type: boolean
+    NotifyAckStateChanged:
+      allOf:
+        - $ref: '#/components/schemas/NotificationHeader'
+        - type: object
+          required:
+            - alarmId
+            - alarmType
+            - probableCause
+            - perceivedSeverity
+            - ackState
+            - ackUserId
+          properties:
+            alarmId:
+              $ref: '#/components/schemas/AlarmId'
+            alarmType:
+              $ref: '#/components/schemas/AlarmType'
+            probableCause:
+              $ref: '#/components/schemas/ProbableCause'
+            perceivedSeverity:
+              $ref: '#/components/schemas/PerceivedSeverity'
+            ackState:
+              $ref: '#/components/schemas/AckState'
+            ackUserId:
+              type: string
+            ackSystemId:
+              type: string
+    NotifyComments:
+      allOf:
+        - $ref: '#/components/schemas/NotificationHeader'
+        - type: object
+          required:
+            - alarmId
+            - alarmType
+            - probableCause
+            - perceivedSeverity
+            - comments
+          properties:
+            alarmId:
+              $ref: '#/components/schemas/AlarmId'
+            alarmType:
+              $ref: '#/components/schemas/AlarmType'
+            probableCause:
+              $ref: '#/components/schemas/ProbableCause'
+            perceivedSeverity:
+              $ref: '#/components/schemas/PerceivedSeverity'
+            comments:
+              $ref: '#/components/schemas/Comments'
+    NotifyPotentialFaultyAlarmList:
+      allOf:
+        - $ref: '#/components/schemas/NotificationHeader'
+        - type: object
+          required:
+            - reason
+          properties:
+            reason:
+              type: string
+    NotifyAlarmListRebuilt:
+      allOf:
+        - $ref: '#/components/schemas/NotificationHeader'
+        - type: object
+          required:
+            - reason
+          properties:
+            reason:
+              type: string
+            alarmListAlignmentRequirement:
+              $ref: '#/components/schemas/AlarmListAlignmentRequirement'
+
+  #---- Definition of query parameters -----------------------------------------------#
+  
+    AlarmAckState:
+      type: string
+      enum:
+        - ALL_ALARMS
+        - ALL_ACTIVE_ALARMS
+        - ALL_ACTIVE_AND_ACKNOWLEDGED_ALARMS
+        - ALL_ACTIVE_AND_UNACKNOWLEDGED_ALARMS
+        - ALL_CLEARED_AND_UNACKNOWLEDGED_ALARMS
+        - ALL_UNACKNOWLEDGED_ALARMS
+        
+  #---- Definition of patch documents ------------------------------------------------#
+
+    MergePatchAcknowledgeAlarm:
+      description: >-
+        Patch document acknowledging or unacknowledging a single alarm. For
+        acknowleding an alarm the value of ackState is ACKNOWLEDGED, for unacknowleding
+        an alarm the value of ackState is UNACKNOWLEDGED.
+      type: object
+      required:
+        - ackUserId
+        - ackState
+      properties:
+        ackUserId:
+          type: string
+        ackSystemId:
+          type: string
+        ackState:
+          $ref: '#/components/schemas/AckState'
+    MergePatchClearAlarm:
+      description: Patch document for clearing a single alarm
+      type: object
+      required:
+        - clearUserId
+        - perceivedSeverity
+      properties:
+        clearUserId:
+          type: string
+        clearSystemId:
+          type: string
+        perceivedSeverity:
+          type: string
+          enum:
+            - CLEARED
+
+  #---- Definition of method responses -----------------------------------------------#
+
+    FailedAlarm:
+      type: object
+      required:
+        - alarmId
+        - failureReason
+      properties:
+        alarmId:
+          $ref: '#/components/schemas/AlarmId'
+        failureReason:
+          type: string
+
+  #---- Definition of resources ------------------------------------------------------#
+
+    AlarmCount:
+      type: object
+      required:
+        - criticalCount
+        - majorCount
+        - minorCount
+        - warningCount
+        - indeterminateCount
+        - clearedCount
+      properties:
+        criticalCount:
+          type: integer
+        majorCount:
+          type: integer
+        minorCount:
+          type: integer
+        warningCount:
+          type: integer
+        indeterminateCount:
+          type: integer
+        clearedCount:
+          type: integer
+    Comment:
+      type: object
+      properties:
+        commentTime:
+          $ref: '#/components/schemas/DateTime'
+        commentUserId:
+          type: string
+        commentSystemId:
+          type: string
+        commentText:
+          type: string
+    Comments:
+      description: >-
+        Collection of comments. The comment identifiers are allocated by the
+        MnS producer and used as key in the map.
+      type: object
+      additionalProperties:
+        $ref: '#/components/schemas/Comment'
+    Subscription:
+      type: object
+      properties:
+        consumerReference:
+          $ref: '#/components/schemas/Uri'
+        timeTick:
+          $ref: '#/components/schemas/Long'
+        filter:
+          $ref: '#/components/schemas/Filter'
diff --git a/kubernetes/dcaegen2/resources/external/schema/rel16/heartbeatNtf.yaml b/kubernetes/dcaegen2/resources/external/schema/rel16/heartbeatNtf.yaml
new file mode 100644 (file)
index 0000000..afde506
--- /dev/null
@@ -0,0 +1,23 @@
+openapi: 3.0.1
+info:
+  title: Heartbeat notification
+  version: 16.3.0
+  description: >-
+    OAS 3.0.1 specification of the heartbeat notification
+    Â© 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
+    All rights reserved.
+externalDocs:
+  description: 3GPP TS 28.532 V16.3.0; Heartbeat notification
+  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.6532/
+paths: {}
+components:
+  schemas:
+    hearbeatNtfPeriod-Type:
+      type: integer
+    notifyHeartbeat-NotifType:
+      allOf:
+        - $ref: 'provMnS.yaml#/components/schemas/header-Type'
+        - type: object
+          properties:
+            heartbeatNtfPeriod:
+              $ref: '#/components/schemas/hearbeatNtfPeriod-Type'
diff --git a/kubernetes/dcaegen2/resources/external/schema/rel16/provMnS.yaml b/kubernetes/dcaegen2/resources/external/schema/rel16/provMnS.yaml
new file mode 100644 (file)
index 0000000..b2f84a4
--- /dev/null
@@ -0,0 +1,579 @@
+openapi: 3.0.1
+info:
+  title: Provisioning MnS
+  version: 16.4.0
+  description: >-
+    OAS 3.0.1 definition of the Provisioning MnS
+    Â© 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
+    All rights reserved.
+externalDocs:
+  description: 3GPP TS 28.532 V16.4.0; Generic management services
+  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
+servers:
+  - url: 'http://{URI-DN-prefix}/{root}/ProvMnS/v1640/{LDN-first-part}'
+    variables:
+      URI-DN-prefix:
+        description: See subclause 4.4 of TS 32.158
+        default: example.com
+      root:
+        description: See subclause 4.4 of TS 32.158
+        default: 3GPPManagement
+      LDN-first-part:
+        description: See subclause 4.4 of TS 32.158
+        default: ''
+paths:
+  '/{className}={id}':
+    parameters:
+      - name: className
+        in: path
+        required: true
+        schema:
+          $ref: '#/components/schemas/className-PathType'
+      - name: id
+        in: path
+        required: true
+        schema:
+          $ref: '#/components/schemas/id-PathType'
+    put:
+      summary: Replaces a complete single resource or creates it if it does not exist
+      description: >-
+        With HTTP PUT a complete resource is replaced or created if it does not
+        exist. The target resource is identified by the target URI.
+      requestBody:
+        required: true
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/resourcePut-RequestType'
+      responses:
+        '200':
+          description: >-
+            Success case ("200 OK").
+            This status code shall be returned when the resource is replaced, and
+            when the replaced resource representation is not identical to the resource
+            representation in the request.
+            This status code may be retourned when the resource is updated and when the
+            updated resource representation is identical to the resource representation
+            in the request.
+            The representation of the updated resource is returned in the response
+            message body.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/resourceUpdate-ResponseType'
+        '201':
+          description: >-
+            Success case ("201 Created").
+            This status code shall be returned when the resource is created.
+            The representation of the created resource is returned in the response
+            message body.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/resourceCreation-ResponseType'
+        '204':
+          description: >-
+            Success case ("204 No Content").
+            This status code may be returned only when the replaced resource
+            representation is identical to the representation in the request.
+            The response has no message body.
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-ResponseType'
+      callbacks:
+        notifyMOICreation:
+          '{request.body#/notificationRecipientAddress}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/notifyMOICreation-NotifType'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response
+                    has no message body.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/error-ResponseType'
+        notifyMOIDeletion:
+          '{request.body#/notificationRecipientAddress}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/notifyMOIDeletion-NotifType'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response
+                    has no message body.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/error-ResponseType'
+        notifyMOIAttributeValueChange:
+          '{request.body#/notificationRecipientAddress}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/notifyMOIAttributeValueChange-NotifType'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response
+                    has no message body.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/error-ResponseType'
+        notifyMOIChanges:
+          '{request.body#/notificationRecipientAddress}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/json:
+                    schema:
+                      $ref: '#/components/schemas/notifyMOIChanges-NotifType'
+              responses:
+                '204':
+                  description: >-
+                    Success case ("204 No Content").
+                    The notification is successfully delivered. The response
+                    has no message body.
+                default:
+                  description: Error case.
+                  content:
+                    application/json:
+                      schema:
+                        $ref: '#/components/schemas/error-ResponseType'
+    get:
+      summary: Reads one or multiple resources
+      description: >-
+        With HTTP GET resources are read. The resources to be retrieved are
+        identified with the target URI. The attributes and fields parameter
+        of the query components allow to select the resource properties to be returned.
+      parameters:
+        - name: scope
+          in: query
+          description: >-
+            This parameter extends the set of targeted resources beyond the base
+            resource identified with the path component of the URI. No scoping
+            mechanism is specified in the present document.
+          required: false
+          schema:
+            $ref: '#/components/schemas/scope-QueryType'
+          style: form
+          explode: true
+        - name: filter
+          in: query
+          description: >-
+            This parameter reduces the targeted set of resources by applying a
+            filter to the scoped set of resource representations. Only resource
+            representations for which the filter construct evaluates to "true"
+            are targeted. No filter language is specified in the present
+            document.
+          required: false
+          schema:
+            $ref: '#/components/schemas/filter-QueryType'
+        - name: attributes
+          in: query
+          description: >-
+            This parameter specifies the attributes of the scoped resources that
+            are returned.
+          required: true
+          schema:
+            $ref: '#/components/schemas/attributes-QueryType'
+          style: form
+          explode: false
+        - name: fields
+          in: query
+          description: >-
+            This parameter specifies the attribute field of the scoped resources
+            that are returned.
+          required: false
+          schema:
+            $ref: '#/components/schemas/fields-QueryType'
+          style: form
+          explode: false
+      responses:
+        '200':
+          description: >-
+            Success case ("200 OK").
+            The resources identified in the request for retrieval are returned
+            in the response message body. In case the attributes or fields query
+            parameters are used, only the selected attributes or sub-attributes are
+            returned. The response message body is constructed according to the
+            hierarchical response construction method (TS 32.158 [15]).
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/resourceRetrieval-ResponseType'
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-ResponseType'
+    patch:
+      summary: Patches one or multiple resources
+      description: >-
+        With HTTP PATCH resources are created, updated or deleted. The resources
+        to be modified are identified with the target URI (base resource) and
+        the patch document included in the request message body.
+      requestBody:
+        description: >-
+          The request body describes changes to be made to the target resources.
+          The following patch media types are available
+            - "application/merge-patch+json" (RFC 7396)
+            - "application/3gpp-merge-patch+json" (TS 32.158)
+            - "application/json-patch+json" (RFC 6902)
+            - "application/3gpp-json-patch+json" (TS 32.158)
+        required: true
+        content:
+          application/merge-patch+json:
+            schema:
+              $ref: '#/components/schemas/jsonMergePatch-RequestType'
+          application/3gpp-merge-patch+json:
+            schema:
+              $ref: '#/components/schemas/3gppJsonMergePatch-RequestType'
+          application/json-patch+json:
+            schema:
+              $ref: '#/components/schemas/jsonPatch-RequestType'
+          application/3gpp-json-patch+json:
+            schema:
+              $ref: '#/components/schemas/3gppJsonPatch-RequestType'
+      responses:
+        '200':
+          description: >-
+            Success case ("200 OK").
+            This status code is returned when the updated the resource representations
+            shall be returned for some reason.
+            The resource representations are returned in the response message body. The
+            response message body is constructed according to the hierarchical response
+            construction method (TS 32.158 [15])
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/resourceUpdate-ResponseType'
+        '204':
+          description: >-
+            Success case ("204 No Content").
+            This status code is returned when there is no need to return the updated
+            resource representations.
+            The response message body is empty.
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-ResponseType'
+    delete:
+      summary: Deletes one or multiple resources
+      description: >-
+        With HTTP DELETE resources are deleted. The resources to be deleted are
+        identified with the target URI.
+      parameters:
+        - name: scope
+          in: query
+          description: >-
+            This parameter extends the set of targeted resources beyond the base
+            resource identified with the path component of the URI. No scoping
+            mechanism is specified in the present document.
+          required: false
+          schema:
+            $ref: '#/components/schemas/scope-QueryType'
+        - name: filter
+          in: query
+          description: >-
+            This parameter reduces the targeted set of resources by applying a
+            filter to the scoped set of resource representations. Only resources
+            representations for which the filter construct evaluates to "true"
+            are returned. No filter language is specified in the present
+            document.
+          required: false
+          schema:
+            $ref: '#/components/schemas/filter-QueryType'
+      responses:
+        '200':
+          description: >-
+            Success case ("200 OK").
+            This status code shall be returned, when query parameters are present in
+            the request and one or multiple resources are deleted.
+            The URIs of the deleted resources are returned in the response message body.
+        '204':
+          description: >-
+            Success case ("204 No Content").
+            This status code shall be returned, when no query parameters are present in
+            the request and only one resource is deleted.
+            The message body is empty.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/resourceDeletion-ResponseType'
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error-ResponseType'
+components:
+  schemas:
+    dateTime-Type:
+      type: string
+      format: date-time
+    long-Type:
+      type: integer
+      format: int64
+    uri-Type:
+      type: string
+    correlatedNotification-Type:
+      type: object
+      properties:
+        source:
+          $ref: '#/components/schemas/uri-Type'
+        notificationIds:
+          type: array
+          items:
+            $ref: '#/components/schemas/notificationId-Type'
+    notificationId-Type:
+      $ref: '#/components/schemas/long-Type'
+    notificationType-Type:
+      type: string
+      enum:
+        - notifyMOICreation
+        - notifyMOIDeletion
+        - notifyMOIAttributeValueChange
+    systemDN-Type:
+      type: string
+    additionalText-Type:
+      type: string
+    sourceIndicator-Type:
+      type: string
+      enum:
+        - resourceOperation
+        - mangementOperation
+        - sONOperation
+        - unknown
+    header-Type:
+      type: object
+      properties:
+        href:
+          $ref: '#/components/schemas/uri-Type'
+        notificationId:
+          $ref: '#/components/schemas/notificationId-Type'
+        notificationType:
+          $ref: '#/components/schemas/notificationType-Type'
+        eventTime:
+          $ref: '#/components/schemas/dateTime-Type'
+        systemDN:
+          $ref: '#/components/schemas/systemDN-Type'
+      required:
+        - href
+        - notificationId
+        - notificationType
+        - eventTime
+        - systemDN
+    scopeType-Type:
+      type: string
+      enum:
+        - BASE_ONLY
+        - BASE_NTH_LEVEL
+        - BASE_SUBTREE
+        - BASE_ALL
+    scopeLevel-Type:
+      type: integer
+    className-PathType:
+      type: string
+    id-PathType:
+      type: string
+    attributes-QueryType:
+      type: array
+      items:
+        type: string
+    fields-QueryType:
+      type: array
+      items:
+        type: string
+    filter-QueryType:
+      type: string
+    scope-QueryType:
+      type: object
+      properties:
+        scopeType:
+          $ref: '#/components/schemas/scopeType-Type'
+        scopeLevel:
+          $ref: '#/components/schemas/scopeLevel-Type'
+
+    resourcePut-RequestType:
+      $ref: '#/components/schemas/resourceRepresentation-Type'
+    jsonMergePatch-RequestType:
+      $ref: '#/components/schemas/resourceRepresentation-Type'
+    3gppJsonMergePatch-RequestType:
+      $ref: '#/components/schemas/resourceRepresentation-Type'
+    jsonPatch-RequestType:
+      type: array
+      items:
+        type: object
+    3gppJsonPatch-RequestType:
+      type: array
+      items:
+        type: object
+
+    error-ResponseType:
+      type: object
+      properties:
+        error:
+          type: object
+          properties:
+            errorInfo:
+              type: string
+    resourceRetrieval-ResponseType:
+      $ref: '#/components/schemas/resourceRepresentation-Type'
+    resourceCreation-ResponseType:
+      $ref: '#/components/schemas/resourceRepresentation-Type'
+    resourceUpdate-ResponseType:
+      $ref: '#/components/schemas/resourceRepresentation-Type'
+    resourceDeletion-ResponseType:
+      type: array
+      items:
+        $ref: '#/components/schemas/uri-Type'
+
+    resourceRepresentation-Type:
+      oneOf:
+        - type: object
+          properties:
+            id:
+              type: string
+            attributes:
+              type: object
+          additionalProperties:
+            type: array
+            items:
+              type: object
+        - anyOf:
+            - $ref: 'genericNrm.yaml#/components/schemas/resources-genericNrm'
+            - $ref: 'nrNrm.yaml#/components/schemas/resources-nrNrm'
+            - $ref: '5gcNrm.yaml#/components/schemas/resources-5gcNrm'
+            - $ref: 'sliceNrm.yaml#/components/schemas/resources-sliceNrm'
+
+    mOIChange-Type:
+      type: object
+      properties:
+        notificationId:
+          $ref: '#/components/schemas/notificationId-Type'
+        correlatedNotifications:
+          type: array
+          items:
+            $ref: '#/components/schemas/correlatedNotification-Type'
+        additionalText:
+          $ref: '#/components/schemas/additionalText-Type'
+        sourceIndicator:
+          $ref: '#/components/schemas/sourceIndicator-Type'
+        path:
+          $ref: '#/components/schemas/uri-Type'
+        operation:
+          type: string
+          enum:
+            - CREATE
+            - DELETE
+            - REPLACE
+        value:
+          oneOf:
+            - type: object
+              additionalProperties:
+                nullable: true
+            - type: array
+              items:
+                type: object
+              minItems: 1
+              maxItems: 2
+
+    notifyMOICreation-NotifType:
+      allOf:
+        - $ref: '#/components/schemas/header-Type'
+        - type: object
+          properties:
+            correlatedNotifications:
+              type: array
+              items:
+                $ref: '#/components/schemas/correlatedNotification-Type'
+            additionalText:
+              $ref: '#/components/schemas/additionalText-Type'
+            sourceIndicator:
+              $ref: '#/components/schemas/sourceIndicator-Type'
+            attributeList:
+              type: object
+              additionalProperties:
+                nullable: true
+    notifyMOIDeletion-NotifType:
+      allOf:
+        - $ref: '#/components/schemas/header-Type'
+        - type: object
+          properties:
+            correlatedNotifications:
+              type: array
+              items:
+                $ref: '#/components/schemas/correlatedNotification-Type'
+            additionalText:
+              $ref: '#/components/schemas/additionalText-Type'
+            sourceIndicator:
+              $ref: '#/components/schemas/sourceIndicator-Type'
+            attributeList:
+              type: object
+              additionalProperties: true
+    notifyMOIAttributeValueChange-NotifType:
+      allOf:
+        - $ref: '#/components/schemas/header-Type'
+        - type: object
+          properties:
+            correlatedNotifications:
+              type: array
+              items:
+                $ref: '#/components/schemas/correlatedNotification-Type'
+            additionalText:
+              $ref: '#/components/schemas/additionalText-Type'
+            sourceIndicator:
+              $ref: '#/components/schemas/sourceIndicator-Type'
+            attributeValueChange:
+              type: object
+              additionalProperties:
+                type: array
+                minItems: 1
+                maxItems: 2
+                items:
+                  nullable: true
+          required:
+            - attributeValueChange
+    notifyMOIChanges-NotifType:
+      allOf:
+        - $ref: '#/components/schemas/header-Type'
+        - type: object
+          properties:
+            mOIChanges:
+              type: array
+              items:
+                $ref: '#/components/schemas/mOIChange-Type'
+          required:
+            - mOIChanges
index 4a1877f..d595fee 100644 (file)
@@ -23,4 +23,20 @@ metadata:
   name: {{ include "common.release" . }}-dcae-expected-components
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: dcae-external-repo-configmap-schema-map
+  namespace: {{ include "common.namespace" . }}
+data:
+  {{ (.Files.Glob "resources/external/map/*").AsConfig | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: dcae-external-repo-configmap-sa88-rel16
+  namespace: {{ include "common.namespace" . }}
+data:
+  {{ (.Files.Glob "resources/external/schema/rel16/*").AsConfig | indent 2 }}
index 40338b9..3bcb404 100755 (executable)
@@ -266,7 +266,11 @@ deploy() {
   done
 
   # report on success/failures of installs/upgrades
-  helm ls | grep FAILED | grep $RELEASE
+  if [[ $HELM_VER == "v3."* ]]; then
+    helm ls --all-namespaces | grep -i FAILED | grep $RELEASE
+  else
+    helm ls | grep FAILED | grep $RELEASE
+  fi
 }
 HELM_VER=$(helm version --template "{{.Version}}")
 echo $HELM_VER
index bc1f19a..158c0e9 100644 (file)
@@ -66,7 +66,7 @@ subChartsOnly:
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/externalapi/nbi:8.0.0-latest
+image: onap/externalapi/nbi:8.0.0
 pullPolicy: IfNotPresent
 sdc_authorization: Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
 aai_authorization: Basic QUFJOkFBSQ==
index 7441dac..96fa337 100644 (file)
@@ -128,6 +128,13 @@ spec:
         - name: {{ include "common.name" . }}
           image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          {{- if and .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }}
+          {{- $linkCommand := include "common.certManager.linkVolumeMounts" . }}
+          lifecycle:
+            postStart:
+              exec:
+                command: ["sh", "-c", {{$linkCommand | quote}} ]
+          {{- end }}
           command: ["/bin/bash"]
           args: ["-c", "/opt/onap/sdnc/bin/createLinks.sh ; /opt/onap/sdnc/bin/startODL.sh"]
           ports:
@@ -197,7 +204,11 @@ spec:
           {{- if .Values.config.sdnr.sdnrdbTrustAllCerts }}
           - name: SDNRDBTRUSTALLCERTS
             value: "true"
-          {{ end }}
+          {{- end }}
+          {{- if .Values.global.cmpv2Enabled }}
+          - name: ODL_CERT_DIR
+            value: {{ (mustFirst (.Values.certificates)).mountPath }}
+          {{- end }}
 
           volumeMounts:
 {{ include "common.certInitializer.volumeMount" . | indent 10 }}