blob: cbf8b42586ca7216e17d6d5820626b78f9c427be [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
Andy Baviera6cffe12017-03-15 17:33:42 -04005- name: Create and copy XOS admin password
6 copy:
7 content: "{{ xos_admin_pass }}"
8 dest: "{{ cord_dir }}/build/platform-install/credentials/{{ xos_admin_user }}"
9
Zack Williamsa2763112017-01-03 11:38:38 -070010- name: Create cord_profile directory
11 become: yes
12 file:
13 path: "{{ cord_profile_dir }}"
14 state: directory
15 mode: 0755
16 owner: "{{ ansible_user_id }}"
17 group: "{{ ansible_user_gid }}"
18
Zack Williams2478b302017-02-14 10:42:55 -070019- name: Create cord_profile/profile_name with the name of the profile
20 copy:
21 dest: "{{ cord_profile_dir }}/profile_name"
22 content: "{{ cord_profile }}"
23 mode: 0644
24
Zack Williamsa2763112017-01-03 11:38:38 -070025- name: Create subdirectories inside cord_profile directory
26 file:
27 path: "{{ cord_profile_dir }}/{{ item }}"
28 state: directory
29 mode: 0755
30 with_items:
31 - key_import
32 - onboarding-docker-compose
33 - images
34
35- name: Copy ssh keys to key_import directory
36 copy:
Zack Williamsa2763112017-01-03 11:38:38 -070037 src: "{{ item.source_path | expanduser }}"
38 dest: "{{ cord_profile_dir }}/key_import/{{ item.name }}"
39 mode: 0600
40 with_items: "{{ xos_service_sshkeys }}"
41
Andy Baviera6cffe12017-03-15 17:33:42 -040042- name: Copy cert chain and core api key and cert
Andy Bavierf0b5d7d2017-03-15 16:19:03 -040043 copy:
44 src: "{{ pki_dir }}/{{ item }}"
45 dest: "{{ cord_profile_dir }}/{{ item }}"
46 mode: 0600
Andy Baviera6cffe12017-03-15 17:33:42 -040047 remote_src: True
Andy Bavierf0b5d7d2017-03-15 16:19:03 -040048 with_items:
49 - core_api_key.pem
50 - core_api_cert.pem
Andy Baviera6cffe12017-03-15 17:33:42 -040051 - im_cert_chain.pem
Andy Bavierf0b5d7d2017-03-15 16:19:03 -040052
Andy Baviera6cffe12017-03-15 17:33:42 -040053- name: Make local images directory
54 delegate_to: localhost
Zack Williamsc6ff6b32017-02-10 16:35:29 -070055 become: yes
56 file:
Andy Baviera6cffe12017-03-15 17:33:42 -040057 path: "{{ image_dir }}"
Zack Williamsc6ff6b32017-02-10 16:35:29 -070058 state: directory
59 mode: 0755
60 owner: "{{ ansible_user_id }}"
61 group: "{{ ansible_user_gid }}"
62
Zack Williamsa2763112017-01-03 11:38:38 -070063- name: Download Glance VM images
Andy Baviera6cffe12017-03-15 17:33:42 -040064 when: use_openstack
65 delegate_to: localhost
Zack Williamsa2763112017-01-03 11:38:38 -070066 get_url:
67 url: "{{ item.url }}"
68 checksum: "{{ item.checksum }}"
Andy Baviera6cffe12017-03-15 17:33:42 -040069 dest: "{{ image_dir }}/{{ item.name }}.qcow2"
Zack Williamsc6ff6b32017-02-10 16:35:29 -070070 with_items: "{{ xos_images }}"
71
72- name: Copy Glance VM images to profile directory
Andy Baviera6cffe12017-03-15 17:33:42 -040073 when: use_openstack
Zack Williamsc6ff6b32017-02-10 16:35:29 -070074 copy:
Andy Baviera6cffe12017-03-15 17:33:42 -040075 src: "{{ image_dir }}/{{ item.name }}.qcow2"
Zack Williamsa2763112017-01-03 11:38:38 -070076 dest: "{{ cord_profile_dir }}/images/{{ item.name }}.qcow2"
77 with_items: "{{ xos_images }}"
78
79- name: Copy over commonly used and utility TOSCA files
80 copy:
81 src: "{{ item }}"
82 dest: "{{ cord_profile_dir }}/{{ item }}"
83 with_items:
84 - fixtures.yaml
85 - enable-onboarding.yaml
86 - disable-onboarding.yaml
87
88- name: Create templated XOS configuration files
89 template:
90 src: "{{ item }}.j2"
91 dest: "{{ cord_profile_dir }}/{{ item }}"
92 mode: 0644
93 with_items:
94 - xos_common_config
95 - deployment.yaml
96 - xos.yaml
97 - xos-bootstrap-docker-compose.yaml
Scott Baker5ca4bd12017-02-10 15:17:06 -080098 - onboard-chameleon.yaml
Matteo Scandolo6050fda2017-02-16 13:01:52 -080099 - onboard-gui-extensions-store.yaml
Scott Baker970f24b2017-02-13 14:16:40 -0800100 - onboard-xos-gui.yaml
101 - onboard-xos-rest-gw.yaml
102 - gateway-config.yml
Matteo Scandolo667334f2017-02-26 10:58:08 -0800103 - style.config.js
104 - app.config.js
Andy Baviera6cffe12017-03-15 17:33:42 -0400105 - Dockerfile.xos
106 - xos-gui-extensions-onboard.yml
107 - xos-gui-extensions.yml
Zack Williamsa2763112017-01-03 11:38:38 -0700108
109- name: Create profile specific templated TOSCA config files
110 template:
111 src: "{{ item }}.j2"
112 dest: "{{ cord_profile_dir }}/{{ item }}"
113 with_items: "{{ xos_tosca_config_templates }}"
114
115- name: Create profile specific templated non-TOSCA files
116 template:
117 src: "{{ item }}.j2"
118 dest: "{{ cord_profile_dir }}/{{ item }}"
119 with_items: "{{ xos_other_templates }}"
120
Andy Baviera6cffe12017-03-15 17:33:42 -0400121- name: Copy node key
122 when: not on_maas and use_openstack
Zack Williamsa2763112017-01-03 11:38:38 -0700123 copy:
Andy Baviera6cffe12017-03-15 17:33:42 -0400124 src: "{{ ansible_user_dir }}/.ssh/id_rsa"
125 dest: "{{ item }}/node_key"
126 owner: "{{ ansible_user }}"
Zack Williams2a5f6862017-02-09 16:39:52 -0700127 mode: 0600
Andy Baviera6cffe12017-03-15 17:33:42 -0400128 with_items:
129 - "{{ ansible_user_dir }}"
130 - "{{ cord_profile_dir }}"
131
132- name: Copy node key (MaaS)
133 when: on_maas and use_openstack
134 become: yes
135 copy:
136 src: "{{ maas_node_key }}"
137 dest: "{{ item }}/node_key"
138 owner: "{{ ansible_user }}"
139 mode: 0600
140 remote_src: True
141 with_items:
142 - "{{ ansible_user_dir }}"
143 - "{{ cord_profile_dir }}"