Merge "Adding detailed alt text to images for accessibility"
This commit is contained in:
commit
4742773a58
@ -38,7 +38,28 @@ but are not extensively tested upstream.
|
||||
.. figure:: /images/architecture.png
|
||||
:figwidth: 100%
|
||||
:align: center
|
||||
:alt: OpenStack Glance Architecture
|
||||
:alt: OpenStack Glance Architecture Diagram.
|
||||
Consists of 5 main blocks: "Client" "Glance" "Keystone"
|
||||
"Glance Store" and "Supported Storages".
|
||||
Glance block exposes a REST API. The REST API makes use of the
|
||||
AuthZ Middleware and a Glance Domain Controller, which contains
|
||||
Auth, Notifier, Policy, Quota, Location and DB. The Glance Domain
|
||||
Controller makes use of the Glance Store (which is external to the
|
||||
Glance block), and (still within the Glance block) it makes use of
|
||||
the Database Abstraction Layer, and (optionally) the Registry Layer.
|
||||
The Registry Layer makes use of the Database Abstraction Layer. The
|
||||
Database abstraction layer exclusively makes use of the Glance
|
||||
Database.
|
||||
The Client block makes use of the Rest API (which exists in the
|
||||
Glance block) and the Keystone block.
|
||||
The Glance Store block contains AuthN which makes use of the
|
||||
Keystone block, and it also contains Glance Store Drivers, which
|
||||
exclusively makes use of each of the storage systems in the
|
||||
Supported Storages block. Within the Supported Storages block,
|
||||
there exist the following storage systems, none of which make use
|
||||
of anything else: Filesystem, Swift, S3, Ceph, "ellipses", Sheepdog.
|
||||
A complete list is given by the currently available drivers in
|
||||
glance_store/_drivers.
|
||||
|
||||
.. centered:: Image 1. OpenStack Glance Architecture
|
||||
|
||||
|
@ -184,7 +184,63 @@ of an *Image* object.
|
||||
.. figure:: /images/glance_db.png
|
||||
:figwidth: 100%
|
||||
:align: center
|
||||
:alt: Glance images DB schema
|
||||
:alt: The glance database schema is depicted by 5 tables.
|
||||
The table named Images has the following columns:
|
||||
id: varchar(36);
|
||||
name: varchar(255), nullable;
|
||||
size: bigint(20), nullable;
|
||||
status: varchar(30);
|
||||
is_public: tinyint(1);
|
||||
created_at: datetime;
|
||||
updated_at: datetime, nullable;
|
||||
deleted_at: datetime, nullable;
|
||||
deleted: tinyint(1);
|
||||
disk_format: varchar(20), nullable;
|
||||
container_format: varchar(20), nullable;
|
||||
checksum: varchar(32), nullable;
|
||||
owner: varchar(255), nullable
|
||||
min_disk: int(11);
|
||||
min_ram: int(11);
|
||||
protected: tinyint(1); and
|
||||
virtual_size: bigint(20), nullable;.
|
||||
The table named image_locations has the following columns:
|
||||
id: int(11), primary;
|
||||
image_id: varchar(36), refers to column named id in table Images;
|
||||
value: text;
|
||||
created_at: datetime;
|
||||
updated_at: datetime, nullable;
|
||||
deleted_at: datetime, nullable;
|
||||
deleted: tinyint(1);
|
||||
meta_data: text, nullable; and
|
||||
status: varchar(30);.
|
||||
The table named image_members has the following columns:
|
||||
id: int(11), primary;
|
||||
image_id: varchar(36), refers to column named id in table Images;
|
||||
member: varchar(255);
|
||||
can_share: tinyint(1);
|
||||
created_at: datetime;
|
||||
updated_at: datetime, nullable;
|
||||
deleted_at: datetime, nullable;
|
||||
deleted: tinyint(1); and
|
||||
status: varchar(20;.
|
||||
The table named image_tags has the following columns:
|
||||
id: int(11), primary;
|
||||
image_id: varchar(36), refers to column named id in table Images;
|
||||
value: varchar(255);
|
||||
created_at: datetime;
|
||||
updated_at: datetime, nullable;
|
||||
deleted_at: datetime, nullable; and
|
||||
deleted: tinyint(1);.
|
||||
The table named image_properties has the following columns:
|
||||
id: int(11), primary;
|
||||
image_id: varchar(36), refers to column named id in table Images;
|
||||
name: varchar(255);
|
||||
value: text, nullable;
|
||||
created_at: datetime;
|
||||
updated_at: datetime, nullable;
|
||||
deleted_at: datetime, nullable; and
|
||||
deleted: tinyint(1);.
|
||||
|
||||
|
||||
.. centered:: Image 1. Glance images DB schema
|
||||
|
||||
|
@ -24,8 +24,8 @@ Gateway and basic layers
|
||||
The domain model contains the following layers:
|
||||
|
||||
#. :ref:`authorization`
|
||||
#. :ref:`notifier`
|
||||
#. :ref:`property`
|
||||
#. :ref:`notifier`
|
||||
#. :ref:`policy`
|
||||
#. :ref:`quota`
|
||||
#. :ref:`location`
|
||||
@ -37,7 +37,27 @@ their locations:
|
||||
.. figure:: /images/glance_layers.png
|
||||
:figwidth: 100%
|
||||
:align: center
|
||||
:alt: Image domain layers
|
||||
:alt: From top to bottom, the stack consists of the Router and REST API,
|
||||
which are above the domain implementation. The Auth, Property
|
||||
Protection (optional), Notifier, Policy, Quota,
|
||||
Location, and Database represent the domain implementation.
|
||||
The Registry (optional) and Data Access sit below the domain
|
||||
implementation. Further, the Client block calls the Router;
|
||||
the Location block calls the Glance Store, and the Data Access
|
||||
layer calls the DBMS.
|
||||
Additional information conveyed in the image is the location in
|
||||
the Glance code of the various components:
|
||||
Router: api/v2/router.py
|
||||
REST API: api/v2/*
|
||||
Auth: api/authorization.py
|
||||
Property Protection: api/property_protections.py
|
||||
Notifier: notifier.py
|
||||
Policy: api/policy.py
|
||||
Quota: quota/__init__.py
|
||||
Location: location.py
|
||||
DB: db/__init__.py
|
||||
Registry: registry/v2/*
|
||||
Data Access: db/sqlalchemy/api.py
|
||||
|
||||
.. _authorization:
|
||||
|
||||
|
@ -65,7 +65,41 @@ Images in Glance can be in one the following statuses:
|
||||
.. figure:: /images/image_status_transition.png
|
||||
:figwidth: 100%
|
||||
:align: center
|
||||
:alt: Image status transition
|
||||
:alt: The states consist of:
|
||||
"queued", "saving", "active", "pending_delete", "deactivated",
|
||||
"killed", and "deleted".
|
||||
The transitions consist of:
|
||||
An initial transition to the "queued" state called "create image".
|
||||
A transition from the "queued" state to the "active" state
|
||||
called "add location".
|
||||
A transition from the "queued" state to the "saving" state
|
||||
called "upload".
|
||||
A transition from the "queued" state to the "deleted" state
|
||||
called "delete".
|
||||
A transition from the "saving" state to the "active" state
|
||||
called "upload succeeded".
|
||||
A transition from the "saving" state to the "deleted" state
|
||||
called "delete".
|
||||
A transition from the "saving" state to the "killed" state
|
||||
called "[v1] upload fail".
|
||||
A transition from the "saving" state to the "queued" state
|
||||
called "[v2] upload fail".
|
||||
A transition from the "active" state to the "deleted" state
|
||||
called "delete".
|
||||
A transition from the "active" state to the "pending_delete" state
|
||||
called "delayed delete".
|
||||
A transition from the "active" state to the "deactivated" state
|
||||
called "deactivate".
|
||||
A transition from the "killed" state to the "deleted" state
|
||||
called "deleted".
|
||||
A transition from the "pending_delete" state to the "deleted" state
|
||||
called "after scrub time".
|
||||
A transition from the "deactivated" state to the "deleted" state
|
||||
called "delete".
|
||||
A transition from the "deactivated" state to the "active" state
|
||||
called "reactivate".
|
||||
There are no transitions out of the "deleted" state.
|
||||
|
||||
|
||||
This is a representation of how the image move from one status to the next.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user