Page MenuHomePhabricator

wdqs: replace git-fat with git-lfs
Closed, ResolvedPublic

Description

Repo: wikidata/query/deploy in Gerrit

chad@wmf3179 deploy % cat .gitattributes
*.jar filter=fat -text
*.war filter=fat -text

chad@wmf3179 deploy % find . -name '*.war' -or -name '*.jar' -ls -exec cat {} \;
2918750        8 -rw-r--r--    1 chad             staff                  74 Sep  1 08:27 ./jetty-runner-9.4.12.v20180830.jar
#$# git-fat 55ffeddc2d9153f726249984d7f3efa2a23649da              7074499
2918756        8 -rw-r--r--    1 chad             staff                  74 Sep  1 08:27 ./lib/streaming-updater-producer-0.3.115-jar-with-dependencies.jar
#$# git-fat 112021d9c97efc415cab5cc6fbd27cdcca870782             30431476
2918755        8 -rw-r--r--    1 chad             staff                  74 Sep  1 08:27 ./lib/streaming-updater-consumer-0.3.115-jar-with-dependencies.jar
#$# git-fat 5bac7a83e812e1bec986cb59917ed34c1c0844d1             20689105
2918757        8 -rw-r--r--    1 chad             staff                  74 Sep  1 08:27 ./lib/wikidata-query-tools-0.3.115-jar-with-dependencies.jar
#$# git-fat a4b0773bc462aa272430c01f46fb2c6f3ab72083             20645023
2918754        8 -rw-r--r--    1 chad             staff                  74 Sep  1 08:27 ./lib/logging/jetty-logging-0.3.115-jar-with-dependencies.jar
#$# git-fat 13f3d17301ba2f5c4d7de354a9599bf29abf5e83              6121411

Event Timeline

Patch was merged here: https://gerrit.wikimedia.org/r/947928

Edit: I got confused on tickets. That patch was to make git-fat work with bullseye, not to migrate away from git-fat

Gehel triaged this task as Low priority.Nov 22 2023, 9:31 AM

Hello followers of this ticket! Can someone tell me if this ticket is still relevant? If so, what git repository is the one needing migration from git-fat to git-lfs?

@dancy I can confirm that this is still on our radar. @Gehel is working on the archiva to gitlab migration in T358612 , and the git-fat to git-lfs migration should be a part of that process.

@bking Thanks for the update. I can help with converting a repo from git-fat to git-lfs if desired.

I think I'm right in saying that we don't need to complete the archiva migration before switching to git-lfs.
That's right, isn't it @dancy? We migrated analytics/refinery recently and that is still using Archiva, for now.

I believe that the main repository that needs to be converted for this task is: wikidata/query/deploy
I haven't found any others, but there might be more. @Gehel are you aware of any other uses of git-fat that relate to WDQS?

I think I'm right in saying that we don't need to complete the archiva migration before switching to git-lfs.
That's right, isn't it @dancy?

That's right.

I believe that the main repository that needs to be converted for this task is: wikidata/query/deploy

I'll prepare a commit to convert it.

Change #1020740 had a related patch set uploaded (by Ahmon Dancy; author: Ahmon Dancy):

[All-Projects@refs/meta/config] Enable lfs for wikidata/query/deploy

https://gerrit.wikimedia.org/r/1020740

Change #1020740 merged by Ahmon Dancy:

[All-Projects@refs/meta/config] Enable lfs for wikidata/query/deploy

https://gerrit.wikimedia.org/r/1020740

Change #1020911 had a related patch set uploaded (by Ahmon Dancy; author: Ahmon Dancy):

[wikidata/query/deploy@master] Convert git-lfs to git-lfs

https://gerrit.wikimedia.org/r/1020911

BTullis raised the priority of this task from Low to High.Apr 19 2024, 3:29 PM

I don't have the necessary rights in gerrit to +2 the patch, but I should proabably get them. Until then, perhaps @bking, @RKemper, or another member of the wikidata-deploy group can +2 it.

bking updated Other Assignee, added: RKemper.

Thanks for the ping! We should be able to deploy the linked change by end of week.

Change #1020911 merged by Bking:

[wikidata/query/deploy@master] Convert git-fat to git-lfs

https://gerrit.wikimedia.org/r/1020911

After merging the PR above and cloning the repo, it does appear that the artifacts were successfully added to the git-lfs backend. As such, I'm closing out this ticket. Thanks everyone for your help!

Change #1028763 had a related patch set uploaded (by Muehlenhoff; author: Muehlenhoff):

[operations/puppet@production] query_sever::deploy::manual: Remove obsolete class

https://gerrit.wikimedia.org/r/1028763

