blob: 071561f67daa5a043d852bd967962ab0fff63f93 [file] [log] [blame]
---
# vars/cord-pod.yaml
# Configures an M-CORD pod
# site configuration
site_name: mysite
site_humanname: MySite
deployment_type: MyDeployment
xos_admin_user: xosadmin@opencord.org
xos_admin_pass: "{{ lookup('password', 'credentials/xosadmin@opencord.org chars=ascii_letters,digits') }}"
xos_admin_first: XOS
xos_admin_last: Admin
xos_users: []
use_vtn: True
xos_tosca_config_templates:
- openstack.yaml
- vtn-service.yaml
- fabric-service.yaml
- management-net.yaml
- mcord-services.yaml # should unify this with services.yaml.j2 eventually
# - public-net.yaml
# - volt-devices.yaml
# - vrouter.yaml
xos_other_templates:
- fabric-network-cfg.json
cord_profile_dir: "{{ ansible_user_dir + '/cord_profile' }}"
xos_docker_volumes:
- host: "{{ cord_profile_dir }}/images"
container: /opt/xos/images
# GUI Config [new GUI]
gui_project_name: "M-CORD"
gui_background: "cord-bg.jpg" # TODO find mcord image
# GUI branding [OLD GUI to be removed]
gui_branding_name: "MCORD"
gui_branding_icon: "/static/mcord-logo.png"
gui_branding_favicon: "/static/mcord-favicon.png"
gui_branding_bg: "/static/mcord-bg.jpg"
enabled_gui_extensions: []
#enabled_gui_extensions:
# - name: vtr
# path: orchestration/xos_services/vtr/xos/gui
# - name: rcord
# path: orchestration/profiles/rcord/xos/gui
# paths defined in manifest/default.xml
xos_services:
- name: vtn
path: onos-apps/apps/vtn
keypair: vsg_rsa
synchronizer: true
- name: openstack
path: orchestration/xos_services/openstack
synchronizer: true
- name: onos
path: orchestration/xos_services/onos-service
keypair: onos_rsa
synchronizer: true
- name: fabric
path: orchestration/xos_services/fabric
synchronizer: true
# - name: vBBU
# path: orchestration/xos_services/vBBU
# keypair: mcord_rsa
# synchronizer: true
# - name: vMME
# path: orchestration/xos_services/vMME
# keypair: mcord_rsa
# synchronizer: true
# - name: vSGW
# path: orchestration/xos_services/vSGW
# keypair: mcord_rsa
# synchronizer: true
# - name: vPGWC
# path: orchestration/xos_services/vPGWC
# keypair: mcord_rsa
# synchronizer: true
# needed onboarding synchronizer doesn't require service code to be present when started
- name: exampleservice
path: orchestration/xos_services/exampleservice
keypair: exampleservice_rsa
synchronizer: true
- name: monitoring
path: orchestration/xos_services/monitoring
keypair: monitoringservice_rsa
synchronizer: false
xos_service_sshkeys:
- name: onos_rsa
source_path: "~/.ssh/id_rsa"
- name: onos_rsa.pub
source_path: "~/.ssh/id_rsa.pub"
- name: mcord_rsa
source_path: "~/.ssh/id_rsa"
- name: mcord_rsa.pub
source_path: "~/.ssh/id_rsa.pub"
# needed onboarding synchronizer doesn't require service code to be present when started
- name: exampleservice_rsa
source_path: "~/.ssh/id_rsa"
- name: exampleservice_rsa.pub
source_path: "~/.ssh/id_rsa.pub"
- name: monitoringservice_rsa
source_path: "~/.ssh/id_rsa"
- name: monitoringservice_rsa.pub
source_path: "~/.ssh/id_rsa.pub"
# profile_library: "mcord"
# VM networks/bridges on head
virt_nets:
- name: mgmtbr
ipv4_prefix: 192.168.122
head_vms: true
# site domain suffix
site_suffix: cord.lab
# resolv.conf settings
dns_search:
- "{{ site_suffix }}"
# SSL server certificate generation
server_certs:
- cn: "keystone.{{ site_suffix }}"
subj: "/C=US/ST=California/L=Menlo Park/O=ON.Lab/OU=Test Deployment/CN=keystone.{{ site_suffix }}"
altnames:
- "DNS:keystone.{{ site_suffix }}"
- "DNS:keystone"
- cn: "xos-core.{{ site_suffix }}"
subj: "/C=US/ST=California/L=Menlo Park/O=ON.Lab/OU=Test Deployment/CN=xos-core.{{ site_suffix }}"
altnames:
- "DNS:xos-core.{{ site_suffix }}"
# NSD/Unbound settings
nsd_zones:
- name: "{{ site_suffix }}"
ipv4_first_octets: 192.168.122
name_reverse_unbound: "168.192.in-addr.arpa"
soa: ns1
ns:
- { name: ns1 }
nodelist: head_vm_list
aliases:
- { name: "ns1" , dest: "head" }
- { name: "ns" , dest: "head" }
- { name: "apt-cache" , dest: "head" }
name_on_public_interface: head
# VTN network configuration
management_network_cidr: 172.27.0.0/24
management_network_ip: 172.27.0.1/24
data_plane_ip: 10.168.0.253/24
# CORD ONOS app version
cord_app_version: 1.2-SNAPSHOT
# If true, unbound listens on the head node's `ansible_default_ipv4` interface
unbound_listen_on_default: True
# turn this on, or override it when running the playbook with --extra-vars="on_cloudlab=True"
on_cloudlab: False
# turn this off, or override when running playbook with --extra-vars="on_maas=False"
on_maas: True
run_dist_upgrade: False
maas_node_key: /etc/maas/ansible/id_rsa
openstack_version: kilo
juju_config_name: cord
juju_config_path: /usr/local/src/juju_config.yml
# Pull ONOS from local Docker registry rather than Docker Hub
onos_docker_image: "docker-registry:5000/onosproject/onos:candidate"
# Pull XOS from local Docker registry
xos_docker_image: "docker-registry:5000/xosproject/xos:candidate"
keystone_admin_password: "{{ lookup('password', 'credentials/cord_keystone_admin chars=ascii_letters,digits') }}"
deployment_flavors:
- m1.small
- m1.medium
- m1.large
- m1.xlarge
charm_versions:
ceilometer: "cs:trusty/ceilometer-17"
ceilometer-agent: "cs:trusty/ceilometer-agent-13"
glance: "cs:trusty/glance-28"
keystone: "cs:trusty/keystone-33"
mongodb: "cs:trusty/mongodb-33"
percona-cluster: "cs:trusty/percona-cluster-31"
nagios: "cs:trusty/nagios-10"
neutron-api: "cs:~cordteam/trusty/neutron-api-5"
nova-cloud-controller: "cs:trusty/nova-cloud-controller-64"
nova-compute: "cs:~cordteam/trusty/nova-compute-2"
nrpe: "cs:trusty/nrpe-4"
ntp: "cs:trusty/ntp-14"
openstack-dashboard: "cs:trusty/openstack-dashboard-19"
rabbitmq-server: "cs:trusty/rabbitmq-server-42"
head_vm_list: []
head_lxd_list:
- name: "juju-1"
service: "juju"
aliases:
- "juju"
ipv4_last_octet: 10
- name: "ceilometer-1"
service: "ceilometer"
aliases:
- "ceilometer"
ipv4_last_octet: 20
forwarded_ports:
- { ext: 8777, int: 8777 }
- name: "glance-1"
service: "glance"
aliases:
- "glance"
ipv4_last_octet: 30
forwarded_ports:
- { ext: 9292, int: 9292 }
- name: "keystone-1"
service: "keystone"
aliases:
- "keystone"
ipv4_last_octet: 40
forwarded_ports:
- { ext: 35357, int: 35357 }
- { ext: 4990, int: 4990 }
- { ext: 5000, int: 5000 }
- name: "percona-cluster-1"
service: "percona-cluster"
aliases:
- "percona-cluster"
ipv4_last_octet: 50
- name: "nagios-1"
service: "nagios"
aliases:
- "nagios"
ipv4_last_octet: 60
forwarded_ports:
- { ext: 3128, int: 80 }
- name: "neutron-api-1"
service: "neutron-api"
aliases:
- "neutron-api"
ipv4_last_octet: 70
forwarded_ports:
- { ext: 9696, int: 9696 }
- name: "nova-cloud-controller-1"
service: "nova-cloud-controller"
aliases:
- "nova-cloud-controller"
ipv4_last_octet: 80
forwarded_ports:
- { ext: 8774, int: 8774 }
- name: "openstack-dashboard-1"
service: "openstack-dashboard"
aliases:
- "openstack-dashboard"
ipv4_last_octet: 90
forwarded_ports:
- { ext: 8080, int: 80 }
- name: "rabbitmq-server-1"
service: "rabbitmq-server"
aliases:
- "rabbitmq-server"
ipv4_last_octet: 100
- name: "mongodb-1"
service: "mongodb"
aliases:
- "mongodb"
ipv4_last_octet: 110
lxd_service_list:
- ceilometer
- glance
- keystone
- mongodb
- nagios
- neutron-api
- nova-cloud-controller
- openstack-dashboard
- percona-cluster
- rabbitmq-server
standalone_service_list:
- ntp
- nrpe
- ceilometer-agent
service_relations:
- name: keystone
relations: [ "percona-cluster", "nrpe", ]
- name: nova-cloud-controller
relations: [ "percona-cluster", "rabbitmq-server", "glance", "keystone", "nrpe", ]
- name: glance
relations: [ "percona-cluster", "keystone", "nrpe", ]
- name: neutron-api
relations: [ "keystone", "percona-cluster", "rabbitmq-server", "nova-cloud-controller", "nrpe", ]
- name: openstack-dashboard
relations: [ "keystone", "nrpe", ]
- name: nagios
relations: [ "nrpe", ]
- name: "percona-cluster:juju-info"
relations: [ "nrpe:general-info", ]
- name: rabbitmq-server
relations: [ "nrpe", ]
- name: ceilometer
relations: [ "mongodb", "rabbitmq-server", "nagios", "nrpe", ]
- name: "ceilometer:identity-service"
relations: [ "keystone:identity-service", ]
- name: "ceilometer:ceilometer-service"
relations: [ "ceilometer-agent:ceilometer-service", ]
compute_relations:
- name: nova-compute
relations: [ "ceilometer-agent", "glance", "nova-cloud-controller", "nagios", "nrpe", ]
- name: "nova-compute:shared-db"
relations: [ "percona-cluster:shared-db", ]
- name: "nova-compute:amqp"
relations: [ "rabbitmq-server:amqp", ]
- name: ntp
relations: [ "nova-compute", ]
xos_images:
- name: "trusty-server-multi-nic"
url: "http://www.vicci.org/opencloud/trusty-server-cloudimg-amd64-disk1.img.20170201"
checksum: "sha256:ebf007ba3ec1043b7cd011fc6668e2a1d1d4c69c41071e8513ab355df7a057cb"
# How to add local image and dynamically load it into existing XOS
# add your private image such as mcord-local-image-name.img to /opt/iamges/ on 'corddev' VM inside cord in a box
# uncomment the code blow,and run those two commands:
# on corddev VM: vagrant@corddev:/cord/build$ ./gradlew -PdeployConfig=config/mcord_in_a_box.yml PIcreateProfile
# on prod VM: compute-node-refresh
#- name: "mcord-local-image-name"
# url: "file://localhost/opt/images/mcord-local-image-name.img"
# checksum: "sha256:ebf007ba3ec1043b7cd011fc6668e2a1d1d4c69c41071e8513ab355df7a057cb"
- name: "vsg-1.1"
url: "http://www.vicci.org/cord/vsg-1.1.img"
checksum: "sha256:16b0beb6778aed0f5feecb05f8d5750e6c262f98e6011e99ddadf7d46a177b6f"
- name: "ceilometer-trusty-server-multi-nic"
url: "http://www.vicci.org/cord/ceilometer-trusty-server-multi-nic.compressed.qcow2"
checksum: "sha256:b77ef8d692b640568dea13df99fe1dfcb1f4bb4ac05408db9ff77399b34f754f"
- name: "ceilometer-service-trusty-server-multi-nic"
url: "http://www.vicci.org/cord/ceilometer-service-trusty-server-multi-nic.compressed.qcow2.20170131"
checksum: "sha256:f0341e283f0f2cb8f70cd1a6347e0081c9c8492ef34eb6397c657ef824800d4f"