Merge "Added direct HTTP deploy support" into release/2019.2.0
diff --git a/README.rst b/README.rst
index fbab424..ba17691 100644
--- a/README.rst
+++ b/README.rst
@@ -260,6 +260,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 81394e8..ad4df03 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]
 
@@ -1378,6 +1394,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: