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,
)
| 1458 | |
| 1459 | |
| 1460 | def 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 | ) |
no test coverage detected