tripleo-quickstart-extras/roles/modify-image
Harry Rybacki ce7982192f Integrate undercloud_user var into oooq-extras
We need to differentiate local_working_dir from working_dir
as well as decouple the stack user from `ansible_user` var.
Both of these are causing issues as we begin to automate
deployments in more environments.

- Cleanup duplicate variables that are consumed via extras-common
  - Note: extras-common depends on the common role in OOOQ
- Cleanup redundant var and superfluous quotes from overcloud-scale
  role
- Cleanup redundant comments in <role>/defaults/main.yml

Closes-bug: 1654574
Change-Id: I9c7a3166ed1fc5042c11e420223134ea912b45c5
2017-01-18 09:32:16 -05:00
..
defaults Integrate undercloud_user var into oooq-extras 2017-01-18 09:32:16 -05:00
meta Add modify-images role 2017-01-03 21:31:41 +00:00
tasks Add modify-images role 2017-01-03 21:31:41 +00:00
README.md Add modify-images role 2017-01-03 21:31:41 +00:00

README.md

modify-image

An Ansible role for modifying an image via the libguestfs tool, virt-customize. The role requires an image and a script to run inside of that image via virt-customize. It also has paramaters for how much memory and cpu to give the virt-customize VM, and a list of artifacts to copy out of the VM after running the script. The script will always produce a log of the same name as the script with .log appended. This can be extracted via the modify_image_extract_list variable.

Requirements

Role Variables

  • image_to_modify -- the image that virt-customize will operate on
  • modify_script -- the script that will be run inside the image
  • modify_image_extract_list -- list of artifacts to extract after the image is modified
  • modify_image_working_dir -- directory containing image and script. This is also where extracted files and logs will end up.
  • modify_image_vc_ram -- amount of RAM to give the virt-customize VM (in MB)
  • modify_image_vc_cpu -- number of CPUs to give the virt-customize VM
  • modify_image_vc_verbose -- whether to run virt-customize with verbose flag
  • modify_image_vc_trace -- whether to run virt-customize with trace flag

Example Usage

---
- name: |
    Run a script inside an image via virt-customize without extracting anything    
  hosts: virthost
  vars:
    image_to_modify: "{{ working_dir }}/undercloud.qcow2"
    modify_script: "{{ working_dir }}/undercloud_convert.sh"
  roles:
    - modify-image

- name: Run a script inside an image and extract the log from the script
  hosts: virthost
  vars:
    image_to_modify: "{{ working_dir }}/undercloud.qcow2"
    modify_script: "{{ working_dir }}/undercloud_convert.sh"
    modify_image_extract_list:
      - /tmp/builder.log
  roles:
    - modify-image

- name: Run a script inside an image that needs to have lots of resources
  hosts: virthost
  vars:
    image_to_modify: "{{ working_dir }}/undercloud.qcow2"
    modify_script: "{{ working_dir }}/undercloud_convert.sh"
    modify_image_vc_cpu: 8
    modify_image_vc_ram: 16384
  roles:
    - modify-image

- name: Run a script inside an image with virt-customize in verbose mode
  hosts: virthost
  vars:
    image_to_modify: "{{ working_dir }}/undercloud.qcow2"
    modify_script: "{{ working_dir }}/undercloud_convert.sh"
    modify_image_verbose: true
  roles:
    - modify-image

License

Apache