blob: 15d861aebf33f96972949fb2d70252575e68f713 [file] [log] [blame]
Zack Williamsa2763112017-01-03 11:38:38 -07001---
2# cord-profile/tasks/main.yml
3# Constructs a CORD service profile directory and configuration files
4
5- name: Create cord_profile directory
6 become: yes
7 file:
8 path: "{{ cord_profile_dir }}"
9 state: directory
10 mode: 0755
11 owner: "{{ ansible_user_id }}"
12 group: "{{ ansible_user_gid }}"
13
14- name: Create subdirectories inside cord_profile directory
15 file:
16 path: "{{ cord_profile_dir }}/{{ item }}"
17 state: directory
18 mode: 0755
19 with_items:
20 - key_import
21 - onboarding-docker-compose
22 - images
23
24- name: Copy ssh keys to key_import directory
25 copy:
26 remote_src: True # file is local to the remote machine
27 src: "{{ item.source_path | expanduser }}"
28 dest: "{{ cord_profile_dir }}/key_import/{{ item.name }}"
29 mode: 0600
30 with_items: "{{ xos_service_sshkeys }}"
31
Zack Williamsa2763112017-01-03 11:38:38 -070032- name: Copy over core api key
33 copy:
34 src: "{{ playbook_dir }}/pki/intermediate_ca/private/xos-core.{{ site_suffix }}_key.pem"
35 dest: "{{ cord_profile_dir }}/core_api_key.pem"
36 mode: 0600
37
38- name: Copy over core api cert
39 copy:
40 src: "{{ playbook_dir }}/pki/intermediate_ca/certs/xos-core.{{ site_suffix }}_cert_chain.pem"
41 dest: "{{ cord_profile_dir }}/core_api_cert.pem"
42
Zack Williamsc6ff6b32017-02-10 16:35:29 -070043- name: Make Image directory ( outside of profile directory to avoid repeat downloads on sequential runs)
44 become: yes
45 file:
46 path: "{{ cord_dir }}/images"
47 state: directory
48 mode: 0755
49 owner: "{{ ansible_user_id }}"
50 group: "{{ ansible_user_gid }}"
51
Zack Williamsa2763112017-01-03 11:38:38 -070052- name: Download Glance VM images
53 get_url:
54 url: "{{ item.url }}"
55 checksum: "{{ item.checksum }}"
Zack Williamsc6ff6b32017-02-10 16:35:29 -070056 dest: "{{ cord_dir }}/images/{{ item.name }}.qcow2"
57 with_items: "{{ xos_images }}"
58
59- name: Copy Glance VM images to profile directory
60 copy:
61 remote_src: True
62 src: "{{ cord_dir }}/images/{{ item.name }}.qcow2"
Zack Williamsa2763112017-01-03 11:38:38 -070063 dest: "{{ cord_profile_dir }}/images/{{ item.name }}.qcow2"
64 with_items: "{{ xos_images }}"
65
66- name: Copy over commonly used and utility TOSCA files
67 copy:
68 src: "{{ item }}"
69 dest: "{{ cord_profile_dir }}/{{ item }}"
70 with_items:
71 - fixtures.yaml
72 - enable-onboarding.yaml
73 - disable-onboarding.yaml
74
75- name: Create templated XOS configuration files
76 template:
77 src: "{{ item }}.j2"
78 dest: "{{ cord_profile_dir }}/{{ item }}"
79 mode: 0644
80 with_items:
81 - xos_common_config
82 - deployment.yaml
83 - xos.yaml
84 - xos-bootstrap-docker-compose.yaml
85
86- name: Create profile specific templated TOSCA config files
87 template:
88 src: "{{ item }}.j2"
89 dest: "{{ cord_profile_dir }}/{{ item }}"
90 with_items: "{{ xos_tosca_config_templates }}"
91
92- name: Create profile specific templated non-TOSCA files
93 template:
94 src: "{{ item }}.j2"
95 dest: "{{ cord_profile_dir }}/{{ item }}"
96 with_items: "{{ xos_other_templates }}"
97
98- name: Copy admin_openrc.sh
99 when: use_openstack
100 copy:
101 remote_src: True
102 src: "{{ ansible_user_dir }}/admin-openrc.sh"
103 dest: "{{ cord_profile_dir }}/admin-openrc.sh"
104
Zack Williams2a5f6862017-02-09 16:39:52 -0700105- name: Copy node_key to cord_profile directory
106 when: use_openstack
107 copy:
108 remote_src: True # file is local to the remote machine
109 src: "{{ ansible_user_dir }}/node_key"
110 dest: "{{ cord_profile_dir }}/node_key"
111 mode: 0600
112