CORD-1000 Build and publish XOS images on corddev
Change-Id: I10f9a41220ac42e412b0fb90d574d17556c2c4e8
diff --git a/roles/cord-profile/tasks/main.yml b/roles/cord-profile/tasks/main.yml
index 2e6083f..cbf8b42 100644
--- a/roles/cord-profile/tasks/main.yml
+++ b/roles/cord-profile/tasks/main.yml
@@ -2,6 +2,11 @@
# cord-profile/tasks/main.yml
# Constructs a CORD service profile directory and configuration files
+- name: Create and copy XOS admin password
+ copy:
+ content: "{{ xos_admin_pass }}"
+ dest: "{{ cord_dir }}/build/platform-install/credentials/{{ xos_admin_user }}"
+
- name: Create cord_profile directory
become: yes
file:
@@ -29,41 +34,45 @@
- name: Copy ssh keys to key_import directory
copy:
- remote_src: True # file is local to the remote machine
src: "{{ item.source_path | expanduser }}"
dest: "{{ cord_profile_dir }}/key_import/{{ item.name }}"
mode: 0600
with_items: "{{ xos_service_sshkeys }}"
-- name: Copy over core api key and cert
+- name: Copy cert chain and core api key and cert
copy:
src: "{{ pki_dir }}/{{ item }}"
dest: "{{ cord_profile_dir }}/{{ item }}"
mode: 0600
+ remote_src: True
with_items:
- core_api_key.pem
- core_api_cert.pem
+ - im_cert_chain.pem
-- name: Make Image directory ( outside of profile directory to avoid repeat downloads on sequential runs)
+- name: Make local images directory
+ delegate_to: localhost
become: yes
file:
- path: "{{ cord_dir }}/images"
+ path: "{{ image_dir }}"
state: directory
mode: 0755
owner: "{{ ansible_user_id }}"
group: "{{ ansible_user_gid }}"
- name: Download Glance VM images
+ when: use_openstack
+ delegate_to: localhost
get_url:
url: "{{ item.url }}"
checksum: "{{ item.checksum }}"
- dest: "{{ cord_dir }}/images/{{ item.name }}.qcow2"
+ dest: "{{ image_dir }}/{{ item.name }}.qcow2"
with_items: "{{ xos_images }}"
- name: Copy Glance VM images to profile directory
+ when: use_openstack
copy:
- remote_src: True
- src: "{{ cord_dir }}/images/{{ item.name }}.qcow2"
+ src: "{{ image_dir }}/{{ item.name }}.qcow2"
dest: "{{ cord_profile_dir }}/images/{{ item.name }}.qcow2"
with_items: "{{ xos_images }}"
@@ -93,6 +102,9 @@
- gateway-config.yml
- style.config.js
- app.config.js
+ - Dockerfile.xos
+ - xos-gui-extensions-onboard.yml
+ - xos-gui-extensions.yml
- name: Create profile specific templated TOSCA config files
template:
@@ -106,17 +118,26 @@
dest: "{{ cord_profile_dir }}/{{ item }}"
with_items: "{{ xos_other_templates }}"
-- name: Copy admin_openrc.sh
- when: use_openstack
+- name: Copy node key
+ when: not on_maas and use_openstack
copy:
- remote_src: True
- src: "{{ ansible_user_dir }}/admin-openrc.sh"
- dest: "{{ cord_profile_dir }}/admin-openrc.sh"
-
-- name: Copy node_key to cord_profile directory
- when: use_openstack
- copy:
- remote_src: True # file is local to the remote machine
- src: "{{ ansible_user_dir }}/node_key"
- dest: "{{ cord_profile_dir }}/node_key"
+ src: "{{ ansible_user_dir }}/.ssh/id_rsa"
+ dest: "{{ item }}/node_key"
+ owner: "{{ ansible_user }}"
mode: 0600
+ with_items:
+ - "{{ ansible_user_dir }}"
+ - "{{ cord_profile_dir }}"
+
+- name: Copy node key (MaaS)
+ when: on_maas and use_openstack
+ become: yes
+ copy:
+ src: "{{ maas_node_key }}"
+ dest: "{{ item }}/node_key"
+ owner: "{{ ansible_user }}"
+ mode: 0600
+ remote_src: True
+ with_items:
+ - "{{ ansible_user_dir }}"
+ - "{{ cord_profile_dir }}"