Versions Compared

Key

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

...

Find below the description of the SO VM:

...

languagetext

...

  # MSO instantiation

  mso_private_port:

...

    type:

...

OS::Neutron::Port

...

    properties:

      network: { get_resource:

...

oam_onap

...

}

      fixed_ips:

...

[{"subnet":

...

{

...

get_resource:

...

oam_onap_subnet

...

},

...

"ip_address":

...

{

...

get_param:

...

mso_ip_addr

...

}}]

...


  mso_floating_ip:

...

    type:

...

OS::Neutron::FloatingIP

...

    properties:

      floating_network_id:

...

{

...

get_param:

...

public_net_id

...

}

      port_id:

...

{

...

get_resource:

...

mso_private_port

...

}


  mso_vm:

...

    type:

...

OS::Nova::Server

...

    properties:

      image: { get_param:

...

ubuntu_1604_image

...

}

      flavor:

...

{

...

get_param:

...

flavor_large

...

}

      name:

        str_replace:

          template: base-mso

          params:

            base: { get_param: vm_base_name

...

}      

      key_name:

...

{

...

get_resource:

...

vm_key

...

}

      networks:

        - port: { get_resource:

...

mso_private_port

...

}

      user_data_format:

...

RAW

      user_data:

...

        str_replace:

...

          params:

            __nexus_repo__:

...

{

...

get_param:

...

nexus_repo

...

}

            __nexus_docker_repo__:

...

{

...

get_param:

...

nexus_docker_repo

...

}

            __nexus_username__:

...

{

...

get_param:

...

nexus_username

...

}

            __nexus_password__:

...

{

...

get_param:

...

nexus_password

...

}

            __openstack_username__:

...

{

...

get_param:

...

openstack_username

...

}

            __openstack_tenant_id__:

...

{

...

get_param:

...

openstack_tenant_id

...

}

            __openstack_api_key__:

...

{

...

get_param:

...

openstack_api_key

...

}

            __openstack_region__:

...

{

...

get_param:

...

openstack_region

...

}

            __keystone_url__:

...

{

...

get_param:

...

keystone_url

...

}

            __dmaap_topic__:

...

{

...

get_param:

...

dmaap_topic

...

}

            __artifacts_version__:

...

{

...

get_param:

...

artifacts_version

...

}

            __dns_ip_addr__:

...

{

...

get_param:

...

dns_ip_addr

...

}

            __docker_version__:

...

{

...

get_param:

...

docker_version

...

}

            __gerrit_branch__:

...

{

...

get_param:

...

gerrit_branch

...

}

            __cloud_env__:

...

{

...

get_param:

...

cloud_env

...

}

            __external_dns__:

...

{

...

get_param:

...

external_dns

...

}

            __mso_repo__:

...

{

...

get_param:

...

mso_repo

...

}

          template: |

            #!/bin/bash

...


            # Create configuration files

            mkdir -p /opt/config

            echo "__nexus_repo__"

...

>

...

/opt/config/nexus_repo.txt

...

            echo "__nexus_docker_repo__"

...

>

...

/opt/config/nexus_docker_repo.txt

...

            echo "__nexus_username__"

...

>

...

/opt/config/nexus_username.txt

...

            echo "__nexus_password__"

...

>

...

/opt/config/nexus_password.txt

...

            echo "__artifacts_version__"

...

>

...

/opt/config/artifacts_version.txt

...

            echo "__dns_ip_addr__"

...

>

...

/opt/config/dns_ip_addr.txt

...

            echo "__dmaap_topic__"

...

>

...

/opt/config/dmaap_topic.txt

...

            echo "__openstack_username__"

...

>

...

/opt/config/openstack_username.txt

...

            echo "__openstack_tenant_id__"

...

>

...

/opt/config/tenant_id.txt

...

            echo "__openstack_api_key__"

...

>

...

/opt/config/openstack_api_key.txt

...

            echo "__openstack_region__"

...

>

...

/opt/config/openstack_region.txt

...

            echo "__keystone_url__"

...

>

...

/opt/config/keystone.txt

...

            echo "__docker_version__"

...

>

...

/opt/config/docker_version.txt

...

            echo "__gerrit_branch__"

...

>

...

/opt/config/gerrit_branch.txt

...

            echo "__cloud_env__"

...

>

...

/opt/config/cloud_env.txt

...

            echo "__external_dns__"

...

>

...

/opt/config/external_dns.txt

...

            echo "__mso_repo__"

...

>

...

/opt/config/remote_repo.txt

...


            # Download and run install script

            curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/mso_install.sh

...

-o

...

/opt/mso_install.sh

...

            cd /opt

            chmod +x mso_install.sh

            ./mso_install.sh


The function get_param gets parameter values defined in the Heat environment file, for example:

public_net_id: 03bd2691-2660-4f85-8913-65ef9c9b02df

ubuntu_1404_image: ubuntu-14-04-cloud-amd64

ubuntu_1604_image: ubuntu-16-04-cloud-amd64

flavor_small: m1.small

flavor_medium: m1.medium

flavor_large: m1.large

flavor_xlarge: m1.xlarge

vm_base_name: vm1

key_name: onap_key

nexus_repo: https://nexus.onap.org/content/sites/raw

nexus_docker_repo: nexus3.onap.org:10001

nexus_username: docker

nexus_password: docker

dmaap_topic: AUTO

artifacts_version: 1.1.0-SNAPSHOT

docker_version: 1.1-STAGING-latest

gerrit_branch: master


These parameters mainly refer to the OpenStack environment, docker URL and credentials, Gerrit URL, VM private addresses, etc. We warmly suggest to keep component-specific configuration in Gerrit, such that the repository can be cloned and that configuration is made available to installation scripts.

For each VM, the last instruction in the Heat template is to run <component_name>_install.sh, which install software dependencies such as docker, Java, make, gcc, git, etc. This script also downloads and runs another script, called <component_name>_vm_init.sh, which is in charge of downloading and running docker containers.

What should ONAP teams to onboard a new component? Just provide the VM specs that they want, we will create the VM accordingly. We will also create <component_name>_install.sh