[SERVER-47795] Top-level logging infra in resmoke module for all subcommands Created: 27/Apr/20  Updated: 27/Oct/23  Resolved: 28/Jan/22

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Vlad Rachev (Inactive) Assignee: Backlog - Server Tooling and Methods (STM) (Inactive)
Resolution: Gone away Votes: 0
Labels: tig-resmoke
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Server Tooling & Methods
Participants:
Story Points: 2

 Description   

After SERVER-46769 resmoke will begin supporting various sub-commands. For now each subcommand implements its own logging infrastructure. We should move this up so that the resmoke module creates loggers for all subcommands. 

For context, resmoke.py with optparse does have a single top-level logging config, but it is specific to resmoke and would not work with other subcommands, such as the hang-analyzer subcommand which will be added in SERVER-46684. The work in SERVER-46769 moves the resmoke.py logging into the impl of the 'run' subcommand.

Other similar areas to consider:

  • Exiting - resmoke has some special behavior that needs to be reasoned about if when moving exit() to the resmoke.py module


 Comments   
Comment by Brooke Miller [ 28/Jan/22 ]

We've moved over to no longer use optparse and are using structlog, so we believe this has gone away.

Comment by Brooke Miller [ 12/May/20 ]

vlad.rachev to create a separate ticket to do what Raiden mentioned above re: list-suites and find-suites. This will be created not tied to an epic.

Comment by Vlad Rachev (Inactive) [ 29/Apr/20 ]

Agreed. We should also re-work find-suites to only require a test file (without any corresponding suite). The behavior is a little wonky now - "give me a test file and one suite that runs it, and I'll give you all other suites that also run it". 

Splitting these subcommands out from run.py will require some refactoring, their current implementation is heavily tied to run. Moving logging and exit to top-level resmoke will help, and also reworking config.py or at least refactoring the suiteconfig.py methods that are used by list-suites and find-suites will also be necessary. 

Comment by Raiden Worley (Inactive) [ 28/Apr/20 ]

Re: "other areas to consider"

I definitely feel like breaking list-suites and find-suites into separate Subcommand objects would be a great idea. I know to look for them in run but if I was just getting up to speed on this then having multiple subcommands handled by one Subcommand would be confusing.

Generated at Thu Feb 08 05:15:15 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.