blob: 2ace0afc9bea32d37d50bd4646b9a132ca6121bc [file] [log] [blame]
# SSH Key access from the current machine to the target node is required for the
# synchronize action to work.
- name: Ensure User SSH Keys
local_action: user name='{{ ansible_user_id }}' generate_ssh_key=yes ssh_key_bits=2048
tags:
- establish_ssh_keys
- name: Ensure Key Authorized on Target Head Node
authorized_key:
user: '{{ansible_ssh_user}}'
key: "{{lookup('file', '~/.ssh/id_rsa.pub')}}"
tags:
- establish_ssh_keys
- name: Ensure MAAS Ansible Config Directory
become: yes
file:
path=/etc/maas/ansible
owner=maas
group=maas
state=directory
mode="0755"
- name: Ensure Ansible Roles
become: yes
synchronize:
src: "{{ item }}"
dest: /etc/maas/ansible
with_items:
- roles
- library
- name: Ensure Role Permissions and Modes
become: yes
file:
path: /etc/maas/ansible/roles
owner: maas
group: maas
mode: u=rwX,g=rX,o=rX
state: directory
recurse: true
- name: Ensure Ansible Provisioning Script
become: yes
copy:
dest=/etc/maas/ansible/{{ item }}
src=files/{{ item }}
owner=maas
group=maas
mode="0755"
with_items:
- do-ansible
- do-switch
- name: Ensure Provisioning Log Directory
become: yes
file:
path=/etc/maas/ansible/logs
state=directory
owner=maas
group=maas
mode="0755"
- name: Capture MAAS API Key
become: yes
command: maas-region-admin apikey --username={{ maas.user }}
register: apikey
changed_when: false
- name: Ensure Compute and Switch Node Playbooks
become: yes
template:
src={{ item }}.j2
dest=/etc/maas/ansible/{{ item }}
owner=maas
group=maas
mode="0644"
with_items:
- compute-node.yml
- switch-node.yml
- name: Ensure Compute and Switch Variable Directory
become: yes
file:
path=/etc/maas/ansible/vars
owner=maas
group=maas
mode="0755"
state=directory
- name: Ensure Compute and Switch Node Variables
become: yes
template:
src=templates/compute-node-vars.yml.j2
dest=/etc/maas/ansible/vars/compute-node-vars.yml
owner=maas
group=maas
mode="0644"
- name: Ensure Connect Switch Ansible Playbook
become: yes
copy:
dest=/etc/maas/ansible/{{ item }}
src=files/{{ item }}
owner=maas
group=maas
mode="0644"
with_items:
- connect-switch.yml
- name: Ensure Dynamic Inventory Script
become: yes
template:
src=templates/pod-inventory
dest=/etc/maas/ansible/pod-inventory
owner=maas
group=maas
mode="0755"
- name: Copy CORD Utility Scripts
become: yes
copy:
src=files/commands/{{ item }}
dest=/usr/local/bin/{{ item }}
owner=root
group=root
mode="0755"
with_items:
- cord
- cord-harvest
- cord-prov
- cord-switch
- cord-generate
- cord-registry
- name: Ensure SSH Key Storage
become: yes
file:
path: /etc/maas/.ssh
mode: "0755"
owner: maas
group: maas
state: directory
- name: Copy SSH Key Pair for POD
become: yes
copy:
src: /etc/maas/.ssh/{{item}}
dest: /etc/maas/.ssh/{{item}}
owner: maas
group: maas
mode: "0644"
with_items:
- cord_rsa
- cord_rsa.pub