Skip to content

Scope Geo replication details progress bar popup target by site ID

Catalin Irimie requested to merge cat-geo-progressbar-with-multiple-targets into master

What does this MR do and why?

In order to prevent conflicts when there are multiple Geo sites, this adds the node ID to the scoped target for the popover to the replication details progressbar.

Screenshots or screen recordings

from vue-dev-tools, before:

image

after:

image

How to set up and validate locally

Use the following patch:

diff --git a/ee/spec/features/geo_node_spec.rb b/ee/spec/features/geo_node_spec.rb
index c5b1ff0d25e..7623f4e99b8 100644
--- a/ee/spec/features/geo_node_spec.rb
+++ b/ee/spec/features/geo_node_spec.rb
@@ -8,6 +8,7 @@
   let_it_be(:user) { create(:user) }
   let_it_be(:geo_primary) { create(:geo_node, :primary) }
   let_it_be(:geo_secondary) { create(:geo_node) }
+  let_it_be(:geo_new_secondary) { create(:geo_node) }
 
   context 'Geo Secondary Node' do
     let(:project) { create(:project) }
@@ -54,6 +55,7 @@
 
         wait_for_requests
 
+        live_debug
         expected_url = File.join(geo_secondary.url, "/admin/geo/sites/#{geo_secondary.id}/replication/lfs_objects")
 
         expect(all('.geo-node-details-grid-columns').last).to have_link('Open replications', href: expected_url)

Then:

WEBDRIVER_HEADLESS=false bin/rspec ee/spec/features/geo_node_spec.rb:58

And you should be able to reproduce (before this branch) by trying to mouseover a replication bar in the last Geo site - as described in #356566 (closed); it should work if checked out on this branch.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Catalin Irimie

Merge request reports