Update git submodules

* Update placement from branch 'master'
  - Update the incorrect url
    
    Change-Id: Ifaa7f48e99fef1145f0fb46a4f35f2d55e0124f4
    Closes-Bug: #1810490
    
  - Merge "Correct link rest api history"
  - Merge "Use os-resource-classes in placement"
  - Correct link rest api history
    
    The link was to nova, to documents that are no longer there, so
    update to the new location. A change will also be made in nova to
    add a redirect.
    
    Change-Id: Ibfe016f25a29b6810ea09c5d03a01dbf3c53371f
    
  - Use os-resource-classes in placement
    
    os-resource-classes is a python library in which the standardized
    resource classes are maintained. It is done as a library so that
    multiple services (e.g., placement and nova) can use the same stuff.
    
    It is used and managed here in the same way the os-traits library is
    used: At system start up we compare the contents of the
    resource_classes table with the classes in the library and add any
    that are missing. CUSTOM resource classes are added with a high id
    (and always were, even before this change). Because we need to
    insert standard resource classes with an id of zero, so we need to
    protect against mysql thinking 0 on a primary key id is "generate
    the next one". We don't need a similar thing in os-traits because
    we don't care about the ids there. And we don't need to guard
    against postgresql or sqlite at this point because they do not have
    the same behavior.
    
    The resource_class_cache of id to string and string to id mappings
    continues to be maintained, but now it looks solely in the database.
    As part of confirming that code, it was discovered that the reader
    context manager was being entered twice, this has been fixed.
    
    Locking around every access to the resource class cache is fairly
    expensive (changes the perfload job from <2s to >5s). Prior to this
    change we would only go to cache if the resource classes in the
    query were not standards. Now we always look at the cache so rather
    than locking around reads and writes we only lock around writes.
    This should be okay, because as long as we do a get (intead of the
    previous two separate accesses) on the cache's dict that operation
    is safe and if it misses (because something else destroyed the
    cache) the fall through is to refresh the cache, which still has the
    lock.
    
    While updating the database fixture to ensure that the resource
    classes are synched properly, it was discovered that addCleanup was
    being called twice with the same args. That has been fixed.
    
    In objects/resource_provider.py the ResourceClass field is changed to a
    StringField. The field definition was in rc_field and we simply don't
    need it anymore. This is satisfactory because we don't do any validation
    on the field internal to the objects (but do elsewhere).
    
    Based on initial feedback, 'os_resource_classes' is imported as 'orc'
    throughout to avoid unwieldy length.
    
    Change-Id: Ib7e8081519c3b310cd526284db28c623c8410fbe
This commit is contained in:
zhang.lei 2019-01-04 08:20:48 +00:00 committed by Gerrit Code Review
parent cbf283cfe5
commit 8a4605b68c
1 changed files with 1 additions and 1 deletions

@ -1 +1 @@
Subproject commit 3d08aaff7f39b32bb067782c52fa2d3e68f0adf2
Subproject commit 289b44f5b4e458ccc665c3711ffb1d988bd2f0e6