Added direct HTTP deploy support
The following new parameters were added to ironic.conf:
- image_download_source: allowed values are swift,http.
defaults to "swift"
- http_image_subdir: The name of subdirectory under
ronic-conductor node's HTTP root path. Defaults to
"agent_images"
Related-Prod: PROD-32758
Change-Id: I468bcdb7b922292adf9e536339b857ab9c4ee4a4
diff --git a/README.rst b/README.rst
index ddf253f..e208f7b 100644
--- a/README.rst
+++ b/README.rst
@@ -259,6 +259,15 @@
efi_system_partition_size: 200
bios_boot_partition_size: 1
+Enable direct http deploy feature
+========================================================
+
+.. code-block:: yaml
+
+ ironic:
+ conductor:
+ image_download_source: http
+
Upgrades
========
diff --git a/ironic/files/queens/ironic.conf b/ironic/files/queens/ironic.conf
index 8eb5ff6..b561448 100644
--- a/ironic/files/queens/ironic.conf
+++ b/ironic/files/queens/ironic.conf
@@ -665,6 +665,22 @@
# is configured to "swift". (integer value)
#deploy_logs_swift_days_to_expire = 30
+# Specifies whether direct deploy interface should try to use
+# the image source directly or if ironic should cache the
+# image on the conductor and serve it from ironic's own http
+# server. This option takes effect only when instance image is
+# provided from the Image service. (string value)
+# Possible values:
+# swift - IPA ramdisk retrieves instance image from the Object
+# Storage service.
+# http - IPA ramdisk retrieves instance image from HTTP
+# service served at conductor nodes.
+{%- if conductor.image_download_source is defined %}
+image_download_source = {{ conductor.image_download_source }}
+{%- else %}
+#image_download_source = swift
+{%- endif %}
+
[ansible]
@@ -1369,6 +1385,17 @@
# Deprecated group/name - [conductor]/configdrive_use_swift
#configdrive_use_object_store = false
+# The name of subdirectory under ironic-conductor node's HTTP
+# root path which is used to place instance images for the
+# direct deploy interface, when local HTTP service is
+# incorporated to provide instance image instead of swift
+# tempurls. (string value)
+{%- if conductor.http_image_subdir is defined %}
+http_image_subdir = {{ conductor.http_image_subdir }}
+{%- else %}
+#http_image_subdir = agent_images
+{%- endif%}
+
# Type of object store endpoint type to be used as a backend
# (string value)
# Possible values: