parameters:

  ##############################################
  #                                            #
  # Parameters used across all ONAP components #
  #                                            #
  ##############################################

  public_net_id: 971040b2-7059-49dc-b220-4fab50cb2ad4

  public_net_name: external

  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

  flavor_xxlarge: m1.xxlarge

  vm_base_name: onap

  key_name: onap_key

  pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh

  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

  openstack_tenant_id: ${OS_PROJECT_ID}

  openstack_tenant_name: ${OS_PROJECT_NAME}

  openstack_username: ${OS_USERNAME}

  openstack_api_key: ${OS_PASSWORD}

  openstack_auth_method: password

  openstack_region: RegionOne

  horizon_url: http://10.12.25.2/horizon

  keystone_url: http://10.12.25.2:5000

  cloud_env: openstack


  ######################
  #                    #
  # Network parameters #
  #                    #
  ######################

  dns_list: ["10.12.25.5", "8.8.8.8"]
  external_dns: 8.8.8.8
  oam_network_cidr: 10.0.0.0/16
  dns_forwarder: 10.12.25.5

  ### Private IP addresses ###

  aai1_ip_addr: 10.0.1.1
  aai2_ip_addr: 10.0.1.2
  appc_ip_addr: 10.0.2.1
  dcae_ip_addr: 10.0.4.1
  dcae_coll_ip_addr: 10.0.4.102
  dcae_db_ip_addr: 10.0.4.101
  dcae_hdp1_ip_addr: 10.0.4.103
  dcae_hdp2_ip_addr: 10.0.4.104
  dcae_hdp3_ip_addr: 10.0.4.105
  dns_ip_addr: 10.0.100.1
  so_ip_addr: 10.0.5.1
  mr_ip_addr: 10.0.11.1
  policy_ip_addr: 10.0.6.1
  portal_ip_addr: 10.0.9.1
  robot_ip_addr: 10.0.10.1
  sdc_ip_addr: 10.0.3.1
  sdnc_ip_addr: 10.0.7.1
  vid_ip_addr: 10.0.8.1
  clamp_ip_addr: 10.0.12.1
  openo_ip_addr: 10.0.14.1

#  dcae_coll_float_ip: PUT DCAE COLLECTOR FLOATING IP HERE
#  dcae_db_float_ip: PUT DCAE DATABASE FLOATING IP HERE
#  dcae_hdp1_float_ip: PUT DCAE HADOOP VM1 FLOATING IP HERE
#  dcae_hdp2_float_ip: PUT DCAE HADOOP VM2 FLOATING IP HERE
#  dcae_hdp3_float_ip: PUT DCAE HADOOP VM3 FLOATING IP HERE

  ###########################
  #                         #
  # Parameters used by DCAE #
  #                         #
  ###########################

#  dcae_base_environment: 1-NIC-FLOATING-IPS

#  dcae_zone: ZONE

#  dcae_state: STATE

#  nexus_repo_root: https://nexus.onap.org

#  nexus_url_snapshot: https://nexus.onap.org/content/repositories/snapshots

#  gitlab_branch: master

#  dcae_code_version: 1.1.0

  dnsaas_config_enabled: true
  dnsaas_region: RegionOne
  dnsaas_keystone_url: http://10.12.25.5:5000/v3
  dnsaas_tenant_name: ${OS_PROJECT_NAME}
  dnsaas_username: ${OS_USERNAME}
  dnsaas_password: ${OS_PASSWORD}
  dcae_domain: dcaeg2.onap.org
  dcae_keystone_url: "http://10.0.14.1/api/multicloud-titanium_cloud/v0/pod25_RegionOne/identity/v2.0"
  dcae_centos_7_image: CentOS-7
  dcae_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh
  dcae_private_key: '-----BEGIN RSA PRIVATE KEY-----\n
