Bug 1712001 - [RFE] Distributed image import [NEEDINFO]
Summary: [RFE] Distributed image import
Keywords:
Status: ON_QA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-glance
Version: 16.0 (Train)
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: z2
: ---
Assignee: Erno Kuvaja
QA Contact: msava
Jenny-Anne Lynch
URL:
Whiteboard:
: 1654408 (view as bug list)
Depends On: 2174868 2174876 2174885
Blocks: 1706910 1466391 1934989
TreeView+ depends on / blocked
 
Reported: 2019-05-20 15:14 UTC by Erno Kuvaja
Modified: 2023-08-16 10:33 UTC (History)
17 users (show)

Fixed In Version: openstack-glance-22.1.0-0.20210917121835.8499efd.el8ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:
astillma: needinfo? (ekuvaja)


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 769976 0 None MERGED Distributed image import 2021-03-18 10:14:11 UTC
OpenStack gerrit 770456 0 None MERGED Move some helper functions to base class 2021-03-23 05:50:46 UTC
OpenStack gerrit 770646 0 None MERGED Fix a typo in functional helper class 2021-03-23 05:50:46 UTC
OpenStack gerrit 770682 0 None MERGED Add get_ksa_client() helper 2021-03-23 05:50:46 UTC
OpenStack gerrit 778072 0 None MERGED Add administrator docs for distributed-import 2021-03-23 05:50:46 UTC
Red Hat Issue Tracker OSP-446 0 None None None 2021-11-24 21:33:54 UTC

Description Erno Kuvaja 2019-05-20 15:14:05 UTC
As glance-api service is fully independent and stateless the different nodes do not know nor care if they are operating alone or in a cluster. To address some of the distributed models we need to change that and build understanding between the nodes that there is others in same environments that might have different needs or resources available.

Main concerns to address at the beginning are:

0) Cache management
   - For improved usability we need to move some of the caching functionality from node-local tooling to the API. To be able to manage pre-caching and listing cached images in distributed or HA-environments the glance-api nodes needs to be able to talk to eachother so that the commands does not need to be targeted to individual nodes behind loadbalancers.

1) Image Import
   - Currently if "glance-local" import method is availble the glance-api nodes needs to share common filesystem or user needs to (be able) target individual nodes so they can issue the import call to the node that has the image staged. Once the api nodes can communicate with eachother the work can be done by node that has access to the data regardless if it received the original Rest API call.

2) Copying Image data between image stores
   - The call to copy a image to another store in the environment might not be possible from the node that receives the Rest API call. To implement asynchronous copy operation we need, yet again, be able to have the nodes communicating with each other to ensure that the work can be done by node that has access to both, source and destination.

Implementation:

Utilizing RabbitMQ as that is already deployment dependency and is proven technology for such purpose. Unfortunately oslo_messaging does not provide all needed Rabbit features to utilize it in this work so we will need to work directly with available clients and build the boilerplating orselves.

Comment 9 Pranali Deore 2021-05-20 05:33:28 UTC
*** Bug 1654408 has been marked as a duplicate of this bug. ***

Comment 11 Cyril Roelandt 2021-11-24 21:32:36 UTC
The patches were included in upstream/wallaby, so they are available in the latest Glance downstream RPM.

Comment 24 Lukas Svaty 2023-06-16 08:13:29 UTC
Bulk moving target milestone to GA after the release of Beta on 14th June '23.

Comment 29 Lon Hohberger 2023-08-16 10:33:42 UTC
According to our records, this should be resolved by openstack-glance-22.1.2-1.20230310130836.883fc8a.el9ost.  This build is available now.


Note You need to log in before you can comment on or make changes to this bug.