summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.zuul.yaml8
-rw-r--r--playbooks/ceph/glance-copy-policy.yaml15
-rw-r--r--playbooks/ceph/glance-setup.yaml39
3 files changed, 46 insertions, 16 deletions
diff --git a/.zuul.yaml b/.zuul.yaml
index dbc3a01bf9..073483b750 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -594,8 +594,11 @@
required-projects:
- openstack/nova
pre-run:
- - playbooks/ceph/glance-copy-policy.yaml
+ - playbooks/ceph/glance-setup.yaml
vars:
+ # NOTE(danms): Increase our swap size since we're dealing with
+ # larger images and trigger OOMs.
+ configure_swap_size: 4096
# NOTE(danms): These tests create an empty non-raw image, which nova
# will refuse because we set never_download_image_if_on_rbd in this job.
# Just skip these tests for this case.
@@ -603,6 +606,7 @@
GLANCE_STANDALONE: True
GLANCE_USE_IMPORT_WORKFLOW: True
DEVSTACK_PARALLEL: True
+ GLANCE_LIMIT_IMAGE_SIZE_TOTAL: 2048
# NOTE(danms): This job is pretty heavy as it is, so we disable some
# services that are not relevant to the nova-glance-ceph scenario
# that this job is intended to validate.
@@ -617,6 +621,8 @@
$TEMPEST_CONFIG:
image-feature-enabled:
manage_locations: true
+ volume:
+ volume_size: 1
post-config:
$NOVA_CONF:
libvirt:
diff --git a/playbooks/ceph/glance-copy-policy.yaml b/playbooks/ceph/glance-copy-policy.yaml
deleted file mode 100644
index 41654a103d..0000000000
--- a/playbooks/ceph/glance-copy-policy.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-- hosts: controller
- tasks:
- - name: create local.sh
- become: yes
- blockinfile:
- path: /opt/stack/devstack/local.sh
- create: True
- mode: 0777
- block: |
- # This policy is default to admin only in glance. Override
- # here to allow everyone and every type of image (private
- # or public) to copy. This way we will be able to test copy
- # image via non-admin as well as on private images.
- echo $'"copy_image": ""' >> /etc/glance/policy.yaml
- sudo systemctl restart 'devstack@g-*'
diff --git a/playbooks/ceph/glance-setup.yaml b/playbooks/ceph/glance-setup.yaml
new file mode 100644
index 0000000000..5792c72237
--- /dev/null
+++ b/playbooks/ceph/glance-setup.yaml
@@ -0,0 +1,39 @@
+- hosts: controller
+ tasks:
+ - name: create local.sh
+ become: yes
+ blockinfile:
+ path: /opt/stack/devstack/local.sh
+ create: True
+ mode: 0777
+ block: |
+ # Delete all existing images
+ source /opt/stack/devstack/openrc admin
+ for img in $(openstack image list -f value -c ID); do
+ openstack image show $img
+ echo Deleting $img
+ openstack image delete $img
+ done
+
+ # Inflate our cirros image to 1G raw
+ arch=$(uname -m)
+ image=$(ls /opt/stack/devstack/files/cirros*${arch}-disk.img | tail -n1)
+ rawimage="/opt/stack/devstack/files/cirros-raw.img"
+ qemu-img convert -O raw "$image" "$rawimage"
+ truncate --size $((950 << 20)) "$rawimage"
+
+ # Upload it to glance as the sole image available so tempest
+ # config will find it. Wait ten seconds after doing this
+ # before the restart below.
+ openstack image create --container-format bare --disk-format raw --public "cirros-raw" < "$rawimage"
+ sleep 10
+ openstack image list
+ openstack image show cirros-raw
+
+ # This policy is default to admin only in glance. Override
+ # here to allow everyone and every type of image (private
+ # or public) to copy. This way we will be able to test copy
+ # image via non-admin as well as on private images.
+ echo $'"copy_image": ""' >> /etc/glance/policy.yaml
+ sudo systemctl restart 'devstack@g-*'
+