Glance MuranoPackage Artifact
Adds an artifact type for Glance V3 to define murano package, its specific properties and binary objects (full package, logo and a ui definition). As a temporary workaround to simplify search a 'keywords' field is added to contain display name and tags word-by-word, so any of them may be used to locate a package. This will be inefficient in terms of DB performance, but at least not worse then the legacy solution. Implements-blueprint: artifact-repository-support Change-Id: I11efa3758cea5eb459a101d62c93355f34bb42f9
This commit is contained in:
parent
068831ccd8
commit
5f94bd2fc3
|
@ -0,0 +1,17 @@
|
||||||
|
# Copyright (c) 2015 Mirantis, 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.
|
||||||
|
|
||||||
|
from muranoartifact.v1 import package
|
||||||
|
|
||||||
|
VERSIONS = [package.MuranoPackage]
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Copyright (c) 2015 Mirantis, 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.
|
||||||
|
|
||||||
|
from glance.common.artifacts import definitions
|
||||||
|
|
||||||
|
|
||||||
|
class MuranoPackage(definitions.ArtifactType):
|
||||||
|
__endpoint__ = 'murano'
|
||||||
|
|
||||||
|
type = definitions.String(allowed_values=['Application', 'Library'],
|
||||||
|
required=True,
|
||||||
|
mutable=False)
|
||||||
|
|
||||||
|
author = definitions.String(required=False, mutable=False)
|
||||||
|
display_name = definitions.String(required=True, mutable=True)
|
||||||
|
enabled = definitions.Boolean(default=True)
|
||||||
|
|
||||||
|
categories = definitions.Array(default=[], mutable=True)
|
||||||
|
class_definitions = definitions.Array(unique=True, default=[],
|
||||||
|
mutable=False)
|
||||||
|
inherits = definitions.Dict(default={}, properties=definitions.Array(),
|
||||||
|
mutable=False)
|
||||||
|
keywords = definitions.Array(default=[], mutable=True)
|
||||||
|
logo = definitions.BinaryObject()
|
||||||
|
archive = definitions.BinaryObject()
|
||||||
|
ui_definition = definitions.BinaryObject()
|
|
@ -0,0 +1,25 @@
|
||||||
|
[metadata]
|
||||||
|
name = murano_artifact_plugin
|
||||||
|
version = 1.0
|
||||||
|
description = An artifact plugin for murano packages
|
||||||
|
author = Alexander Tivelkov
|
||||||
|
author-email = ativelkov@mirantis.com
|
||||||
|
classifier =
|
||||||
|
Development Status :: 3 - Alpha
|
||||||
|
License :: OSI Approved :: Apache Software License
|
||||||
|
Programming Language :: Python
|
||||||
|
Programming Language :: Python :: 2
|
||||||
|
Programming Language :: Python :: 2.7
|
||||||
|
Programming Language :: Python :: 3
|
||||||
|
Programming Language :: Python :: 3.2
|
||||||
|
Programming Language :: Python :: 3.3
|
||||||
|
Intended Audience :: Developers
|
||||||
|
Environment :: Console
|
||||||
|
|
||||||
|
[global]
|
||||||
|
setup-hooks =
|
||||||
|
pbr.hooks.setup_hook
|
||||||
|
|
||||||
|
[entry_points]
|
||||||
|
glance.artifacts.types =
|
||||||
|
MuranoPackage = muranoartifact:VERSIONS
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Copyright 2011-2012 OpenStack Foundation
|
||||||
|
# All Rights Reserved.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
import setuptools
|
||||||
|
|
||||||
|
# all other params will be taken from setup.cfg
|
||||||
|
setuptools.setup(packages=setuptools.find_packages(),
|
||||||
|
setup_requires=['pbr'], pbr=True)
|
Loading…
Reference in New Issue