openstack-ansible-os_glance/tests/test-glance-functional.yml
Jesse Pretorius 1416013cd4 Allow deployment without glance-registry
The glance v1 API is deprecated and intended to be removed
from the glance code within the Queens or Rocky cycles.

When using the glance v2 API the glance-registry service is
optional, and the intention is to remove the glance-registry
service in the S cycle. The glance-registry service is required
when using the v1 API though.

Furthermore, when using the glance-registry service it is not
possible to execute a rolling upgrade without losing API
transactions.

Given the above information, this patch enables the deployment
of glance with only the v2 API enabled, and without the
glance-registry service. It adds a per-commit test to validate
that this configuration works.

This patch also corrects a previous misconfiguration which
enabled the v2 registry service, but did not set the data_api
correctly for the API service to inform it that the registry
was operating.

The glance_enable_v1_registry variable is also removed as it
is meaningless. The v1 API *requires* the registry to be
enabled, so we just enable it if glance_enable_v1_api is
enabled.

Change-Id: Ie95daed286798d139f0a35ffdd2a4dd1cdda6ff9
2017-11-20 12:48:02 +00:00

63 lines
1.8 KiB
YAML

---
# Copyright 2015, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Playbook for testing glance
hosts: glance_all
user: root
gather_facts: true
tasks:
# Packages need to be installed outside
# of venv to be usable by Ansible
- name: Install testing pip packages
pip:
name: "shade"
- name: Check the glance-api
uri:
url: "http://localhost:9292"
status_code: 300
- name: Check the glance-registry
uri:
url: "http://localhost:9191"
status_code: 401
when:
- (glance_enable_v1_api | default(True)) | bool or (glance_enable_v2_registry | default(True)) | bool
- name: Download the Cirros image
get_url:
url: "http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-uec.tar.gz"
dest: "/var/tmp/cirros.tar.gz"
- name: Upload the Cirros image
os_image:
cloud: default
endpoint_type: internal
validate_certs: "{{ keystone_service_internaluri_insecure | ternary(false, true) }}"
name: cirros
filename: "/var/tmp/cirros.tar.gz"
container_format: bare
disk_format: qcow2
is_public: True
register: cirros_image_create
until: cirros_image_create | success
retries: 5
delay: 15
vars_files:
- common/test-vars.yml