Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: updates based on 06/11

...

Note: Use base/default template if corresponding template not found on specified template directory

6. Support MAPPING requirement – ENV SETTING (refer REQ #1 for details)

...

- DONE -  1.0.0

Schema Validation to be integrated - tracked separately under task #24

7. Support MAPPING requirement – CMPv2 Certificates (refer REQ #3 for details)  - Target 06/17 completion

8. Support MAPPING requirement – Postgres (refer REQ #5 for details)

9. Support MAPPING requirement – Policy Sidecar (refer REQ #4  for details)  Target 06/17 completion

10. Support SERVICE MAPPING based on spec file (refer REQ #7 for details)

...

 DONE -  1.0.0

Schema Validation to be integrated - tracked separately under task #24

11. Support MAPPING requirement – ConfigMap support (refer REQ #2 for details)

...

20. Comments should be cascaded from template and when new yaml is generator and also preserve order

21. Secret mapping requirement TBD and pv mappingmapping  - Vijay Kumar

22. Support chart generation as directory (instead of tgz) via configuration (added on  )

23. Support dependency download (helm dep up) from repo/access based on deployment configration (added on  )

REQUIREMENTS

1. ENV SETTING SUPPORT

Component Spec

...

languagejs
themeMidnight

...

24. Add schema validator module; keep the schema definiton overriddable (either through CI or api parameter); this should be configurable  - default enabled.

25. Testing with ONAP spec files on ONAP lab with componen-spec (ves, pm-mapper, dfc, tcagen2, hv-ves) - Sivakumar Santharam Target 06/17 completion

  • Modify spec to align  with new schema
  • Generate charts and deploy and check if component comes up clean
  • Environment for test to be setup/checked (onap5) - Vijay Kumar - Target 06/14/21 completion






REQUIREMENTS

1. ENV SETTING SUPPORT

Component Spec

Code Block
languagejs
themeMidnight
"auxilary": {
.
.
"helm": {
 	"applicationEnv": {
    "PMSH_PG_URL": "dcae-pmsh-pg-primary",
    "PMSH_PG_USERNAME": {
    	"secretUid": "pgUserCredsSecretUid",
    	"key": "login"
    },
    "PMSH_PG_PASSWORD": {
         "secretUid": "pgUserCredsSecretUid",
         "key": "password"
    }
    }
}
.
.
}

...

Component Spec

  "config_map_volume
Code Block
languagepy
themeMidnight
themeMidnight
  "config_map_volume": {
      "type": "object",
      "properties": {
        "config_volume": {
          "type": "object",
          "name": {
            "type": "string"
          }
        },
        "container": {
          "type": "object",
          "bind": {
            "type": "string"
          },
          "mode": {
                 "type": "object"string"
          }
        }
      },
      "propertiesrequired": {
        ["config_volume": {
          "type": "object",
          "name, "container"]
    },


Example:

                     

Code Block
languagepy
themeMidnight
"volumes": [{      
	"config_volume": {                   
		"typename": "string"
          }
        },
        dcae-external-repo-configmap-schema-map"      
		},      
	"container": {                 
		"typebind": "object",
          "bind/opt/app/VESCollector/etc/externalRepo/"      
	}    
}, 
{      
	"config_volume": {                   
		"typename": "string"
          },
          "modedcae-external-repo-configmap-sa88-rel16"      
		},      
	"container": {       
           		 "typebind": "string"
          }
        }
      },
      "required": ["config_volume", "container"]
    },

Example:

...

/opt/app/VESCollector/etc/externalRepo/3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/"      
	}
  }
],

    
https://git.onap.org/dcaegen2/collectors/ves/tree/dpo/spec/vescollector-componentspec.json


Values.yaml specification


"volumes": [{      "config_volume": {        "name": "
Code Block
languagepy
themeMidnight
yml
themeMidnight
externalVolumes:
  - name: dcae-external-repo-configmap-schema-map"     
  		},       	"container"type: {       configmap
    		"bind"mountPath: "/opt/app/VESCollector/etc/externalRepo/"     
 	}    - }, 
{      
	"config_volume": {        
		"name": "name: '{{ include "common.release" . }}-another-example'   //dcae-external-repo-configmap-sa88-rel16"     
  		},       	"container"type: {       
		 "bind"configmap
    mountPath: "/opt/app/VESCollector/etc/externalRepo/3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/"      
	}
  }
],

    
https://git.onap.org/dcaegen2/collectors/ves/tree/dpo/spec/vescollector-componentspec.json

...


    optional: false  //If set to false, the configMap must be present in order for the microservice's pod to start. Defaults to true. 


3. CMVP2 Certificates support

Component Spec

Code Block
languageyml
themeMidnight
externalVolumes:
         "tls_info": {
      - name: dcae-external-repo-configmap-schema-map    "description": "Component information to use tls certificates",
          "type": configmap"object",
          mountPath: /opt/app/VESCollector/etc/externalRepo/"properties": {
        - name: '{{ include "common.release" . }}-another-example'   //dcae-external-repo-configmap-sa88-rel16cert_directory": {
        type: configmap     mountPath: /opt/app/VESCollector/etc/externalRepo/3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI
    optional: false  //If set to false, the configMap must be present in order for the microservice's pod to start. Defaults to true. 

3. CMVP2 Certificates support

Component Spec

Code Block
languageyml
themeMidnight
"description": "The path in the container where the component certificates will be placed by the init container",
              "type": "string"
            },
            "use_tls_info": {
              "description": "ComponentBoolean informationflag to usedetermine if the application is using tls certificates",
              "type": "objectboolean",
           "properties": { },
            "certuse_external_directorytls": {
              "description": "TheBoolean pathflag into thedetermine container whereif the componentapplication certificatesis willusing betls placedcertificates byfor theexternal init containercommunication",
              "type": "stringboolean"
            },
          },
 "use_tls": {               "description"required": "Boolean[
flag to determine if the application is using tls certificates",    "cert_directory","use_tls"
          "type": "boolean"
 ],
           },"additionalProperties": false
        },


Example:

Code Block
languagetext
themeMidnight
    "usetls_external_tlsinfo": {
	"cert_directory":"/opt/app/dcae-certificate/",
	"use_tls":true,
        "use_external_tls": true
  "description": "Boolean flag to determine if the application is using tls certificates for external communication",
              "type": "boolean" }

https://git.onap.org/dcaegen2/collectors/ves/tree/dpo/spec/vescollector-componentspec.json

Values.yaml specification


Code Block
languageyml
themeMidnight
# CMPv2 certificate
certificates:
  - mountPath: /opt/app/dcae-certificate/external
    commonName: dcae-ves-collector  --> from spec
    dnsNames:
      - dcae-ves-collector --> from spec
  }  keystore:
      outputType:
 },       - jks
  "required": [   passwordSecretRef:
         "cert_directory","use_tls"
          ],name: ves-cmpv2-keystore-password  --> TBD
        key: password
 "additionalProperties": false         },

