0b82a03408
Adding a modified role, and base testing playbook updates, to allow for dynamic generation of configuration drives utilizing the dynamic inventory. Change-Id: Ibe4a5761da828a39066d99c75b724af5ff670239
48 lines
3.0 KiB
YAML
48 lines
3.0 KiB
YAML
# Copyright (c) 2015 Hewlett-Packard Development Company, L.P.
|
|
#
|
|
# 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: "Identify ssh_public_key if ssh_public_key_path is defined"
|
|
include: ssh_public_key_path.yaml
|
|
when: ssh_public_key is undefined and ssh_public_key_path is defined
|
|
- name: "Name Make Temporary folder to build configdrive"
|
|
local_action: command mktemp -d
|
|
register: variable_configdrive_location
|
|
- name: "Make Metadata folder - /openstack/{{ metaata_version }}"
|
|
local_action: file state=directory name={{ variable_configdrive_location.stdout }}/{{ uuid }}/openstack/{{ metadata_version }}/
|
|
- name: "Make Metadata folder - /openstack/latest"
|
|
local_action: file state=directory name={{ variable_configdrive_location.stdout }}/{{ uuid }}/openstack/latest/
|
|
- name: "Place template in each openstack/{{ metadata_version }} folder"
|
|
local_action: template src=openstack_meta_data.json.j2 dest={{ variable_configdrive_location.stdout }}/{{ uuid }}/openstack/{{ metadata_version }}/meta_data.json
|
|
- name: "Place template in each openstack/latest folder"
|
|
local_action: template src=openstack_meta_data.json.j2 dest={{ variable_configdrive_location.stdout }}/{{ uuid }}/openstack/latest/meta_data.json
|
|
- name: "Place network info template in each openstack/latest folder"
|
|
local_action: template src=network_info.json.j2 dest={{ variable_configdrive_location.stdout }}/{{ uuid }}/openstack/latest/network_info.json
|
|
when: addressing_mode is undefined and '"dhcp" not in addressing_mode'
|
|
- name: "Make Metadata folder - /openstack/latest"
|
|
local_action: file state=directory name={{ variable_configdrive_location.stdout }}/{{ uuid }}/openstack/content/
|
|
- name: "Write network interface template"
|
|
local_action: template src=interfaces.j2 dest={{ variable_configdrive_location.stdout }}/{{ uuid }}/openstack/content/0000
|
|
- name: "Make config drive files"
|
|
sudo: yes
|
|
local_action: command mkisofs -R -V config-2 -o {{http_boot_folder}}/configdrive-{{ uuid }}.iso {{ variable_configdrive_location.stdout }}/{{ uuid }}
|
|
- name: "Make config drive files base64 encoded and gzip compressed"
|
|
sudo: yes
|
|
local_action: shell gzip -c {{http_boot_folder}}/configdrive-{{ uuid }}.iso | base64 > {{http_boot_folder}}/configdrive-{{ uuid }}.iso.gz
|
|
- name: "Cleanup configdrive .iso files"
|
|
sudo: yes
|
|
local_action: file state=absent name={{http_boot_folder}}/configdrive-{{ uuid }}.iso
|
|
- name: "Cleanup configdrive temp folder"
|
|
sudo: yes
|
|
local_action: file state=absent force=yes name={{ variable_configdrive_location.stdout }}
|