# Copyright © 2019 Amdocs, Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

#################################################################
# This override file configures openstack parameters for ONAP
#################################################################
robot:
  openStackKeyStoneUrl: "http://10.12.25.2:5000"
  openStackPublicNetId: "971040b2-7059-49dc-b220-4fab50cb2ad4"
  openStackTenantId: "09d8566ea45e43aa974cf447ed591d77"
  openStackUserName: "OPENSTACK_USERNAME_HERE"
  ubuntu14Image: "ubuntu-14-04-cloud-amd64"
  ubuntu16Image: "ubuntu-16-04-cloud-amd64"
  openStackPrivateNetId: "c7824f00-bef7-4864-81b9-f6c3afabd313"
  openStackPrivateSubnetId: "2a0e8888-f93e-4615-8d28-fc3d4d087fc3"
  openStackPrivateNetCidr: "10.0.0.0/16"
  openStackSecurityGroup: "3a7a1e7e-6d15-4264-835d-fab1ae81e8b0"
  openStackOamNetworkCidrPrefix: "10.0"
  dcaeCollectorIp: "10.12.6.88"
  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"
  rancherIpAddress: "10.12.5.127"
  config:
    # openStackEncryptedPasswordHere should match the encrypted string used in SO and overridden per environment
    openStackEncryptedPasswordHere: "XXXXXXXXXXXXXXXXXXXXXXXX_OPENSTACK_ENCRYPTED_PASSWORD_HERE_XXXXXXXXXXXXXXXX"
so:
  # so server configuration
  so-catalog-db-adapter:
    config:
      openStackUserName: "OPENSTACK_USERNAME_HERE"
      openStackKeyStoneUrl: "http://10.12.25.2:5000/v2.0"
      openStackEncryptedPasswordHere: "XXXXXXXXXXXXXXXXXXXXXXXX_OPENSTACK_ENCRYPTED_PASSWORD_HERE_XXXXXXXXXXXXXXXX"
      # For Support of Keystone v3, uncomment and fill
      # openStackKeystoneVersion: "KEYSTONE_V3"
      # openStackProjectDomainName: "DEFAULT"
      # openStackUserDomainName: "DEFAULT"
nbi:
  config:
    # openstack configuration
    openStackRegion: "Yolo"
    openStackVNFTenantId: "1234"
