##
# Copyright 2016
# This file is part of openvim
#
# 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.
#
##
series: xenial
services:
  mariadb:
    charm: "cs:trusty/mariadb-3"
    num_units: 1
    annotations:
      "gui-x": "539"
      "gui-y": "494.7050807568877"
    to:
      - "0"
  openmano:
    charm: "cs:~nfv/openmano-3"
    num_units: 1
    annotations:
      "gui-x": "939"
      "gui-y": "494.7050807568877"
    to:
      - "1"
  "openvim-controller":
    charm: "cs:~nfv/openvim-controller-2"
    num_units: 1
    annotations:
      "gui-x": "739"
      "gui-y": "148.29491924311225"
    to:
      - "2"
  "openvim-compute":
    charm: "cs:~nfv/openvim-compute-2"
    num_units: 1
    annotations:
      "gui-x": "339"
      "gui-y": "148.29491924311225"
    to:
      - "3"
relations:
  - - "openmano:db"
    - "mariadb:db"
  - - "openvim-controller:db"
    - "mariadb:db"
  - - "openmano:openvim-controller"
    - "openvim-controller:openvim-controller"
  - - "openvim-controller:compute"
    - "openvim-compute:compute"
machines:
  "0":
    series: trusty
    constraints: arch=amd64
  "1":
    series: xenial
    constraints: arch=amd64
  "2":
    series: xenial
    constraints: arch=amd64
  "3":
    series: xenial
    constraints: arch=amd64
