magnum/playbooks/container-builder.yaml

76 lines
3.0 KiB
YAML

- hosts: all
tasks:
- include_vars: container-builder-vars.yaml
# NOTE: By default, stable images are not built if they already exist.
# Assigning dev=true property for heat container agent images means that a new
# image is re-built and pushed under the same tag every time.
- name: "Build heat-container-agent images"
block:
- name: "Check if {{ magnum_repository }}/heat-container-agent:{{ item.tag }} exists"
docker_image:
name: "{{ magnum_repository }}/heat-container-agent"
tag: "{{ item.tag }}"
source: pull
register: docker_output
when: not (item.dev | default(false) | bool)
failed_when: (docker_output is failed and "pull rate limit" in docker_output.msg)
with_items: "{{ heat_container_agent_images }}"
- name: "Build {{ magnum_repository }}/heat-container-agent:{{ item.item.tag }} image"
docker_image:
build:
path: "{{ magnum_src_dir }}/dockerfiles/heat-container-agent"
name: "{{ magnum_repository }}/heat-container-agent"
tag: "{{ item.item.tag }}"
push: no
source: build
with_items: "{{ docker_output.results }}"
when: ("msg" in item and "not found" in item.msg) or (item.item.dev | default(false) | bool)
retries: 10
- name: "Build kubernetes images"
block:
- name: "Build {{ magnum_repository }}/{{ item[1].name }}:{{ item[0].version }} image"
docker_image:
name: "{{ magnum_repository }}/{{ item[1].name }}"
tag: "{{ item[0].version }}"
build:
path: "{{ magnum_src_dir }}/dockerfiles/{{ item[1].name }}"
args:
KUBE_VERSION: "{{ item[0].version }}"
push: no
source: build
with_nested:
- "{{ kubernetes_versions }}"
- "{{ kubernetes_images }}"
retries: 10
- name: "Build helm-client image"
block:
- docker_image:
name: "{{ magnum_repository }}/helm-client"
tag: "{{ item.version }}"
build:
path: "{{ magnum_src_dir }}/dockerfiles/helm-client"
args:
HELM_VERSION: "{{ item.version }}"
push: no
source: build
with_items: "{{ helm_versions }}"
retries: 10
- name: "Build cluster-autoscaler image"
block:
- name: "Build {{ magnum_repository }}/cluster-autoscaler:v{{ item.version }}"
docker_image:
name: "{{ magnum_repository }}/cluster-autoscaler"
tag: "v{{ item.version }}"
build:
path: "{{ magnum_src_dir }}/dockerfiles/cluster-autoscaler"
args:
AUTOSCALER_VERSION: "cluster-autoscaler-{{ item.version }}"
push: no
source: build
with_items: "{{ cluster_autoscaler_versions }}"
retries: 10