| |
| # Copyright 2017-present Open Networking Foundation |
| # |
| # 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. |
| |
| |
| - 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: "{{pub_ssh_key_file_location}}/{{item}}" |
| dest: /etc/maas/.ssh/{{item}} |
| owner: maas |
| group: maas |
| mode: "0644" |
| with_items: |
| - cord_rsa |
| - cord_rsa.pub |