#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you 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.
#
---
# - Plays are map roles to hosts.  
# - Roles are just abstractions around tasks
# - Each "hosts:"-block (a play) will be executed 
#   one by one. So you can use multiple
#   blocks to force the desired execution order.
# - The plays are executed from top to down order.
# - Multiple roles declarations per play are executed
#   non in special order, you cannot control the order
#   of roles within a play.

# Play 1
- hosts: all
  roles:
    - common
    - docker
    - { role: jbod-disks, 
        when: "inventory_hostname in groups['dcos-agents-private'] and inventory_hostname != 'a1'" }

# Play 2
- hosts: bootstrap 
  roles:
    - passwordless
    - devel
    - nfs
    - dcos-setup
    - registry
    - hadoop

# Play 3
- hosts: dcos-masters 
  strategy: free
  vars:
    node_type: master
  roles:
    - dcos-install
    - nfs
    - nfs-client
    - hadoop

# Play 4
- hosts: dcos-agents-private 
  strategy: free
  vars:
    node_type: slave
  roles:
    - dcos-install
    - nfs
    - nfs-client
    - hadoop

# Play 4
- hosts: dcos-agents-public
  strategy: free
  vars:
    node_type: slave_public
  roles:
    - dcos-install
