Ship the default image schema in the client

Now that we have stable branches for clients, it's easier to keep track
of the current default image's schema in Glance and update it
respectively. This patch adds the current image schema, including the
schema-properties.

One good reason to do this is to be able to react when a running Glance
instance is not around to be introspected. It's really unfortunate that
things like help text can't be rendered when there image schema is not
available in the system.

We could keep the schema in a json file but rather than shipping data
files with glanceclient we can just have it in the python modules.

Change-Id: I9b8cc1d18d6717ccf991fb8149ab13c06d653ee4
Closes-bug: #1481729
This commit is contained in:
Flavio Percoco
2015-08-06 00:19:48 +10:00
parent 6d28b513e3
commit 3949e0e918
3 changed files with 233 additions and 0 deletions
+3
View File
@@ -19,6 +19,7 @@ from glanceclient.common import progressbar
from glanceclient.common import utils
from glanceclient import exc
from glanceclient.v2 import image_members
from glanceclient.v2 import image_schema
from glanceclient.v2 import images
from glanceclient.v2 import tasks
import json
@@ -36,6 +37,8 @@ def get_image_schema():
with open(schema_path, "r") as f:
schema_raw = f.read()
IMAGE_SCHEMA = json.loads(schema_raw)
else:
return image_schema._BASE_SCHEMA
return IMAGE_SCHEMA