Import groups from another instance of Gitlab fails for instance with relative url
Summary
Bulk group import will fail when connecting gitlab instance with relative url configuration
Steps to reproduce
- Open
Import Groupwindow - Use gitlab instance with relative url configuration for
GitLab source URL - Connect instance
What is the current bug behavior?
Status page returns no projects to import
What is the expected correct behavior?
Status page should return projects to import or at least some error message which would indicate that it failed retrieving groups and not that there are no groups to import
Relevant logs and/or screenshots
{"error":{"message":"Unable to connect to server: Failed to open TCP connection to 127.0.0.1:52591 (Connection refused - connect(2) for \"127.0.0.1\" port 52591)","redirect":"/relative/groups/new"}}
{"severity":"ERROR","time":"2021-05-07T10:28:37.270Z","correlation_id":"01F535YF6105R9CGMB75BTFP1A","exception.class":"Errno::ECONNREFUSED","exception.message":"Failed to open TCP connection to 127.0.0.1:52591 (Connection refused - connect(2) for \"127.0.0.1\" port 52591)","exception.backtrace":["lib/gitlab/http.rb:44:in `perform_request'","lib/bulk_imports/clients/http.rb:22:in `block in get'","lib/bulk_imports/clients/http.rb:64:in `with_error_handling'","lib/bulk_imports/clients/http.rb:21:in `get'","app/controllers/import/bulk_imports_controller.rb:70:in `importable_data'","app/controllers/import/bulk_imports_controller.rb:25:in `block (2 levels) in status'","app/controllers/import/bulk_imports_controller.rb:23:in `status'","ee/lib/gitlab/ip_address_state.rb:10:in `with'","ee/app/controllers/ee/application_controller.rb:44:in `set_current_ip_address'","app/controllers/application_controller.rb:485:in `set_current_admin'","lib/gitlab/session.rb:11:in `with_session'","app/controllers/application_controller.rb:476:in `set_session_storage'","lib/gitlab/i18n.rb:73:in `with_locale'","lib/gitlab/i18n.rb:79:in `with_user_locale'","app/controllers/application_controller.rb:470:in `set_locale'","app/controllers/application_controller.rb:463:in `block in set_current_context'","lib/gitlab/application_context.rb:70:in `block in use'","lib/gitlab/application_context.rb:70:in `use'","lib/gitlab/application_context.rb:27:in `with_context'","app/controllers/application_controller.rb:454:in `set_current_context'","lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in `call'","lib/gitlab/middleware/rails_queue_duration.rb:33:in `call'","lib/gitlab/metrics/rack_middleware.rb:16:in `block in call'","lib/gitlab/metrics/transaction.rb:56:in `run'","lib/gitlab/metrics/rack_middleware.rb:16:in `call'","lib/gitlab/middleware/speedscope.rb:13:in `call'","lib/gitlab/request_profiler/middleware.rb:17:in `call'","lib/gitlab/jira/middleware.rb:19:in `call'","lib/gitlab/middleware/go.rb:20:in `call'","lib/gitlab/etag_caching/middleware.rb:21:in `call'","lib/gitlab/middleware/multipart.rb:172:in `call'","lib/gitlab/middleware/read_only/controller.rb:50:in `call'","lib/gitlab/middleware/read_only.rb:18:in `call'","lib/gitlab/middleware/same_site_cookies.rb:27:in `call'","lib/gitlab/middleware/handle_malformed_strings.rb:21:in `call'","lib/gitlab/middleware/basic_health_check.rb:25:in `call'","lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'","lib/gitlab/middleware/request_context.rb:21:in `call'","config/initializers/fix_local_cache_middleware.rb:11:in `call'","lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call'","lib/gitlab/metrics/requests_rack_middleware.rb:76:in `call'","lib/gitlab/middleware/release_env.rb:12:in `call'"],"user.username":"qa-user-5ba09f60b981ea4e","tags.program":"web","tags.locale":"en","tags.feature_category":"importers","tags.correlation_id":"01F535YF6105R9CGMB75BTFP1A"}
Possible fixes
It seems that issue would be related to base_uri construction in lib/bulk_imports/clients/http.rb:74 as it will strip the relative part of url passed.
Edited by andrey