Change #1028764 had a related patch set uploaded (by Muehlenhoff; author: Muehlenhoff):

[operations/puppet@production] Remove obsolete Hiera settings

https://gerrit.wikimedia.org/r/1028764

Change #1028799 had a related patch set uploaded (by Muehlenhoff; author: Muehlenhoff):

[operations/puppet@production] query_service: Stop installing git-fat

https://gerrit.wikimedia.org/r/1028799

Change #1028763 merged by Muehlenhoff:

[operations/puppet@production] query_sever::deploy::manual: Remove obsolete class

https://gerrit.wikimedia.org/r/1028763

Change #1028799 merged by Muehlenhoff:

[operations/puppet@production] query_service: Stop installing git-fat

https://gerrit.wikimedia.org/r/1028799

dancy reopened this task as Open.EditedMay 8 2024, 5:00 PM

Today I am experiencing operations/puppet CI failures related to query_service::deploy::manual:
For example from https://integration.wikimedia.org/ci/job/operations-puppet-tests-buster/1860/console :

16:54:55 Failures:
16:54:55 
16:54:55   1) query_service::deploy::manual with systemd is expected to contain Sudo::User[deploy-service_wdqs-updater] with user => "deploy-service"
16:54:55      Failure/Error: it { is_expected.to contain_sudo__user('deploy-service_wdqs-updater').with('user' => 'deploy-service') }
16:54:55      
16:54:55      Puppet::PreformattedError:
16:54:55        Evaluation Error: Error while evaluating a Resource Statement, Could not find declared class query_service::deploy::manual (line: 2, column: 1) on node 728e491cb893.integration.eqiad1.wikimedia.cloud
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/resource.rb:293:in `initialize'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/resource.rb:127:in `initialize'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/runtime3_resource_support.rb:38:in `new'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/runtime3_resource_support.rb:38:in `block in create_resources'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/runtime3_resource_support.rb:37:in `map'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/runtime3_resource_support.rb:37:in `create_resources'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/runtime3_support.rb:341:in `create_resources'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/evaluator_impl.rb:865:in `block in eval_ResourceExpression'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/evaluator_impl.rb:862:in `map'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/evaluator_impl.rb:862:in `eval_ResourceExpression'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/visitor.rb:90:in `visit_this_1'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
16:54:55      # :in `stack'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/puppet_stack.rb:33:in `eval'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/puppet_stack.rb:33:in `stack'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/evaluator_impl.rb:737:in `eval_Program'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/visitor.rb:90:in `visit_this_1'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/parser/evaluating_parser.rb:63:in `evaluate'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/ast/pops_bridge.rb:125:in `evaluate'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/ast.rb:31:in `safeevaluate'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/resource/type.rb:136:in `evaluate_code'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/resource.rb:79:in `block in evaluate'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util/profiler.rb:51:in `profile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/resource.rb:71:in `evaluate'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/compiler.rb:592:in `evaluate_main'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/compiler.rb:166:in `block (2 levels) in compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util/profiler.rb:51:in `profile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/compiler.rb:166:in `block in compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/context.rb:65:in `override'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet.rb:260:in `override'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/compiler.rb:155:in `compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/compiler.rb:35:in `compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/indirector/catalog/compiler.rb:303:in `block (2 levels) in compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util/profiler.rb:51:in `profile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/indirector/catalog/compiler.rb:301:in `block in compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util.rb:232:in `block in benchmark'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util.rb:231:in `benchmark'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/indirector/catalog/compiler.rb:299:in `compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/indirector/catalog/compiler.rb:54:in `block in find'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/node/environment.rb:450:in `with_text_domain'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/indirector/catalog/compiler.rb:53:in `find'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/indirector/indirection.rb:198:in `find'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/adapters.rb:84:in `catalog'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/adapters.rb:163:in `catalog'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:476:in `build_catalog_without_cache_v2'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:488:in `block in build_catalog'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/cache.rb:23:in `get'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:486:in `build_catalog'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:100:in `block in load_catalogue'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:410:in `with_vardir'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:85:in `load_catalogue'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/example/class_example_group.rb:7:in `catalogue'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:14:in `block in subject'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/matchers/create_generic.rb:84:in `matches?'
16:54:55      # ./modules/query_service/spec/classes/query_service_deploy_manual_spec.rb:24:in `block (3 levels) in <top (required)>'
16:54:55      # ------------------
16:54:55      # --- Caused by: ---
16:54:55      # ArgumentError:
16:54:55      #   Could not find declared class query_service::deploy::manual
16:54:55      #   ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/resource.rb:293:in `initialize'
16:54:55 
16:54:55   2) query_service::deploy::manual with systemd is expected to contain Sudo::User[deploy-service_wdqs-blazegraph] with user => "deploy-service"
16:54:55      Failure/Error: it { is_expected.to contain_sudo__user('deploy-service_wdqs-blazegraph').with('user' => 'deploy-service') }
16:54:55      
16:54:55      Puppet::PreformattedError:
16:54:55        Evaluation Error: Error while evaluating a Resource Statement, Could not find declared class query_service::deploy::manual (line: 2, column: 1) on node 728e491cb893.integration.eqiad1.wikimedia.cloud
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/resource.rb:293:in `initialize'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/resource.rb:127:in `initialize'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/runtime3_resource_support.rb:38:in `new'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/runtime3_resource_support.rb:38:in `block in create_resources'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/runtime3_resource_support.rb:37:in `map'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/runtime3_resource_support.rb:37:in `create_resources'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/runtime3_support.rb:341:in `create_resources'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/evaluator_impl.rb:865:in `block in eval_ResourceExpression'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/evaluator_impl.rb:862:in `map'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/evaluator_impl.rb:862:in `eval_ResourceExpression'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/visitor.rb:90:in `visit_this_1'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
16:54:55      # :in `stack'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/puppet_stack.rb:33:in `eval'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/puppet_stack.rb:33:in `stack'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/evaluator_impl.rb:737:in `eval_Program'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/visitor.rb:90:in `visit_this_1'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/pops/parser/evaluating_parser.rb:63:in `evaluate'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/ast/pops_bridge.rb:125:in `evaluate'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/ast.rb:31:in `safeevaluate'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/resource/type.rb:136:in `evaluate_code'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/resource.rb:79:in `block in evaluate'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util/profiler.rb:51:in `profile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/resource.rb:71:in `evaluate'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/compiler.rb:592:in `evaluate_main'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/compiler.rb:166:in `block (2 levels) in compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util/profiler.rb:51:in `profile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/compiler.rb:166:in `block in compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/context.rb:65:in `override'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet.rb:260:in `override'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/compiler.rb:155:in `compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/parser/compiler.rb:35:in `compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/indirector/catalog/compiler.rb:303:in `block (2 levels) in compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util/profiler/around_profiler.rb:58:in `profile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util/profiler.rb:51:in `profile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/indirector/catalog/compiler.rb:301:in `block in compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util.rb:232:in `block in benchmark'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/util.rb:231:in `benchmark'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/indirector/catalog/compiler.rb:299:in `compile'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/indirector/catalog/compiler.rb:54:in `block in find'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/node/environment.rb:450:in `with_text_domain'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/indirector/catalog/compiler.rb:53:in `find'
16:54:55      # ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/indirector/indirection.rb:198:in `find'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/adapters.rb:84:in `catalog'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/adapters.rb:163:in `catalog'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:476:in `build_catalog_without_cache_v2'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:488:in `block in build_catalog'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/cache.rb:23:in `get'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:486:in `build_catalog'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:100:in `block in load_catalogue'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:410:in `with_vardir'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:85:in `load_catalogue'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/example/class_example_group.rb:7:in `catalogue'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/support.rb:14:in `block in subject'
16:54:55      # ./.bundle/ruby/2.5.0/gems/rspec-puppet-2.9.0/lib/rspec-puppet/matchers/create_generic.rb:84:in `matches?'
16:54:55      # ./modules/query_service/spec/classes/query_service_deploy_manual_spec.rb:25:in `block (3 levels) in <top (required)>'
16:54:55      # ------------------
16:54:55      # --- Caused by: ---
16:54:55      # ArgumentError:
16:54:55      #   Could not find declared class query_service::deploy::manual
16:54:55      #   ./.bundle/ruby/2.5.0/gems/puppet-5.5.10/lib/puppet/resource.rb:293:in `initialize'

Change #1029290 had a related patch set uploaded (by Ryan Kemper; author: Ryan Kemper):

[operations/puppet@production] wdqs: remove refs to query_service::deploy::manual

https://gerrit.wikimedia.org/r/1029290

Change #1029291 had a related patch set uploaded (by Ryan Kemper; author: Ryan Kemper):

[operations/puppet@production] wdqs: remove config for wdqs cloud hosts

https://gerrit.wikimedia.org/r/1029291

Change #1029290 merged by Ryan Kemper:

[operations/puppet@production] wdqs: remove refs to query_service::deploy::manual

https://gerrit.wikimedia.org/r/1029290

Change #1028764 merged by Muehlenhoff:

[operations/puppet@production] Remove obsolete Hiera settings to allow dropping Python 2

https://gerrit.wikimedia.org/r/1028764