From bf0bf043928cbcc14944ec21ce856ef7a41a868c Mon Sep 17 00:00:00 2001
From: Dai Dang Van <daidv@vn.fujitsu.com>
Date: Sat, 3 Jun 2017 11:53:07 +0700
Subject: [PATCH] Mixing binary and source images for I* and K* projects

In case Kolla's users want to deploy with both of
binary and source image, we should have a variable
install type that define install type for each project.

We also add specific image tag for each Openstack project.

This commit is implemented for Ironic, Kabor,
Keystone project and iscsi as well.

Change-Id: I134d840b1c0e24171a32dec0c7daa6dc2e9ecd87
Implements: blueprint mixing-binary-and-source-image
---
 ansible/roles/ironic/defaults/main.yml   | 23 +++++++++++++----------
 ansible/roles/iscsi/defaults/main.yml    | 11 +++++++----
 ansible/roles/karbor/defaults/main.yml   | 15 +++++++++------
 ansible/roles/keystone/defaults/main.yml | 15 +++++++++------
 4 files changed, 38 insertions(+), 26 deletions(-)

diff --git a/ansible/roles/ironic/defaults/main.yml b/ansible/roles/ironic/defaults/main.yml
index 6fe4db94b1..f9241d2d96 100644
--- a/ansible/roles/ironic/defaults/main.yml
+++ b/ansible/roles/ironic/defaults/main.yml
@@ -16,24 +16,27 @@ ironic_inspector_database_address: "{{ kolla_internal_fqdn }}:{{ database_port }
 ####################
 # Docker
 ####################
-ironic_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-ironic-api"
-ironic_api_tag: "{{ openstack_release }}"
+ironic_install_type: "{{ kolla_install_type }}"
+ironic_tag: "{{ openstack_release }}"
+
+ironic_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ironic_install_type }}-ironic-api"
+ironic_api_tag: "{{ ironic_tag }}"
 ironic_api_image_full: "{{ ironic_api_image }}:{{ ironic_api_tag }}"
 
-ironic_conductor_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-ironic-conductor"
-ironic_conductor_tag: "{{ openstack_release }}"
+ironic_conductor_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ironic_install_type }}-ironic-conductor"
+ironic_conductor_tag: "{{ ironic_tag }}"
 ironic_conductor_image_full: "{{ ironic_conductor_image }}:{{ ironic_conductor_tag }}"
 
-ironic_pxe_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-ironic-pxe"
-ironic_pxe_tag: "{{ openstack_release }}"
+ironic_pxe_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ironic_install_type }}-ironic-pxe"
+ironic_pxe_tag: "{{ ironic_tag }}"
 ironic_pxe_image_full: "{{ ironic_pxe_image }}:{{ ironic_pxe_tag }}"
 
-ironic_inspector_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-ironic-inspector"
-ironic_inspector_tag: "{{ openstack_release }}"
+ironic_inspector_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ironic_install_type }}-ironic-inspector"
+ironic_inspector_tag: "{{ ironic_tag }}"
 ironic_inspector_image_full: "{{ ironic_inspector_image }}:{{ ironic_inspector_tag }}"
 
-ironic_dnsmasq_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-dnsmasq"
-ironic_dnsmasq_tag: "{{ openstack_release }}"
+ironic_dnsmasq_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ ironic_install_type }}-dnsmasq"
+ironic_dnsmasq_tag: "{{ ironic_tag }}"
 ironic_dnsmasq_image_full: "{{ ironic_dnsmasq_image }}:{{ ironic_dnsmasq_tag }}"
 
 
diff --git a/ansible/roles/iscsi/defaults/main.yml b/ansible/roles/iscsi/defaults/main.yml
index 9af4cbbd31..b210e82cd6 100644
--- a/ansible/roles/iscsi/defaults/main.yml
+++ b/ansible/roles/iscsi/defaults/main.yml
@@ -4,10 +4,13 @@ project_name: "iscsi"
 ####################
 # Docker
 ####################
