<s> import ssh . ssh_runner <EOL> REMOTE_TEMP_DIR = '<STR_LIT>' <EOL> CLUSTER_PACKAGES_FILE = '<STR_LIT>' <EOL> def get_async_runner ( config , hosts , async_delegate = None ) : <EOL> process_timeout = config . get ( '<STR_LIT>' , <NUM_LIT> ) <EOL> extra_ssh_options = config . get ( '<STR_LIT>' , '<STR_LIT>' ) <EOL> ssh_key_path = config . get ( '<STR_LIT>' , '<STR_LIT>' ) <EOL> return ssh . ssh_runner . MultiRunner ( hosts , ssh_user = config [ '<STR_LIT>' ] , ssh_key_path = ssh_key_path , <EOL> process_timeout = process_timeout , extra_opts = extra_ssh_options , <EOL> async_delegate = async_delegate ) <EOL> def add_pre_action ( chain , ssh_user ) : <EOL> chain . add_execute ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , REMOTE_TEMP_DIR ] , comment = '<STR_LIT>' ) <EOL> chain . add_execute ( [ '<STR_LIT>' , '<STR_LIT>' , ssh_user , REMOTE_TEMP_DIR ] , <EOL> comment = '<STR_LIT>' . format ( ssh_user ) ) <EOL> def add_post_action ( chain ) : <EOL> chain . add_execute ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , REMOTE_TEMP_DIR ] , <EOL> comment = '<STR_LIT>' ) </s>
