#################################################################
# This override file configures openstack parameters for ONAP
#################################################################
appc:
  config:
    enableClustering: false
    openStackType: "OpenStackProvider"
    openStackName: "OpenStack"
    # OS_AUTH_URL from the openstack .RC file
    openStackKeyStoneUrl: "http://10.12.25.2:5000/v2.0"
    openStackServiceTenantName: "OPENSTACK_TENANTNAME_HERE"
    # OS_USER_DOMAIN_NAME from the openstack .RC file
    openStackDomain: "Default"
    openStackUserName: "OPENSTACK_USERNAME_HERE"
    openStackEncryptedPassword: "XXXXXXXXXXXXXXXXXXXXXXXX_OPENSTACK_PASSWORD_HERE_XXXXXXXXXXXXXXXX"
robot:
  appcUsername: "appc@appc.onap.org"
  appcPassword: "demo123456!"
  # OS_AUTH_URL without the /v2.0 from the openstack .RC file
  openStackKeyStoneUrl: "http://10.12.25.2:5000"
  # From openstack network list output
  openStackPublicNetId: "971040b2-7059-49dc-b220-4fab50cb2ad4"
  # tenantID=`openstack project show $tenantName | grep -w id | awk '{print $4}'`
  # where "tenantName" is OS_PROJECT_NAME from openstack .RC file
  openStackTenantId: "09d8566ea45e43aa974cf447ed591d77"
  openStackUserName: "OPENSTACK_USERNAME_HERE"
  ubuntu14Image: "ubuntu-14-04-cloud-amd64"
  ubuntu16Image: "ubuntu-16-04-cloud-amd64"
  # From openstack network list output
  openStackPrivateNetId: "c7824f00-bef7-4864-81b9-f6c3afabd313"
  # From openstack network list output
  openStackPrivateSubnetId: "2a0e8888-f93e-4615-8d28-fc3d4d087fc3"
  openStackPrivateNetCidr: "10.0.0.0/16"
  # From openstack security group list output
  openStackSecurityGroup: "3a7a1e7e-6d15-4264-835d-fab1ae81e8b0"
  openStackOamNetworkCidrPrefix: "10.0"
  # Control node IP
  dcaeCollectorIp: "10.12.6.88"
  # SSH public key
  vnfPubKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
  demoArtifactsVersion: "1.4.0-SNAPSHOT"
  demoArtifactsRepoUrl: "https://nexus.onap.org/content/repositories/releases"
  scriptVersion: "1.4.0-SNAPSHOT"
  # rancher node IP where RKE configired
  rancherIpAddress: "10.12.5.127"
  config:
    # openStackEncryptedPasswordHere should match the encrypted string used in SO and APPC and overridden per environment
    openStackEncryptedPasswordHere: "XXXXXXXXXXXXXXXXXXXXXXXX_OPENSTACK_ENCRYPTED_PASSWORD_HERE_XXXXXXXXXXXXXXXX"
so:
  # so server configuration
  so-catalog-db-adapter:
    config:
      openStackUserName: "OPENSTACK_USERNAME_HERE"
      # OS_AUTH_URL from the openstack .RC file
      openStackKeyStoneUrl: "http://10.12.25.2:5000/v2.0"
      openStackEncryptedPasswordHere: "XXXXXXXXXXXXXXXXXXXXXXXX_OPENSTACK_ENCRYPTED_PASSWORD_HERE_XXXXXXXXXXXXXXXX"
