Sahara is not passing region parameter to the Swift client
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mirantis OpenStack |
Fix Released
|
High
|
Alexey Stupnikov |
Bug Description
Detailed bug description:
In a multi-region environment Sahara does not pass the os_region_name parameter to the swiftclient
https:/
Steps to reproduce:
1) Setup MOS with Swift and Sahara enabled in 2 regions
2) Create a PIG job template referencing the main script uploaded to Swift in each region.
Use different pig script names
3) Launch a job execution
Expected results:
In both region job completes
Actual result:
In one of the regions (in one which is not the default) the job fails due to Sahara trying to get
the script from the wrong region
Reproducibility:
always
Workaround:
N/A
Impact:
Cannot run jobs in the non-default region
Description of the environment:
Multiregion
Changed in mos: | |
milestone: | 9.x-updates → 9.2-mu-4 |
Changed in mos: | |
assignee: | nobody → MOS Maintenance (mos-maintenance) |
status: | New → Confirmed |
Changed in mos: | |
assignee: | MOS Maintenance (mos-maintenance) → Alexey Stupnikov (astupnikov) |
Changed in mos: | |
milestone: | 9.2-mu-4 → 9.2-mu-3 |
I have few remarks about this bug. IMO it is not as simple as it looks like. It is easy to change add something like https:/ /github. com/openstack/ solum/blob/ master/ contrib/ lp-cedarish/ docker/ swift-handler. py#L46 to sahara's code, but this will not fix original issue.
First of all, I would like to say that swift has its own definition of region: regions are used to store replicas in different geographical locations [1]. Swift regions configuration is stored in swift ring.
On the other hand, openstack looks at a region as a separate openstack deployments with some common services (like Horizon and Keystone) [2]
It is essential to note that it is impossible to configure an openstack region for swift with fuel, since we use the region only to describe keystone's connection. [3]
IMO this bug is kind of incomplete, since there is no information about the way the customer configured a region for swift. I will ask Nikita to comment on it.
[1] https:/ /www.swiftstack .com/docs/ admin/cluster_ management/ regions. html /docs.openstack .org/arch- design/ arch-requiremen ts/arch- requirements- ha.html /github. com/fuel- infra/puppet- swift/blob/ 8.2.0/manifests /keystone/ auth.pp
[2] https:/
[3] https:/