...

create: true

requirement.yaml

Code Block
languagetextyml
themeMidnight
     - name: certManagerCertificate
 "tls_info":{
	"cert_directory":"/opt/app/dcae-certificate/",
	"use_tls":true,
        "use_external_tls": true
     }

https://git.onap.org/dcaegen2/collectors/ves/tree/dpo/spec/vescollector-componentspec.json

Values.yaml specification

Code Block
languageyml
themeMidnight
# CMPv2 certificate
certificates:
  - mountPath: /opt/app/dcae-certificate/external
    commonName: dcae-ves-collector
    dnsNames:
      - dcae-ves-collector
      - ves-collector
      - ves
    keystore:
      outputType:
        - jks       version: ~8.x-0
       repository: '@local'

templates/certificates.yaml

Code Block
languageyml
themeMidnight
{{ if and .Values.certDirectory .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }}
{{ include "certManagerCertificate.certificate" . }}
{{ end }}


4. POLICY SIDECAR SUPPORT

Component Spec

Code Block
languagejava
themeMidnight

    "policy_info": {
      "type": "object",
      "properties": {
        "policy":
        {
          "type": "array",
          passwordSecretRef"items":
        name: ves-cmpv2-keystore-password {
       key: password       "type": "object",
 create: true

requirement.yaml

Code Block
languageyml
themeMidnight
     - name: certManagerCertificate        version: ~8.x-0   "properties":
    repository: '@local'

templates/certificates.yaml

Code Block
languageyml
themeMidnight
{{ if and .Values.certDirectory .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }}
{{ include "certManagerCertificate.certificate" . }}
{{ end }}

4. POLICY SIDECAR SUPPORT

Component Spec

Code Block
languagejava
themeMidnight
    {
              "policynode_infolabel":
{             "type": "object", {
      "properties": {         "policytype": "string"
       {       },
   "type": "array",           "itemspolicy_id":
          {    {
        "type": "object",       "type": "string"
    "properties":             {},
              "nodepolicy_model_labelid":
              {
                "type": "string"
              }
            },
            "required":    ["node_label", "policy_model_id":]
          }
     {   }
      },
      "typeadditionalProperties": "string"false
        }
     },
          }


Example: 

            

Code Block
languagejava
themeMidnight
	"policy_info":{
		"policy":[
			{
			    "node_label":"tca_policy_00",
			    "policy_model_id":
              {
                "type": "string"
              }
            },
            "required": ["node_label", "onap.policies.monitoring.cdap.tca.hi.lo.app"
				"policy_id":"tca_policy_id_10",
			},
			{
				"node_label":"tca_policy_11",
				"policy_id":"tca_policy_id_11",
				"policy_model_id"]
          }
        }
      },
      "additionalProperties": false
    }
  }

Example: 

            TBA

":"onap.policies.monitoring.cdap.tca.hi.lo.app"
			}
		]
	}

Values.yaml specification

...

#dcaePolicySyncImage: onap/org.onap.dcaegen2.deployments.dcae-services-policy-sync:1.0.11  → From base template
policies:
  duration: 300300  → default
  policyID: |
    '["onap.vfirewall.tca","abc"]'
#  filter: |
#    '["DCAE.Config_vfirewall_.*"]'tca_policy_id_11","tca_policy_id_10"]'  → coming from spec file


5. POSTGRES SUPPORT

Component Spec

...