Break out control plane EE as its own thing

This commit is contained in:
Elijah DeLee
2021-06-07 15:39:20 -04:00
parent 7832639c25
commit 2ce276455a
2 changed files with 31 additions and 16 deletions

View File

@@ -51,7 +51,7 @@ class Command(BaseCommand):
)
def handle(self, *args, **options):
changed = False
changed = []
registry_cred = None
if options.get("registry_username"):
@@ -68,12 +68,12 @@ class Command(BaseCommand):
sys.stderr.write("No registry credential type found")
sys.exit(1)
registry_cred, created = Credential.objects.get_or_create(
registry_cred, cred_created = Credential.objects.get_or_create(
name="Default Execution Environment Registry Credential", managed_by_tower=True, credential_type=registry_cred_type[0]
)
if created:
print("Default Execution Environment Credential registered.")
if cred_created:
print("'Default Execution Environment Credential' registered.")
inputs = {
"host": options.get("registry_url"),
@@ -84,21 +84,28 @@ class Command(BaseCommand):
registry_cred.inputs = inputs
registry_cred.save()
changed = True
changed.append(True)
if not created:
print('Updated Default Execution Environment Credential')
if not cred_created:
print("Updated 'Default Execution Environment Credential'")
for ee in reversed(settings.DEFAULT_EXECUTION_ENVIRONMENTS):
_, created = ExecutionEnvironment.objects.update_or_create(
name=ee["name"], defaults={"image": ee["image"], "managed_by_tower": True, "credential": registry_cred}
)
# Create default globally available Execution Environments
for ee in reversed(settings.GLOBAL_JOB_EXECUTION_ENVIRONMENTS):
_, ee_created = ExecutionEnvironment.objects.update_or_create(name=ee["name"], image=ee["image"], credential=registry_cred)
if ee_created:
changed.append(True)
print(f"'{ee['name']}' Default Execution Environment registered.")
if created:
changed = True
print("Default Execution Environment(s) registered.")
# Create the control plane execution environment that is used for project updates and system jobs
control_plane_ee = settings.CONTROL_PLANE_EXECUTION_ENVIRONMENT
_cp_ee, cp_created = ExecutionEnvironment.objects.update_or_create(
name="Control Plane Execution Environment", defaults={'image': control_plane_ee, 'managed_by_tower': True, 'credential': registry_cred}
)
if cp_created:
changed.append(True)
print("Control Plane Execution Environment registered.")
if changed:
if any(changed):
print("(changed: True)")
else:
print("(changed: False)")