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

Drive powercycle setup commands with expansions.yml

    • Fully Compatible
    • ALL
    • v4.4
    • STM 2020-06-29, STM 2020-07-13
    • 36
    • 5

      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.

            Assignee:
            vlad.rachev@mongodb.com Vlad Rachev (Inactive)
            Reporter:
            robert.guo@mongodb.com Robert Guo (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: