Container Infrastructure Management Service for OpenStack
Go to file
yatin karel d82d8b2420 Get mandatory patch attrs from WSME properties
Attributes which are mandatory (ie, required for object creation) should
not be removable. However, some attributes (such as baymodel.server_type)
are not required for object creation, but should not be removable if they
are set. This commit does the following:

- rename JsonPatchType.mandatory_attrs to non_removable_attrs to better
  describe its meaning,
- change its return type to set-of-strings for faster lookup
- ensure all mandatory attributes on the type being patched are
  included in the set of non-removable attributes,
- add a new field, JsonPatchType._extra_non_removable_attrs, which
  should be a set of attributes that are not required for creation but
  should not be removed if set.

Since the object to be patched does not exist at patch-validation time,
we leave the validation logic in methods of JsonPatchType and
subclasses. This means introspecting the types to be patched.

This patch is copied from ironic [1].
[1] https://review.openstack.org/#/c/240202/9

Change-Id: Ifcfc4e48a05d75b919a33ef463754c199da94a8e
Close-Bug: #1530771
2016-08-23 10:23:19 +05:30
contrib Add openSUSE driver support to Magnum 2016-08-10 17:37:42 +02:00
devstack Merge "Add functional test for k8s ironic" 2016-08-15 10:39:36 +00:00
doc Add Mesos labels and summary for labels 2016-08-17 22:44:27 +00:00
etc/magnum Rename Bay to Cluster in api 2016-08-17 22:24:45 +00:00
install-guide/source Fix some simple mistake 2016-07-28 16:29:27 +08:00
magnum Get mandatory patch attrs from WSME properties 2016-08-23 10:23:19 +05:30
releasenotes Rollback bay on update failure 2016-08-15 17:09:23 +08:00
specs Merge "Fix typos for Magnum" 2016-07-04 03:03:57 +00:00
tools Improve tox.ini to easy developer's life 2015-11-03 17:44:38 +08:00
.coveragerc Improve unit test coverage 2016-06-29 12:49:40 +00:00
.gitignore Add reno to Magnum 2016-04-05 08:45:43 +08:00
.gitreview Update .gitreview for project rename 2015-03-28 00:20:40 +00:00
.mailmap Initial commit from github (squashed) 2014-11-18 09:23:37 -05:00
.testr.conf Remove minion dependency on master 2016-03-04 07:41:12 -05:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:45 +00:00
Dockerfile Fix the docker build image issue 2015-05-18 11:11:25 +08:00
HACKING.rst Add hacking rule for explicit import of _ function 2016-07-29 23:17:06 +05:30
LICENSE Initial commit from github (squashed) 2014-11-18 09:23:37 -05:00
README.rst Fix the representation of REST 2015-09-01 08:40:39 +05:30
babel.cfg Initial commit from github (squashed) 2014-11-18 09:23:37 -05:00
functional_creds.conf.sample Use the latest atomic image name 2016-05-09 13:35:18 +00:00
requirements.txt Updated from global requirements 2016-08-21 05:12:59 +00:00
setup.cfg Fix ironic template 2016-08-09 11:27:55 +02:00
setup.py Updated from global requirements 2015-09-17 12:12:49 +00:00
test-requirements.txt Updated from global requirements 2016-08-21 05:12:59 +00:00
tox.ini Use upper constraints for all jobs in tox.ini 2016-08-17 19:56:58 +05:30

README.rst

Magnum

Magnum is an OpenStack project which offers container orchestration engines for deploying and managing containers as first class resources in OpenStack.

For more information, please refer to the following resources: