Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page describes how to generate artefacts for the SDC catalog using the Tosca Lab Tool. These artefacts are required for onboarding on-boarding a microservice - see here(see MicroServices Onboarding in ONAP).

The steps below are carried out using the 3GPP PM Mapper's (DCAE microservice) component spec as input.


Code Block
languagebash
# Checkout the tosca lab repo:

...


root@node:~/tosca_lab# git clone https://gerrit.onap.org/r/sdc/dcae-d/tosca-lab

...


Cloning into 'tosca-lab'...

...


remote: Counting objects: 2, done

...


remote: Finding sources: 100% (2/2)

...


remote: Total 292 (delta 0), reused 292 (delta 0)

...


Receiving objects: 100% (292/292), 162.28 KiB | 0 bytes/s, done.

...


Resolving deltas: 100% (104/104), done.

...


Checking connectivity... done.

...


root@node:~/tosca_lab# ls

...


tosca-lab

...



# Change directory to app:

...


root@node:~/tosca_lab# cd tosca-lab/

...


root@node:~/tosca_lab/tosca-lab# ls

...


INFO.yaml  LICENSE.TXT  app  docker  mvn-phase-script.sh  nginx  pom.xml  scripts  simple_compose_stdin.py  tox.ini  version.properties

...


root@node:~/tosca_lab/tosca-lab# cd app/

...


root@node:~/tosca_lab/tosca-lab/app# ls

...


README.

...

md  __init__.py  data  map_sup_enrich_compose.py  model_create.py  policy_create.py  requirements.txt  simple_compose.py  tests  tosca_server.py  toscalib  version.py  web

...



# Create tosca model artifacts from component spec:

...


root@node:~/tosca_lab/tosca-lab/app# python model_create.py -h

...


OPTIONS:

...


         -h|--help: print this help message

...


         -i|--input: The PATH to spec file

...


         -o|--output: the folder for the output model

...

 
         -n|--name: the name of the service

...


         -t|--import: the PATH to import file

...


         -m|--meta: the PATH to meta model file (default: ./data/meta_model/meta_tosca_schema.yaml

...


root@node:~/tosca_lab/tosca-lab/app# python model_create.py -i /home/ubuntu/tosca-lab/app/pmmapper-component-spec.json -o /home/ubuntu/tosca-model/

...


WARNING:root:Interface namecloudify.interfaces.lifecyclehas been definend in parenty type, overwritten

...

Verify created tosca model artifacts :

 here

# Create policy model artifact from component spec:
root@node:~/tosca_lab/tosca-lab/app# python policy_create.py -i /home/ubuntu/tosca-lab/app/pmmapper-component-spec.json -o /home/ubuntu/tosca-model/policy.yaml

# Verify created tosca model artifacts :
root@node:~/tosca-model# cd /home/ubuntu/tosca-model/

...


root@node:~/tosca-model# ls

...


pmmapper-component-spec.json  schema.yaml  template.yaml  translate.yaml

...


Troubleshooting:

if yaal If the Python YAML module is not installed (i.e you get the error message ImportError: No module named yaml  when executing the modelthe model_create.py command ) you will need to install PyYAML

You may first need to install pip  # apt install python-pip

Code Block
languagebash
root@node:~/tosca_lab/tosca-lab/app# pip install PyYAML

...


The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

...


The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

...


Collecting PyYAML

...


  Downloading https://files.pythonhosted.org/packages/9e/a3/1d13970c3f36777c583f136c136f804d70f500168edc1edea6daa7200769/PyYAML-3.13.tar.gz (270kB)

...


    100% |████████████████████████████████| 276kB 13.5MB/s

...

 
Installing collected packages: PyYAML

...


  Running setup.py install for PyYAML ... done

...


Successfully installed PyYAML-3.13

...


You are using pip version 18.1, however version 19.0.1 is available.

...


You should consider upgrading via the 'pip install --upgrade pip' command.

Input and Output Files

schema.yaml   template.yaml  translate.yaml  pmmapper-component-spec.json