-iscsid_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-iscsid"
-iscsid_tag: "{{ openstack_release }}"
+iscsi_install_type: "{{ kolla_install_type }}"
+iscsi_tag: "{{ openstack_release }}"
+
+iscsid_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ iscsi_install_type }}-iscsid"
+iscsid_tag: "{{ iscsi_tag }}"
 iscsid_image_full: "{{ iscsid_image }}:{{ iscsid_tag }}"
 
-tgtd_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-tgtd"
-tgtd_tag: "{{ openstack_release }}"
+tgtd_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ iscsi_install_type }}-tgtd"
+tgtd_tag: "{{ iscsi_tag }}"
 tgtd_image_full: "{{ tgtd_image }}:{{ tgtd_tag }}"
diff --git a/ansible/roles/karbor/defaults/main.yml b/ansible/roles/karbor/defaults/main.yml
index 2dbadc6d02..5d0e3c5497 100644
--- a/ansible/roles/karbor/defaults/main.yml
+++ b/ansible/roles/karbor/defaults/main.yml
@@ -42,16 +42,19 @@ karbor_database_address: "{{ kolla_internal_fqdn }}:{{ database_port }}"
 ####################
 # Docker
 ####################
-karbor_protection_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-karbor-protection"
-karbor_protection_tag: "{{ openstack_release }}"
+karbor_install_type: "{{ kolla_install_type }}"
+karbor_tag: "{{ openstack_release }}"
+
+karbor_protection_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ karbor_install_type }}-karbor-protection"
+karbor_protection_tag: "{{ karbor_tag }}"
 karbor_protection_image_full: "{{ karbor_protection_image }}:{{ karbor_protection_tag }}"
 
-karbor_operationengine_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-karbor-operationengine"
-karbor_operationengine_tag: "{{ openstack_release }}"
+karbor_operationengine_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ karbor_install_type }}-karbor-operationengine"
+karbor_operationengine_tag: "{{ karbor_tag }}"
 karbor_operationengine_image_full: "{{ karbor_operationengine_image }}:{{ karbor_operationengine_tag }}"
 
-karbor_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-karbor-api"
-karbor_api_tag: "{{ openstack_release }}"
+karbor_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ karbor_install_type }}-karbor-api"
+karbor_api_tag: "{{ karbor_tag }}"
 karbor_api_image_full: "{{ karbor_api_image }}:{{ karbor_api_tag }}"
 
 
diff --git a/ansible/roles/keystone/defaults/main.yml b/ansible/roles/keystone/defaults/main.yml
index 3fa3b593d4..05527bbad3 100644
--- a/ansible/roles/keystone/defaults/main.yml
+++ b/ansible/roles/keystone/defaults/main.yml
@@ -52,16 +52,19 @@ keystone_groupname: "keystone"
 ####################
 # Docker
 ####################
-keystone_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-keystone"
+keystone_install_type: "{{ kolla_install_type }}"
 keystone_tag: "{{ openstack_release }}"
-keystone_image_full: "{{ keystone_image }}:{{ keystone_tag }}"
 
-keystone_fernet_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-keystone-fernet"
-keystone_fernet_tag: "{{ openstack_release }}"
+keystone_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ keystone_install_type }}-keystone"
+keystone_service_tag: "{{ keystone_tag }}"
+keystone_image_full: "{{ keystone_image }}:{{ keystone_service_tag }}"
+
+keystone_fernet_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ keystone_install_type }}-keystone-fernet"
+keystone_fernet_tag: "{{ keystone_tag }}"
 keystone_fernet_image_full: "{{ keystone_fernet_image }}:{{ keystone_fernet_tag }}"
 
-keystone_ssh_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-keystone-ssh"
-keystone_ssh_tag: "{{ openstack_release }}"
+keystone_ssh_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ keystone_install_type }}-keystone-ssh"
+keystone_ssh_tag: "{{ keystone_tag }}"
 keystone_ssh_image_full: "{{ keystone_ssh_image }}:{{ keystone_ssh_tag }}"