MIIEpQIBAAKCAQEAylw4KKN/ljqnFBvP+blG5PNfsnM4MAuGPMsE5rkKmzcZWNaE\n
NGMXTFKlJ4YrUl7OUv8kbgFTmB8BoNpgrNtKACDaz/psQSOeOADCG/YrT4wrYKrR\n
NhFqOjJpxRmxweEsd14qBOxeFT7Ie42qbCMMzo260HvjLmtUxkOXeJ3xDkGmoJVy\n
yzxX7nO1m4WyWyukO6x6mX0XDsADF4A6AapcqinoisJ7pnXaNkcjU/JY2Jrwem7s\n
+ypzIp86O6gdLpLVU9ORR/UYNAk1h+Z6K5Rual4D9mrpC9IJNaYfIgLe7mC39ZLa\n
fiySNoGhei9P6pYvRJlQki69bid/EPAgX5YZIQIDAQABAoIBAQClDekkhI9ZqseC\n
qFjPuKaxsizZMg+faJb6WSHLSxzyk1OSWY6F6FklgLeC8HW/fuLNYZyGOYDEsG20\n
lMqL02Wdiy7OutS3oOS5iyzIf9a90HfFJi706el6RIpvINETcaXCS0T8tQrcS1Rd\n
KqTaBRC6HXJGAPbBcvw3pwQSdskatU6a/Kt2a3x6DsqqinQcgEB/SbrDaJCUX9sb\n
F2HVUwdq7aZK1Lk0ozr1FID9mrhjwWuQ6XC+vjG0FqtyXeMpR5iaQ73hex3FXQ8z\n
OjkFbMwuHWSh1DSx70r5yFrrBqwQKnMsBqx4QDRf3fIENUnWviaL+n+gwcXA07af\n
4kaNUFUtAoGBAPuNNRAGhZnyZ9zguns9PM56nmeMUikV5dPN2DTbQb79cpfV+7pC\n
6PeSH/dTKFLz62d6qAM2EsNXQvewf8fipBVBRPsRqKOv+uepd01dHNy62I5B+zRm\n
be9Kbe+EN60qdzvyPM+2hV6CnvGv1dirimS9pu6RrxD2Rmz1ectnJE+rAoGBAM3w\n
UbSEemyZ6EKjck2RfdipzY0MNBnIZ2cUqHh8mmPXjdTLzpXb9vmPbHb01Qwo8MP+\n
gMnTbTBOzyNAaHdIrCO9FHW6C85j3ot5Yzcr+EcBVcua+7KHU0Sgn44JNH8DisJ7\n
Y63UP/1Xb4d1/QvHfxYy3WOvvRdVZ7pPo8JNX95jAoGAIe5CIg8/JizUZa7KeKUh\n
9pgDleQPkQsrHQ6/AyIwFBsLwf9THSS5V+uV9D57SfUs46Bf2U8J6N90YQSlt8iS\n
aWuManFPVgT+yxDIzt6obf2mCEpOIBtQ6N4ZRh2HhQwdWTCrkzkDdGQaHG+jYL6C\n
xGPwiG2ON7OAfGIAM7eN5lECgYEAhoRLWlaOgRGnHKAWsYQvZ67CjTdDcPPuVu6v\n
fMQnNMA/7JeTwV+E205L0wfpgZ/cZKmBBlQMJlnUA3q2wfO+PTnse1mjDJU/cGtB\n
22/lJLxChlQdxGeQhGtGzUhF+hEeOhrO6WSSx7CtMRZoy6Dr6lwfMFZCdVNcBd6v\n
YOOZk3ECgYEAseUKGb6E80XTVVNziyuiVbQCsI0ZJuRfqMZ2IIDQJU9u6AnGAway\n
itqHbkGsmDT+4HUz01+1JKnnw42RdSrHdU/LaOonD+RIGqe2x800QXzqASKLdCXr\n
y7RoiFqJtkdFQykzJemA+xOXvHLgKi/MXFsU90PCD0VJKLj8vwpX78Y=\n
-----END RSA PRIVATE KEY-----'

  ################################
  #                              #
  # Docker versions and branches #
  #                              #
  ################################

  aai_branch: master
  appc_branch: master
  so_branch: master
  mr_branch: master
  dcae_branch: master
  policy_branch: master
  portal_branch: release-1.3.0
  robot_branch: master
  sdc_branch: master
  sdnc_branch: master
  vid_branch: master
  clamp_branch: master
  vnfsdk_branch: master

  aai_docker: 1.1-STAGING-latest
  appc_docker: 1.1-STAGING-latest
  so_docker: 1.1-STAGING-latest
  mr_docker: 1.1-STAGING-latest
  dcae_docker: 1.1-latest
  policy_docker: 1.1-STAGING-latest
  portal_docker: 1.3-STAGING-latest
  robot_docker: 1.1-STAGING-latest
  sdc_docker: 1.1-STAGING-latest
  sdnc_docker: 1.2-STAGING-latest
  vid_docker: 1.1-STAGING-latest
  clamp_docker: 1.1-STAGING-latest
  msb_docker: latest
  mvim_docker: latest
  vfc_docker: latest
  uui_docker: latest
  esr_docker: latest
  dgbuilder_docker: 0.1-STAGING-latest
  cli_docker: v1.1.0

  #####################
  #                   #
  # ONAP repositories #
  #                   #
  #####################
  aai_repo: http://gerrit.onap.org/r/aai/test-config
  appc_repo: http://gerrit.onap.org/r/appc/deployment.git
  dcae_repo: http://gerrit.onap.org/r/dcae/demo/startup/controller.git
  mr_repo: http://gerrit.onap.org/r/dcae/demo/startup/message-router.git 
  so_repo: http://gerrit.onap.org/r/so/docker-config.git
  policy_repo: http://gerrit.onap.org/r/policy/docker.git
  portal_repo: http://gerrit.onap.org/r/portal.git
  robot_repo: http://gerrit.onap.org/r/testsuite/properties.git
  sdc_repo: http://gerrit.onap.org/r/sdc.git
  sdnc_repo: http://gerrit.onap.org/r/sdnc/oam.git
  vid_repo: http://gerrit.onap.org/r/vid.git
  clamp_repo: http://gerrit.onap.org/r/clamp.git
  vnfsdk_repo: http://gerrit.onap.org/r/vnfsdk/refrepo.git
