ce3a2dae92
Image-synchronization syncs multiple images from one region to multiple target regions. Currently the supported image disk_formats are Qcow2 and AMI. If user triggers a request to sync AMI format image then Kingbird syncs the dependent AKI and ARI images as well. -Syncs the respective image's image-metadata as well. -Verification of Dependent images is handled by glance_adapter. -Modified sync_manager to keypair_sync_manager and made it an independent entity. -Created an independent Image Sync-manager which syncs images in multiple target regions. Added Test-cases for the same. Depends-on: I316ff7e79afb0ea092eec2a4bf32a78c609198ab Implements: blueprint image-synchronization Change-Id: If207f803b67b5f5702117d377883b57101802c42 |
||
---|---|---|
.. | ||
README.rst | ||
__init__.py | ||
image_sync_manager.py | ||
keypair_sync_manager.py | ||
kingbird_lock.py | ||
quota_manager.py | ||
scheduler.py | ||
service.py |
README.rst
Service
Kingbird Service has responsibility for:
Monitoring the job/smaller jobs status, and return the result to Kingbird API if needed.
Generate task to purge time-out jobs from Kingbird Database
Multiple Kingbird API could run in parallel, and also can work in multi-worker mode.
Multiple Kingbird Engine will be designed and run in stateless mode, persistent data will be accessed (read and write) from the Kingbird Database through the DAL module.
- service.py:
-
run KB service in multi-worker mode, and establish RPC server
- engine_cfg.py:
-
configuration and initialization for Engine service
- quota_manager.py
-
Manages all the quota related activies such as Periodic Quota Sync, One Demand Quota Sync, Get Total Usage for a Project, Read Kingbird global limit from DB/Conf file etc..
Quota sync happens based on below formula: Global_remaining_limit = Kingbird_global_limit(from DB/Conf) - Su(sum of all usages from all regions) Region_new_limit = Global_remaining_limit + resource_usage_in_that_region.
Reference link: https://etherpad.opnfv.org/p/centralized_quota_management
On Demand Quota Sync: Creates threads for each region and syncs the limits for each quota concurrently.
Periodic Quota Sync: Creates threads for each Project and calls quota sync for project(On Demand Quota sync) for syncing project.
Caches OpenStack region specific clients so reduced traffic.