Add support for --user-data

This commit is contained in:
Micke Nordin 2024-12-09 16:35:21 +01:00
parent f61f706bff
commit ecd2ec2c94
Signed by: Micke
GPG key ID: 0DA0A7A5708FE257

View file

@ -94,6 +94,12 @@ def get_options() -> dict:
help="Set volume size in GB for machine", help="Set volume size in GB for machine",
default="100", default="100",
) )
create_parser.add_argument(
"--user-data",
dest="user_data",
help="Supply user data to machine",
default="user_data_empty",
)
create_parser.add_argument( create_parser.add_argument(
"-k", "-k",
@ -233,6 +239,7 @@ def get_options() -> dict:
options["key"] = args.key options["key"] = args.key
options["network"] = args.network options["network"] = args.network
options["sgroup_policy"] = args.sgroup_policy options["sgroup_policy"] = args.sgroup_policy
options["user_data"] = args.user_data
if args.flavor.startswith("b"): if args.flavor.startswith("b"):
options["volume_size"] = args.volume_size options["volume_size"] = args.volume_size
else: else:
@ -436,6 +443,7 @@ def create(options: dict) -> int:
rc_file: str = options["rc_file"] rc_file: str = options["rc_file"]
sgroup: str = options["sgroup"] sgroup: str = options["sgroup"]
sgroup_policy: str = options["sgroup_policy"] sgroup_policy: str = options["sgroup_policy"]
user_data: None | str = options["user_data"]
volume_size: str = options["volume_size"] volume_size: str = options["volume_size"]
with_tsocks: bool = options["with_tsocks"] with_tsocks: bool = options["with_tsocks"]
key_name: str = setup_key(key, rc_file, with_tsocks) key_name: str = setup_key(key, rc_file, with_tsocks)
@ -505,6 +513,8 @@ def create(options: dict) -> int:
volume_size, volume_size,
"--key-name", "--key-name",
key_name, key_name,
"--user-data",
user_data,
"--hint", "--hint",
f"group={sgroup_id}", f"group={sgroup_id}",
fqdn, fqdn,
@ -512,6 +522,9 @@ def create(options: dict) -> int:
if volume_size == 'volume_empty': if volume_size == 'volume_empty':
create_server_command.remove("--boot-from-volume") create_server_command.remove("--boot-from-volume")
create_server_command.remove("volume_empty") create_server_command.remove("volume_empty")
if user_data == 'user_data_empty':
create_server_command.remove("--user-data")
create_server_command.remove("user_data_empty")
run_in_openstack(create_server_command, rc_file, with_tsocks) run_in_openstack(create_server_command, rc_file, with_tsocks)
timeout = 360 timeout = 360
succeed = wait_for_server( succeed = wait_for_server(