MCPcopy Create free account
hub / github.com/saltstack/salt / deploy_script

Function deploy_script

salt/utils/cloud.py:1460–1933  ·  view source on GitHub ↗

Copy a deploy script to a remote server, execute it, and remove it

(
    host,
    port=22,
    timeout=900,
    username="root",
    password=None,
    key_filename=None,
    script=None,
    name=None,
    sock_dir=None,
    provider=None,
    conf_file=None,
    start_action=None,
    make_master=False,
    master_pub=None,
    master_pem=None,
    master_conf=None,
    minion_pub=None,
    minion_pem=None,
    minion_conf=None,
    keep_tmp=False,
    script_args=None,
    script_env=None,
    ssh_timeout=15,
    maxtries=15,
    make_syndic=False,
    make_minion=True,
    display_ssh_output=True,
    preseed_minion_keys=None,
    parallel=False,
    sudo_password=None,
    sudo=False,
    tty=None,
    vm_=None,
    opts=None,
    tmp_dir="/tmp/.saltcloud",
    file_map=None,
    master_sign_pub_file=None,
    cloud_grains=None,
    force_minion_config=False,
    **kwargs,
)

Source from the content-addressed store, hash-verified

1458
1459
1460def deploy_script(
1461 host,
1462 port=22,
1463 timeout=900,
1464 username="root",
1465 password=None,
1466 key_filename=None,
1467 script=None,
1468 name=None,
1469 sock_dir=None,
1470 provider=None,
1471 conf_file=None,
1472 start_action=None,
1473 make_master=False,
1474 master_pub=None,
1475 master_pem=None,
1476 master_conf=None,
1477 minion_pub=None,
1478 minion_pem=None,
1479 minion_conf=None,
1480 keep_tmp=False,
1481 script_args=None,
1482 script_env=None,
1483 ssh_timeout=15,
1484 maxtries=15,
1485 make_syndic=False,
1486 make_minion=True,
1487 display_ssh_output=True,
1488 preseed_minion_keys=None,
1489 parallel=False,
1490 sudo_password=None,
1491 sudo=False,
1492 tty=None,
1493 vm_=None,
1494 opts=None,
1495 tmp_dir="/tmp/.saltcloud",
1496 file_map=None,
1497 master_sign_pub_file=None,
1498 cloud_grains=None,
1499 force_minion_config=False,
1500 **kwargs,
1501):
1502 """
1503 Copy a deploy script to a remote server, execute it, and remove it
1504 """
1505 if not isinstance(opts, dict):
1506 opts = {}
1507 vm_ = vm_ or {} # if None, default to empty dict
1508 cloud_grains = cloud_grains or {}
1509
1510 tmp_dir = "{}-{}".format(tmp_dir.rstrip("/"), uuid.uuid4())
1511 deploy_command = salt.config.get_cloud_config_value(
1512 "deploy_command", vm_, opts, default=os.path.join(tmp_dir, "deploy.sh")
1513 )
1514 if key_filename is not None and not os.path.isfile(key_filename):
1515 raise SaltCloudConfigError(
1516 f"The defined key_filename '{key_filename}' does not exist"
1517 )

Callers 1

bootstrapFunction · 0.85

Calls 15

SaltCloudSystemExitClass · 0.90
wait_for_portFunction · 0.85
wait_for_passwdFunction · 0.85
root_cmdFunction · 0.85
ssh_fileFunction · 0.85
salt_config_to_yamlFunction · 0.85
fire_eventFunction · 0.85
formatMethod · 0.80
debugMethod · 0.80
ProcessMethod · 0.80

Tested by

no test coverage detected