---
- hosts: all
  sudo: yes
  gather_facts: yes
  vars_files:
    - "./vars/private/users.yml"
    - "./vars/private/znc.yml"

  roles:
    # ssh depends on users, users depends on bash
    - ssh
    - locale
    - sudo
    - yum-update
    - yum-common
    - selinux
    - ntp
    - firewall
    - znc

---
- hosts: all
  sudo: yes
  gather_facts: yes
  vars_files:
    - "./vars/yum-common.yml"

  roles:
    - firewall
    - yum-common
    - yum-update
    - selinux

- hosts: all
  sudo: yes
  gather_facts: yes
  vars_files:
    - "./vars/private/users.yml"
    - "./vars/ssh.yml"
    - "./vars/znc.yml"

  roles:
    # ssh depends on users, users depends on bash
    - ssh
    - locale
    - sudo
    - ntp
    - znc

Split playbook into 2 sections... get core security in place, then apply all other roles, some of which depend on having SELINUX in place.
Split playbook into 2 sections... get core security in place, then apply all other roles, some of which depend on having SELINUX in place.
