Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-48960

Drive powercycle setup commands with expansions.yml

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v4.4
    • Sprint:
      STM 2020-06-29, STM 2020-07-13
    • Linked BF Score:
      36
    • Story Points:
      5

      Description

      Create a python wrapper around remote_operations.py that takes an Evergreen expansions.yml as input and calls remote_operations.py as we do now throughout evergreen.yml. Since the wrapper script is in Python, we can call RemoteOperations directly instead of through a subprocess.

      Because remote_operations.py is invoked at different points in evergreen.yml, we can't combine all 20 invocations into a single call to the wrapper, instead we want to retain the existing logic for now and create a subcommand to the wrapper for each contiguous group of calls. The subcommand names can mirror the function names in evergreen.yml :

      • copy_ec2_monitor_files
      • setup_ec2_intance
      • tar_ec2_artifacts
      • copy_ec2_artifacts
      • gather_remote_event_logs
      • gather_remote_mongo_coredumps
      • copy_remote_mongo_coredumps

      It's likely some the calls can be further grouped together based on their usage in evergreen.yml but we can overlook that as part of this ticket to ensure we don't accidentally change the behavior of powercycle.

      The goal of this ticket is to set $ssh_connection_options, $private_ip_address and all the other command line options for every invocation only once in the Python wrapper.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              vlad.rachev Vlad Rachev
              Reporter:
              robert.guo Robert Guo
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: