Temporary change - do not commit

This commit is contained in:
Felipe Monteiro 2017-07-17 20:46:14 +01:00
parent 03cc29116e
commit f6a58708a4
5 changed files with 24 additions and 25 deletions

View File

@ -21,6 +21,7 @@ from oslo_log import log as logging
from deckhand.control import base as api_base
from deckhand.engine import document_validation
from deckhand import errors as deckhand_errors
from deckhand.objects import documents
LOG = logging.getLogger(__name__)
@ -59,6 +60,11 @@ class DocumentsResource(api_base.BaseResource):
except deckhand_errors.InvalidFormat as e:
return self.return_error(resp, falcon.HTTP_400, message=e)
try:
migration = documents.Document.create()
except Exception:
pass
# Check if a document with the specified name already exists. If so,
# treat this request as an update.
doc_name = doc_validation.doc_name

View File

@ -58,8 +58,8 @@ class Document(API_BASE):
__tablename__ = 'document'
id = sa.Column(sa.String(255), primary_key=True, autoincrement=True)
revision_index = sa.Column(sa.Integer, nullable=False)
document_schema = sa.Column(sa.String(64), nullable=False)
# Represents metadata.name parameter.
instance_key = sa.Column(sa.String(64), nullable=False, unique=True)
metadata = sa.Column(JSONEncodedDict(), nullable=False)
data = sa.Column(JSONEncodedDict(), nullable=False)
document_metadata = sa.Column(JSONEncodedDict(), nullable=False)
document_data = sa.Column(JSONEncodedDict(), nullable=False)

View File

@ -17,7 +17,7 @@ import datetime
from oslo_versionedobjects import base
from oslo_versionedobjects import fields as obj_fields
import Deckhand_provisioner.objects as objects
from deckhand import objects
class DeckhandObjectRegistry(base.VersionedObjectRegistry):

View File

@ -18,16 +18,16 @@
import oslo_versionedobjects.fields as ovo_fields
import deckhand.objects as objects
import deckhand.objects.base as base
import deckhand.objects.fields as fields
from deckhand.db import api_models
from deckhand import objects
from deckhand.objects import base
from deckhand.objects import fields as deckhand_fields
class DocumentPayload(ovo_fields.ObjectField):
SCHEMA = {
'schemaVersion': ('document', 'schemaVersion'),
'kind': ('document', 'uuid'),
'instance_key': ('document', 'uuid'),
'metadata': ('document', 'name'),
'data': ('document', 'hosts')
}
@ -36,10 +36,9 @@ class DocumentPayload(ovo_fields.ObjectField):
VERSION = '1.0'
fields = {
'schemaVersion': fields.StringField(nullable=False),
'kind': fields.StringField(nullable=False),
'metadata': fields.DictOfStringsField(nullable=False),
'data': fields.DictOfStringsField(nullable=False)
'instance_key': ovo_fields.StringField(nullable=False),
'metadata': ovo_fields.DictOfStringsField(nullable=False),
'data': ovo_fields.DictOfStringsField(nullable=False)
}
def __init__(self, document):
@ -54,23 +53,16 @@ class Document(base.DeckhandPersistentObject, base.DeckhandObject):
VERSION = '1.0'
fields = {
'id': ovo_fields.IntegerField(nullable=False, read_only=True),
'blob': ovo_fields.ObjectField('DocumentPayload', nullable=False),
'name': ovo_fields.StringField(nullable=True),
'revision_index': ovo_fields.NonNegativeIntegerField(nullable=False),
'status': fields.DocumentField(nullable=False)
'status': ovo_fields.StringField(nullable=False)
}
def __init__(self, **kwargs):
super(Document, self).__init__(**kwargs)
@property
def name(self):
return self.name
def create(self):
updates = self.obj_get_changes()
@property
def revision(self):
return self.revision_index
@property
def status(self):
return self.status
#api_models.Document()

View File

@ -13,5 +13,6 @@ oslo.db>=4.21.1 # Apache-2.0
oslo.log>=3.22.0 # Apache-2.0
oslo.serialization>=1.10.0 # Apache-2.0
oslo.utils>=3.20.0 # Apache-2.0
oslo.versionedobjects>=1.23.0
oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0
python-barbicanclient>=4.0.0 # Apache-2.0