From b5872c90327a00256e064a80482124a8bdce5d42 Mon Sep 17 00:00:00 2001
From: Julia Kreger <juliaashleykreger@gmail.com>
Date: Mon, 19 Jul 2021 10:26:17 -0700
Subject: [PATCH] Set glance limit for baremetal friendly images

The devstack default limit enforcement for glance defaults
to 1GB, and unfortunately this is too small for many to use
larger images such as centos which includes hardware firmware
images for execution on baremetal where drivers need the vendor
blobs in order to load/run.

Sets ironic-base to 5GB, and updates examples accordingly.

Depends-On: https://review.opendev.org/c/openstack/devstack/+/801309
Change-Id: I41294eb571d07a270a69e5b816cdbad530749a94
---
 doc/source/contributor/dev-quickstart.rst                | 6 ++++++
 doc/source/contributor/ironic-boot-from-volume.rst       | 3 +++
 doc/source/contributor/ironic-multitenant-networking.rst | 3 +++
 zuul.d/ironic-jobs.yaml                                  | 4 ++++
 4 files changed, 16 insertions(+)

diff --git a/doc/source/contributor/dev-quickstart.rst b/doc/source/contributor/dev-quickstart.rst
index f3f452f4cc..3fe03f02be 100644
--- a/doc/source/contributor/dev-quickstart.rst
+++ b/doc/source/contributor/dev-quickstart.rst
@@ -455,6 +455,9 @@ hardware type by default::
     SERVICE_PASSWORD=password
     SERVICE_TOKEN=password
 
+    # Set glance's default limit to be baremetal image friendly
+    GLANCE_LIMIT_IMAGE_SIZE_TOTAL=5000
+
     # Enable Ironic plugin
     enable_plugin ironic https://opendev.org/openstack/ironic
 
@@ -539,6 +542,9 @@ Ironic will have enabled the ``direct`` :doc:`deploy interface
     SWIFT_HASH=password
     SWIFT_TEMPURL_KEY=password
 
+    # Set glance's default limit to be baremetal image friendly
+    GLANCE_LIMIT_IMAGE_SIZE_TOTAL=5000
+
     # Enable Ironic plugin
     enable_plugin ironic https://opendev.org/openstack/ironic
 
diff --git a/doc/source/contributor/ironic-boot-from-volume.rst b/doc/source/contributor/ironic-boot-from-volume.rst
index 3594896238..fc3fd1c2bb 100644
--- a/doc/source/contributor/ironic-boot-from-volume.rst
+++ b/doc/source/contributor/ironic-boot-from-volume.rst
@@ -33,6 +33,9 @@ description for DevStack is at :ref:`deploy_devstack`.
     SWIFT_HASH=password
     SWIFT_TEMPURL_KEY=password
 
+    # Set glance's default limit to be baremetal image friendly
+    GLANCE_LIMIT_IMAGE_SIZE_TOTAL=5000
+
     # Enable Neutron which is required by Ironic and disable nova-network.
     disable_service n-net
     disable_service n-novnc
diff --git a/doc/source/contributor/ironic-multitenant-networking.rst b/doc/source/contributor/ironic-multitenant-networking.rst
index 36d4125e9b..5b4b1db285 100644
--- a/doc/source/contributor/ironic-multitenant-networking.rst
+++ b/doc/source/contributor/ironic-multitenant-networking.rst
@@ -80,6 +80,9 @@ configured in Neutron.
     # Disable Tempest
     disable_service tempest
 
+    # Set glance's default limit to be baremetal image friendly
+    GLANCE_LIMIT_IMAGE_SIZE_TOTAL=5000
+
     # Swift temp URL's are required for the direct deploy interface.
     SWIFT_ENABLE_TEMPURLS=True
 
diff --git a/zuul.d/ironic-jobs.yaml b/zuul.d/ironic-jobs.yaml
index 56f2301e61..03c8adaf5c 100644
--- a/zuul.d/ironic-jobs.yaml
+++ b/zuul.d/ironic-jobs.yaml
@@ -56,6 +56,10 @@
         Q_ML2_TENANT_NETWORK_TYPE: vxlan
         Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
         SERVICE_TIMEOUT: 90
+        # NOTE(TheJulia): Devstack default glance limit is 1GB, we need
+        # something more like 5GB for baremetal jobs due to image sizes
+        # with firmware.
+        GLANCE_LIMIT_IMAGE_SIZE_TOTAL: 5000
       devstack_plugins:
         ironic: https://opendev.org/openstack/ironic
       tempest_plugins: