Now added delete for real

This commit is contained in:
2023-03-13 15:45:01 +02:00
parent d8fac64c0d
commit 15f3d58928

View File

@@ -811,9 +811,9 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi
if name is None: if name is None:
name = input("Enter the name of the node: ") name = input("Enter the name of the node: ")
assert name != "", "Name is empty" assert name != "", "Name is empty"
name = provider+"_"+name name = provider+"-"+name
else: else:
name = provider+"_"+name name = provider+"-"+name
# In the case of aws location has to be None because it is actually derived from the ami (image) # In the case of aws location has to be None because it is actually derived from the ami (image)
if provider == "aws": if provider == "aws":
location = None location = None
@@ -944,15 +944,14 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi
elif provider == "azure": elif provider == "azure":
node = driver.create_node(name, size, image, location, auth=auth) node = driver.create_node(name, size, image, location, auth=auth)
else: else:
keys = driver.ex_find_or_import_keypair_by_key_material(pubkey) keys = driver.list_key_pairs()
if len(keys) <= 2: for key in keys:
pass driver.delete_key_pair(key)
else: driver.import_key_pair_from_string("secdep@"+socket.gethostname(), pubkey)
driver.import_key_pair_from_string("secdep@"+socket.gethostname(), pubkey)
driver.ex_authorize_security_group_permissive('default') driver.ex_authorize_security_group_permissive('default')
keyname="secdep@"+socket.gethostname() keyname="secdep@"+socket.gethostname()
SCRIPT = '''#!/usr/bin/env bash SCRIPT = '''#!/usr/bin/env bash
sudo useradd -G sudo -m secdep sudo useradd -G sudo -s /bin/bash -m secdep
sudo echo "secdep:secdeppass" | sudo chpasswd sudo echo "secdep:secdeppass" | sudo chpasswd
sudo mkdir -p /home/secdep/.ssh sudo mkdir -p /home/secdep/.ssh
[[ -e /root/.ssh/authorized_keys ]] && sudo cp /root/.ssh/authorized_keys /home/secdep/.ssh/authorized_keys [[ -e /root/.ssh/authorized_keys ]] && sudo cp /root/.ssh/authorized_keys /home/secdep/.ssh/authorized_keys
@@ -979,15 +978,14 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi
elif provider == "azure": elif provider == "azure":
node = driver.create_node(name, size, image, location, auth=auth) node = driver.create_node(name, size, image, location, auth=auth)
else: else:
keys = driver.ex_find_or_import_keypair_by_key_material(pubkey) keys = driver.list_key_pairs()
if len(keys) <= 2: for key in keys:
pass driver.delete_key_pair(key)
else: driver.import_key_pair_from_string("secdep@"+socket.gethostname(), pubkey)
driver.import_key_pair_from_string("secdep@"+socket.gethostname(), pubkey)
driver.ex_authorize_security_group_permissive('default') driver.ex_authorize_security_group_permissive('default')
keyname="secdep@"+socket.gethostname() keyname="secdep@"+socket.gethostname()
SCRIPT = '''#!/usr/bin/env bash SCRIPT = '''#!/usr/bin/env bash
sudo useradd -G sudo -m secdep sudo useradd -G sudo -s /bin/bash -m secdep
sudo echo "secdep:secdeppass" | sudo chpasswd sudo echo "secdep:secdeppass" | sudo chpasswd
sudo mkdir -p /home/secdep/.ssh sudo mkdir -p /home/secdep/.ssh
[[ -e /root/.ssh/authorized_keys ]] && sudo cp /root/.ssh/authorized_keys /home/secdep/.ssh/authorized_keys [[ -e /root/.ssh/authorized_keys ]] && sudo cp /root/.ssh/authorized_keys /home/secdep/.ssh/authorized_keys
@@ -1009,7 +1007,8 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi
print('exit_code: %s' % (step_2.exit_status)) print('exit_code: %s' % (step_2.exit_status))
print(node.name + " created successfully") print(node.name + " created successfully")
print("Node is initializing") print("Node is initializing")
time.sleep(30) #Aws takes a while to assign a public ip if provider == "aws":
time.sleep(30) #Aws takes a while to assign a public ip
print("ip to connect to") print("ip to connect to")
print("\nIP: %s\n" % (node.public_ips)) print("\nIP: %s\n" % (node.public_ips))
return node return node
@@ -1058,7 +1057,7 @@ def delete_node():
if node is None: if node is None:
print("Nothing was chosen") print("Nothing was chosen")
exit(0) exit(0)
providerName = node.name.split("_")[0] providerName = node.name.split("-")[0]
if providerName == "gce": if providerName == "gce":
driver = get_corresponding_driver("gce") driver = get_corresponding_driver("gce")
elif providerName == "azure": elif providerName == "azure":