There are three different ways to upload custom images.
You need to have the OpenStack-CLI installed and configured.
After sourcing the openrc.sh you can easily upload your own image and use it right after, like this:
glance --os-image-api-version 1 image-create --progress --is-public False --disk-format=qcow2 \
--container-format=bare --property architecture=x86_64 --name="Debian Stretch" \
--location https://cdimage.debian.org/cdimage/openstack/current-9/debian-9-openstack-amd64.qcow2
It is also possible to upload images with heat.
An example can look like this:
heat_template_version: 2016-04-08
description: Simple template to upload an image
resources:
glance_image:
type: OS::Glance::Image
properties:
container_format: bare
disk_format: qcow2
name: Debian Stretch
location: https://cdimage.debian.org/cdimage/openstack/current-9/debian-9-openstack-amd64.qcow2
Further information can be found here.
This overview contains a list of standard images sources.