diff --git a/Dockerfile b/Dockerfile index 2d090ce2f..e361c0ac4 100755 --- a/Dockerfile +++ b/Dockerfile @@ -62,11 +62,12 @@ sudo unzip terraform-provider-null_${TF_NULL_PROVIDER}_linux_amd64.zip -d /cd3us sudo cp -r /cd3user/.terraform.d/plugins/registry.terraform.io /cd3user/.terraform.d/plugins/registry.opentofu.org && \ sudo chown -R cd3user:cd3user /cd3user/ && \ sudo rm -rf terraform-provider-null_${TF_NULL_PROVIDER}_linux_amd64.zip terraform-provider-oci_${TF_OCI_PROVIDER}_linux_amd64.zip ;\ + fi ##################################### START INSTALLING JENKINS ################################### -ARG JENKINS_VERSION=2.444 -ARG JENKINS_SHA=ab093a455fc35951c9b46361002e17cc3ed7c59b0943bbee3a57a363f3370d2e +ARG JENKINS_VERSION=2.504.1 +ARG JENKINS_SHA=81026db18b0c4aad6b62cf408e4c42e5797661b41c517b37df606238e89b9df1 ARG JENKINS_PLUGIN_MANAGER_VERSION=2.12.13 ARG PLUGIN_CLI_URL=https://github.com/jenkinsci/plugin-installation-manager-tool/releases/download/${JENKINS_PLUGIN_MANAGER_VERSION}/jenkins-plugin-manager-${JENKINS_PLUGIN_MANAGER_VERSION}.jar diff --git a/README.md b/README.md index 108639a37..62cedce22 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@
- [What's New](https://github.com/oracle-devrel/cd3-automation-toolkit/releases/tag/v2024.4.3)  • [Excel Templates](https://oracle-devrel.github.io/cd3-automation-toolkit/latest/excel-templates/)  • [CD3 Docs](https://oracle-devrel.github.io/cd3-automation-toolkit/) •  [Watch & Learn](https://www.youtube.com/playlist?list=PLPIzp-E1msrbJ3WawXVhzimQnLw5iafcp)  • [Blogs & Tutorials](https://oracle-devrel.github.io/cd3-automation-toolkit/latest/tutorials/)  • [Livelabs](https://apexapps.oracle.com/pls/apex/f?p=133:180:112501098061930::::wid:3724)  • [Slack Channel](https://oracle-devrel.github.io/cd3-automation-toolkit/latest/queries) + [What's New](https://github.com/oracle-devrel/cd3-automation-toolkit/releases/tag/v2025.1.2)  • [Excel Templates](https://oracle-devrel.github.io/cd3-automation-toolkit/latest/excel-templates/)  • [CD3 Docs](https://oracle-devrel.github.io/cd3-automation-toolkit/) •  [Watch & Learn](https://www.youtube.com/playlist?list=PLPIzp-E1msrbJ3WawXVhzimQnLw5iafcp)  • [Blogs & Tutorials](https://oracle-devrel.github.io/cd3-automation-toolkit/latest/tutorials/)  • [Livelabs](https://apexapps.oracle.com/pls/apex/f?p=133:180:112501098061930::::wid:3724)  • [Slack Channel](https://oracle-devrel.github.io/cd3-automation-toolkit/latest/queries)
diff --git a/cd3_automation_toolkit/Compute/export_dedicatedvmhosts_nonGreenField.py b/cd3_automation_toolkit/Compute/export_dedicatedvmhosts_nonGreenField.py index aa930d506..b21412fb5 100644 --- a/cd3_automation_toolkit/Compute/export_dedicatedvmhosts_nonGreenField.py +++ b/cd3_automation_toolkit/Compute/export_dedicatedvmhosts_nonGreenField.py @@ -24,10 +24,11 @@ def print_dedicatedvmhosts(region, dedicatedvmhost, values_for_column, ntk_compa # Tags filter defined_tags = dedicatedvmhost.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Compute/export_instances_nonGreenField.py b/cd3_automation_toolkit/Compute/export_instances_nonGreenField.py index 321545184..f04f23403 100644 --- a/cd3_automation_toolkit/Compute/export_instances_nonGreenField.py +++ b/cd3_automation_toolkit/Compute/export_instances_nonGreenField.py @@ -115,10 +115,11 @@ def __get_instances_info(compartment_name, compartment_id, reg_name, display_nam # Tags filter ins_defined_tags = ins.defined_tags tags_list=[] - for tkey,tval in ins_defined_tags.items(): - for kk,vv in tval.items(): - tag = tkey+"."+kk+"="+vv - tags_list.append(tag) + if ins_defined_tags: + for tkey,tval in ins_defined_tags.items(): + for kk,vv in tval.items(): + tag = tkey+"."+kk+"="+vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/CostManagement/Budget/export_budgets_nonGreenField.py b/cd3_automation_toolkit/CostManagement/Budget/export_budgets_nonGreenField.py index 028c7163e..44c0faac3 100644 --- a/cd3_automation_toolkit/CostManagement/Budget/export_budgets_nonGreenField.py +++ b/cd3_automation_toolkit/CostManagement/Budget/export_budgets_nonGreenField.py @@ -159,10 +159,11 @@ def export_budgets_nongreenfield(inputfile, outdir, service_dir, config, signer, # Tags filter defined_tags = budget.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Database/export_adb_nonGreenField.py b/cd3_automation_toolkit/Database/export_adb_nonGreenField.py index 66cda2e6c..5691602fa 100644 --- a/cd3_automation_toolkit/Database/export_adb_nonGreenField.py +++ b/cd3_automation_toolkit/Database/export_adb_nonGreenField.py @@ -180,10 +180,11 @@ def export_adbs(inputfile, outdir, service_dir, config, signer, ct, export_compa # Tags filter defined_tags = adb.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags==[]: check=True diff --git a/cd3_automation_toolkit/Database/export_dbsystems_vm_bm_nonGreenField.py b/cd3_automation_toolkit/Database/export_dbsystems_vm_bm_nonGreenField.py index ca6162578..d29b33caa 100644 --- a/cd3_automation_toolkit/Database/export_dbsystems_vm_bm_nonGreenField.py +++ b/cd3_automation_toolkit/Database/export_dbsystems_vm_bm_nonGreenField.py @@ -176,10 +176,11 @@ def export_dbsystems_vm_bm(inputfile, outdir, service_dir, config, signer, ct, e # Tags filter defined_tags = db_system.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Database/export_exa_infra_nonGreenField.py b/cd3_automation_toolkit/Database/export_exa_infra_nonGreenField.py index e0d1a48f2..20656d825 100644 --- a/cd3_automation_toolkit/Database/export_exa_infra_nonGreenField.py +++ b/cd3_automation_toolkit/Database/export_exa_infra_nonGreenField.py @@ -108,10 +108,11 @@ def export_exa_infra(inputfile, outdir, service_dir, config, signer, ct, export_ # Tags filter defined_tags = exa_infra.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Database/export_exa_vmclusters_nonGreenField.py b/cd3_automation_toolkit/Database/export_exa_vmclusters_nonGreenField.py index cdbace15c..ca260a2fd 100644 --- a/cd3_automation_toolkit/Database/export_exa_vmclusters_nonGreenField.py +++ b/cd3_automation_toolkit/Database/export_exa_vmclusters_nonGreenField.py @@ -169,10 +169,11 @@ def export_exa_vmclusters(inputfile, outdir, service_dir, config, signer, ct, ex # Tags filter defined_tags = exa_infra.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Database/export_mysql_configuration_nonGreenField.py b/cd3_automation_toolkit/Database/export_mysql_configuration_nonGreenField.py index a332b664e..f2de93436 100644 --- a/cd3_automation_toolkit/Database/export_mysql_configuration_nonGreenField.py +++ b/cd3_automation_toolkit/Database/export_mysql_configuration_nonGreenField.py @@ -123,10 +123,11 @@ def export_mysql_configuration(inputfile, outdir, service_dir, config, signer, c # Tags filter defined_tags = config_obj.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Database/export_mysql_db_nonGreenField.py b/cd3_automation_toolkit/Database/export_mysql_db_nonGreenField.py index ad96ffb28..3abec6b91 100644 --- a/cd3_automation_toolkit/Database/export_mysql_db_nonGreenField.py +++ b/cd3_automation_toolkit/Database/export_mysql_db_nonGreenField.py @@ -236,10 +236,11 @@ def export_mysql_db(inputfile, outdir, service_dir, config, signer, ct, export_c # Tags filter defined_tags = mysql_db.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/DeveloperServices/OKE/export_oke_nonGreenField.py b/cd3_automation_toolkit/DeveloperServices/OKE/export_oke_nonGreenField.py index 77430e50e..2988e240b 100644 --- a/cd3_automation_toolkit/DeveloperServices/OKE/export_oke_nonGreenField.py +++ b/cd3_automation_toolkit/DeveloperServices/OKE/export_oke_nonGreenField.py @@ -546,10 +546,11 @@ def export_oke(inputfile, outdir,service_dir, config, signer, ct, export_compart # Tags filter defined_tags = nodepool_info.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/DeveloperServices/ResourceManager/create_resource_manager_stack.py b/cd3_automation_toolkit/DeveloperServices/ResourceManager/create_resource_manager_stack.py index 3de257380..ee4397138 100644 --- a/cd3_automation_toolkit/DeveloperServices/ResourceManager/create_resource_manager_stack.py +++ b/cd3_automation_toolkit/DeveloperServices/ResourceManager/create_resource_manager_stack.py @@ -346,7 +346,14 @@ def create_resource_manager(outdir,var_file, outdir_struct,prefix,auth_mechanism create_job_details.operation = "IMPORT_TF_STATE" create_job_details.stack_id = stack_ocid print("Uploading Terraform State file to Resource Manager for stack " + rm_name + "..............") - ocs_stack.create_job(create_job_details) + try: + ocs_stack.create_job(create_job_details) + except Exception as e: + print("\n") + print(str(e)) + if ('Request Entity Too Large' in str(e)): + print("\nError!!! Skipping state import for Resource Manager stack "+rm_name) + pass rm_dir_zip = region_dir + '/' + prefix + '-' + region +'.zip' # Take a backup of zip file if it exists @@ -458,7 +465,14 @@ def create_resource_manager(outdir,var_file, outdir_struct,prefix,auth_mechanism create_job_details.operation = "IMPORT_TF_STATE" create_job_details.stack_id = stack_ocid print("Uploading Terraform State file to Resource Manager for stack "+service_rm_name+"..............") - ocs_stack.create_job(create_job_details) + try: + ocs_stack.create_job(create_job_details) + except Exception as e: + print("\n") + print(str(e)) + if ('Request Entity Too Large' in str(e)): + print("\nError!!! Skipping state import for Resource Manager stack " + service_rm_name) + pass shutil.rmtree(rm_dir + "/" + service_dir) diff --git a/cd3_automation_toolkit/Governance/Quota/export_quotas_nonGreenField.py b/cd3_automation_toolkit/Governance/Quota/export_quotas_nonGreenField.py index cf5c83d67..3c8b14ab1 100644 --- a/cd3_automation_toolkit/Governance/Quota/export_quotas_nonGreenField.py +++ b/cd3_automation_toolkit/Governance/Quota/export_quotas_nonGreenField.py @@ -85,10 +85,11 @@ def export_quotas_nongreenfield(inputfile, outdir, service_dir, config, signer, # Tags filter defined_tags = quota.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/ManagementServices/EventsAndNotifications/export_events_notifications_nonGreenField.py b/cd3_automation_toolkit/ManagementServices/EventsAndNotifications/export_events_notifications_nonGreenField.py index 5e6cf2933..34131f2f3 100644 --- a/cd3_automation_toolkit/ManagementServices/EventsAndNotifications/export_events_notifications_nonGreenField.py +++ b/cd3_automation_toolkit/ManagementServices/EventsAndNotifications/export_events_notifications_nonGreenField.py @@ -234,10 +234,11 @@ def export_events(inputfile, outdir, service_dir, config, signer, ct,export_comp # Tags filter defined_tags = event_info.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/ManagementServices/Monitoring/export_alarms_nonGreenField.py b/cd3_automation_toolkit/ManagementServices/Monitoring/export_alarms_nonGreenField.py index 924225b69..d470d0033 100644 --- a/cd3_automation_toolkit/ManagementServices/Monitoring/export_alarms_nonGreenField.py +++ b/cd3_automation_toolkit/ManagementServices/Monitoring/export_alarms_nonGreenField.py @@ -134,10 +134,11 @@ def export_alarms(inputfile, outdir, service_dir, config, signer, ct, export_com # Tags filter defined_tags = alarm.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/ManagementServices/ServiceConnectorHub/export_sch_nonGreenField.py b/cd3_automation_toolkit/ManagementServices/ServiceConnectorHub/export_sch_nonGreenField.py index f15287d3d..e93e3b67f 100755 --- a/cd3_automation_toolkit/ManagementServices/ServiceConnectorHub/export_sch_nonGreenField.py +++ b/cd3_automation_toolkit/ManagementServices/ServiceConnectorHub/export_sch_nonGreenField.py @@ -43,10 +43,11 @@ def get_comp_details(comp_data): # Tags filter defined_tags = sch_details.data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Network/BaseNetwork/exportNSG.py b/cd3_automation_toolkit/Network/BaseNetwork/exportNSG.py index bec066766..950941c2a 100644 --- a/cd3_automation_toolkit/Network/BaseNetwork/exportNSG.py +++ b/cd3_automation_toolkit/Network/BaseNetwork/exportNSG.py @@ -218,10 +218,11 @@ def export_nsg(inputfile, outdir, service_dir,config,signer, ct, export_compartm # Tags filter defined_tags = vcn.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -242,10 +243,11 @@ def export_nsg(inputfile, outdir, service_dir,config,signer, ct, export_compartm # Tags filter defined_tags = nsg.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Network/BaseNetwork/exportRoutetable.py b/cd3_automation_toolkit/Network/BaseNetwork/exportRoutetable.py index 24940c820..72f3900b5 100644 --- a/cd3_automation_toolkit/Network/BaseNetwork/exportRoutetable.py +++ b/cd3_automation_toolkit/Network/BaseNetwork/exportRoutetable.py @@ -17,10 +17,11 @@ def get_network_entity_name(config,signer,network_identity_id,export_tags): # Tags filter for DRG attachment defined_tags = igw.data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -48,10 +49,11 @@ def get_network_entity_name(config,signer,network_identity_id,export_tags): # Tags filter for DRG attachment defined_tags = sgw.data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -80,10 +82,11 @@ def get_network_entity_name(config,signer,network_identity_id,export_tags): # Tags filter for DRG attachment defined_tags = ngw.data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -111,10 +114,11 @@ def get_network_entity_name(config,signer,network_identity_id,export_tags): # Tags filter for DRG attachment defined_tags = lpg.data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -158,10 +162,11 @@ def get_network_entity_name(config,signer,network_identity_id,export_tags): # Tags filter for DRG attachment defined_tags = drg.data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -268,10 +273,11 @@ def print_routetables(routetables,region,vcn_name,comp_name,export_tags,gw_route # Tags filter defined_tags = routetable.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -380,10 +386,11 @@ def export_drg_routetable(inputfile, outdir, service_dir,config1,signer1, ct, ex # Tags filter defined_tags = drg.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -412,10 +419,11 @@ def export_drg_routetable(inputfile, outdir, service_dir,config1,signer1, ct, ex # Tags filter defined_tags = drg_route_table_info.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -437,8 +445,8 @@ def export_drg_routetable(inputfile, outdir, service_dir,config1,signer1, ct, ex # Tags filter defined_tags = import_drg_route_distribution_info.defined_tags + tags_list = [] if defined_tags != {}: - tags_list = [] for tkey, tval in defined_tags.items(): for kk, vv in tval.items(): tag = tkey + "." + kk + "=" + vv diff --git a/cd3_automation_toolkit/Network/BaseNetwork/exportSeclist.py b/cd3_automation_toolkit/Network/BaseNetwork/exportSeclist.py index 44ff4f3df..a53685440 100644 --- a/cd3_automation_toolkit/Network/BaseNetwork/exportSeclist.py +++ b/cd3_automation_toolkit/Network/BaseNetwork/exportSeclist.py @@ -50,10 +50,11 @@ def print_secrules(seclists,region,vcn_name,comp_name,export_tags,state): # Tags filter defined_tags = seclist.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -283,10 +284,11 @@ def export_seclist(inputfile, outdir, service_dir,config,signer, ct, export_comp # Tags filter defined_tags = v.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Network/BaseNetwork/export_network_nonGreenField.py b/cd3_automation_toolkit/Network/BaseNetwork/export_network_nonGreenField.py index a39642f0e..ae7a17311 100644 --- a/cd3_automation_toolkit/Network/BaseNetwork/export_network_nonGreenField.py +++ b/cd3_automation_toolkit/Network/BaseNetwork/export_network_nonGreenField.py @@ -687,10 +687,11 @@ def export_major_objects(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter for DRG attachment defined_tags = drg_attachment_info.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -708,10 +709,11 @@ def export_major_objects(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter for DRG defined_tags = drg_info.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -952,10 +954,11 @@ def export_major_objects(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = vcn_info.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -982,10 +985,11 @@ def export_major_objects(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = drg_attachment_info.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1006,10 +1010,11 @@ def export_major_objects(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = drg_info.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1031,10 +1036,11 @@ def export_major_objects(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = igw.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1062,10 +1068,11 @@ def export_major_objects(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = ngw.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1093,10 +1100,11 @@ def export_major_objects(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = sgw.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1126,10 +1134,11 @@ def export_major_objects(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = lpg.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1226,10 +1235,11 @@ def export_dhcp(inputfile, outdir, service_dir, config, signer, ct, export_compa # Tags filter defined_tags = vcn.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1250,10 +1260,11 @@ def export_dhcp(inputfile, outdir, service_dir, config, signer, ct, export_compa # Tags filter defined_tags = dhcp.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1353,10 +1364,11 @@ def export_subnets_vlans(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = vcn.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1381,10 +1393,11 @@ def export_subnets_vlans(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = subnet.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1400,10 +1413,11 @@ def export_subnets_vlans(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = vnc.get_dhcp_options(dhcp_id).data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1423,10 +1437,11 @@ def export_subnets_vlans(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = vnc.get_route_table(rt_id).data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1448,10 +1463,11 @@ def export_subnets_vlans(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = vnc.get_security_list(sl_id).data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1498,10 +1514,11 @@ def export_subnets_vlans(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = vlan.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1518,10 +1535,11 @@ def export_subnets_vlans(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = vnc.get_route_table(rt_id).data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1543,10 +1561,11 @@ def export_subnets_vlans(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = vnc.get_network_security_group(nsg_id).data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Network/DNS/export_dns_resolvers.py b/cd3_automation_toolkit/Network/DNS/export_dns_resolvers.py index cc1661657..da22d814d 100644 --- a/cd3_automation_toolkit/Network/DNS/export_dns_resolvers.py +++ b/cd3_automation_toolkit/Network/DNS/export_dns_resolvers.py @@ -203,10 +203,11 @@ def export_dns_resolvers(inputfile, outdir, service_dir, config, signer, ct, exp # Tags filter defined_tags = resolver.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Network/DNS/export_dns_views_zones_records.py b/cd3_automation_toolkit/Network/DNS/export_dns_views_zones_records.py index 6926bfb93..f5a0a0f32 100644 --- a/cd3_automation_toolkit/Network/DNS/export_dns_views_zones_records.py +++ b/cd3_automation_toolkit/Network/DNS/export_dns_views_zones_records.py @@ -164,10 +164,11 @@ def export_dns_views_zones_rrsets(inputfile, outdir, service_dir, config, signer # Tags filter defined_tags = view_data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -193,10 +194,11 @@ def export_dns_views_zones_rrsets(inputfile, outdir, service_dir, config, signer # Tags filter defined_tags = zone_data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Network/LoadBalancers/export_lbr_nonGreenField.py b/cd3_automation_toolkit/Network/LoadBalancers/export_lbr_nonGreenField.py index c4a5b246e..c31fc16b0 100644 --- a/cd3_automation_toolkit/Network/LoadBalancers/export_lbr_nonGreenField.py +++ b/cd3_automation_toolkit/Network/LoadBalancers/export_lbr_nonGreenField.py @@ -151,10 +151,11 @@ def print_lbr_hostname_certs(region, ct, outdir, values_for_column_lhc, lbr, LBR # Tags filter defined_tags = eachlbr.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -435,10 +436,11 @@ def print_backendset_backendserver(region, ct, values_for_column_bss, lbr, LBRs, # Tags filter defined_tags = eachlbr.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -613,10 +615,11 @@ def print_listener(region, ct, values_for_column_lis, LBRs, lbr_compartment_name # Tags filter defined_tags = eachlbr.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -746,10 +749,11 @@ def print_rule(region, ct, values_for_column_rule, LBRs, lbr_compartment_name,ex # Tags filter defined_tags = eachlbr.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -878,10 +882,11 @@ def print_prs(region, ct, values_for_column_prs, LBRs, lbr_compartment_name,expo # Tags filter defined_tags = eachlbr.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -940,10 +945,11 @@ def print_routing_policies(region, ct, values_for_column_rp, LBRs, lbr_compartme # Tags filter defined_tags = eachlbr.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -1117,10 +1123,11 @@ def export_lbr(inputfile, outdir, service_dir, config1, signer1, ct, export_comp # Tags filter defined_tags = eachlbr.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Network/LoadBalancers/export_nlb_nonGreenField.py b/cd3_automation_toolkit/Network/LoadBalancers/export_nlb_nonGreenField.py index 9ec4f4718..df038c384 100644 --- a/cd3_automation_toolkit/Network/LoadBalancers/export_nlb_nonGreenField.py +++ b/cd3_automation_toolkit/Network/LoadBalancers/export_nlb_nonGreenField.py @@ -31,10 +31,11 @@ def print_nlb_backendset_backendserver(region, values_for_column_bss,NLBs, nlb_c # Tags filter defined_tags = eachnlb.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -167,10 +168,11 @@ def print_nlb_listener(region, outdir, values_for_column_lis, NLBs, nlb_compartm # Tags filter defined_tags = eachnlb.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -389,10 +391,11 @@ def export_nlb(inputfile, outdir, service_dir, config,signer, ct, export_compart # Tags filter defined_tags = eachnlb.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Release-Notes b/cd3_automation_toolkit/Release-Notes index 77730e449..19cdd4e54 100644 --- a/cd3_automation_toolkit/Release-Notes +++ b/cd3_automation_toolkit/Release-Notes @@ -1,3 +1,12 @@ +------------------------------------- +CD3 Automation Toolkit Tag v2025.1.2 +May 14th, 2025 +------------------------------------- +1. Jenkins version upgrade to 2.504.1 +2. Ability to process DRCC regions. +3. Ability to process regions where there are two data centers like Singapore. +4. Minor Bug fixes for defined tags filter, cd3Validator, RM stack upload. + ------------------------------------- CD3 Automation Toolkit Tag v2025.1.1 Apr 26th, 2025 diff --git a/cd3_automation_toolkit/SDDC/export_sddc_nonGreenField.py b/cd3_automation_toolkit/SDDC/export_sddc_nonGreenField.py index f117c7712..034a9d9ff 100644 --- a/cd3_automation_toolkit/SDDC/export_sddc_nonGreenField.py +++ b/cd3_automation_toolkit/SDDC/export_sddc_nonGreenField.py @@ -100,10 +100,11 @@ def export_sddc(inputfile, outdir, service_dir,config,signer, ct, export_compart # Tags filter defined_tags = sddc_cluster.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Security/Firewall/export_firewallpolicy_nonGreenField.py b/cd3_automation_toolkit/Security/Firewall/export_firewallpolicy_nonGreenField.py index 91de3645f..8d0c226b5 100644 --- a/cd3_automation_toolkit/Security/Firewall/export_firewallpolicy_nonGreenField.py +++ b/cd3_automation_toolkit/Security/Firewall/export_firewallpolicy_nonGreenField.py @@ -33,10 +33,11 @@ def print_firewall_policy(region, ct, values_for_column_fwpolicy, fwpolicies, fw # Tags filter defined_tags = eachfwpolicy.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -76,10 +77,11 @@ def print_firewall_address(region, ct, values_for_column_fwaddress, fwpolicies, # Tags filter defined_tags = policy.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -136,10 +138,11 @@ def print_firewall_urllist(region, ct, values_for_column_fwurllist, fwpolicies, # Tags filter defined_tags = urlpolicy.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -192,10 +195,11 @@ def print_firewall_servicelist(region, ct, values_for_column_fwservicelist, fwpo # Tags filter defined_tags = servicelistpolicy.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -308,10 +312,11 @@ def print_firewall_applist(region, ct, values_for_column_fwapplist, fwpolicies, # Tags filter defined_tags = applistpolicy.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -419,10 +424,11 @@ def print_firewall_secrules(region, ct, values_for_column_fwsecrules, fwpolicies # Tags filter defined_tags = secrulespolicy.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -527,10 +533,11 @@ def print_firewall_secret(region, ct, values_for_column_fwsecret, fwpolicies, fw # Tags filter defined_tags = secretpolicy.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -589,10 +596,11 @@ def print_firewall_decryptprofile(region, ct, values_for_column_fwdecryptprofile # Tags filter defined_tags = decryptionprofile.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -671,10 +679,11 @@ def print_firewall_decryptrule(region, ct, values_for_column_fwdecryptrule, fwpo # Tags filter defined_tags = decryptrulepolicy.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -752,10 +761,11 @@ def print_firewall_tunnelinspect(region, ct, values_for_column_fwtunnelinspect, # Tags filter defined_tags = tunnelinspectrulepolicy.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -930,10 +940,11 @@ def export_firewallpolicy(inputfile, _outdir, service_dir, config, signer, ct, e # Tags filter defined_tags = eachfwpolicy1.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Security/KeyVault/export_keyvaults_nonGreenField.py b/cd3_automation_toolkit/Security/KeyVault/export_keyvaults_nonGreenField.py index 9519b0daf..a42bc2031 100644 --- a/cd3_automation_toolkit/Security/KeyVault/export_keyvaults_nonGreenField.py +++ b/cd3_automation_toolkit/Security/KeyVault/export_keyvaults_nonGreenField.py @@ -78,10 +78,11 @@ def export_keyvaults(inputfile, outdir, service_dir, config, signer, ct, export_ # Tags filter defined_tags = get_vault_data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -117,10 +118,11 @@ def export_keyvaults(inputfile, outdir, service_dir, config, signer, ct, export_ # Tags filter defined_tags = key.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Storage/BlockVolume/export_blockvolumes_nonGreenField.py b/cd3_automation_toolkit/Storage/BlockVolume/export_blockvolumes_nonGreenField.py index e23924995..c6291fd02 100644 --- a/cd3_automation_toolkit/Storage/BlockVolume/export_blockvolumes_nonGreenField.py +++ b/cd3_automation_toolkit/Storage/BlockVolume/export_blockvolumes_nonGreenField.py @@ -68,10 +68,11 @@ def print_blockvolumes(region, BVOLS, bvol, compute, ct, values_for_column, ntk_ # Tags filter defined_tags = blockvols.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True diff --git a/cd3_automation_toolkit/Storage/ObjectStorage/export_terraform_oss.py b/cd3_automation_toolkit/Storage/ObjectStorage/export_terraform_oss.py index 0018fa6c6..02aa205f9 100644 --- a/cd3_automation_toolkit/Storage/ObjectStorage/export_terraform_oss.py +++ b/cd3_automation_toolkit/Storage/ObjectStorage/export_terraform_oss.py @@ -222,10 +222,11 @@ def export_buckets(inputfile, outdir, service_dir, config, signer, ct, export_co # Tags filter defined_tags = bucket_data.defined_tags tags_list = [] - for tkey, tval in defined_tags.items(): - for kk, vv in tval.items(): - tag = tkey + "." + kk + "=" + vv - tags_list.append(tag) + if defined_tags: + for tkey, tval in defined_tags.items(): + for kk, vv in tval.items(): + tag = tkey + "." + kk + "=" + vv + tags_list.append(tag) if export_tags == []: check = True @@ -275,9 +276,10 @@ def export_buckets(inputfile, outdir, service_dir, config, signer, ct, export_co rp_name = str(item.name) rp_id = str(item.id) rp_destination_bucket_name = str(item.destination_bucket_name) - rp_destination_region_name = str(item.destination_region_name) - region_parts = rp_destination_region_name.split("-") - rp_destination_region_name = region_parts[-2] + rp_destination_region_namee = str(item.destination_region_name) + #region_parts = rp_destination_region_name.split("-") + #rp_destination_region_name = region_parts[-2] + rp_destination_region_name = [k for k, v in ct.region_dict.items() if v == rp_destination_region_namee][0] rp_data = rp_name + "::" + rp_destination_region_name + "::" + rp_destination_bucket_name else: rp_data = None diff --git a/cd3_automation_toolkit/cd3Validator.py b/cd3_automation_toolkit/cd3Validator.py index 9b4a8eedf..7c75a6b0c 100644 --- a/cd3_automation_toolkit/cd3Validator.py +++ b/cd3_automation_toolkit/cd3Validator.py @@ -912,6 +912,7 @@ def validate_instances(filename,comp_ids,subnetobj,vcn_subnet_list,vcn_nsg_list) # Cross check the VCN names in Instances and VCNs sheet #vcn_subnet_check = compare_values(vcn_subnet_list.tolist(), columnvalue,[i, 'Subnet Name', 'SubnetsVLANs']) if ("::" not in columnvalue): + log(f'ROW {i + 3} : Invalid syntax at column "Network Details"') vcn_subnet_check = True diff --git a/cd3_automation_toolkit/commonTools.py b/cd3_automation_toolkit/commonTools.py index 6b9fb0329..60bc09bdf 100644 --- a/cd3_automation_toolkit/commonTools.py +++ b/cd3_automation_toolkit/commonTools.py @@ -7,6 +7,7 @@ import pathlib import urllib.request import oci +from copy import deepcopy from oci.identity import IdentityClient from oci.config import DEFAULT_LOCATION from openpyxl import load_workbook @@ -66,7 +67,8 @@ def __init__(self): self.domain_filter = None self.identity_domain_enabled = False self.reg_filter = None - self.comp_filter = None + #Should be None but changed to "null" to do a quick fix for ct.get_compartment_map + self.comp_filter = "null" self.tag_filter = None self.vizoci_comp_filter = None self.default_dns = None @@ -291,7 +293,17 @@ def get_subscribedregions(self, config,signer): idc = IdentityClient(config=config, retry_strategy=oci.retry.DEFAULT_RETRY_STRATEGY,signer=signer) regionsubscriptions = idc.list_region_subscriptions(tenancy_id=config['tenancy']) homeregion="" + new_config = deepcopy(config) for rs in regionsubscriptions.data: + try: + + new_config.__setitem__("region", rs.region_name) + idc = IdentityClient(config=new_config, retry_strategy=oci.retry.DEFAULT_RETRY_STRATEGY, signer=signer) + ADs_data = idc.list_availability_domains(compartment_id=config['tenancy']) + except Exception as e: + print("Skipping subscribed region "+rs.region_name+" . Check if domain is replicated for this region") + continue + if (rs.is_home_region == True): homeregion = rs.region_name for k, v in self.region_dict.items(): @@ -303,11 +315,12 @@ def get_subscribedregions(self, config,signer): # return subs region list to caller subs_region_list = [] - for reg in regionsubscriptions.data: - status = getattr(reg, 'status') + for rs in regionsubscriptions.data: + status = getattr(rs, 'status') if status == "READY": - region_name = getattr(reg, 'region_name') - subs_region_list.append(region_name.split("-")[1]) + for k, v in self.region_dict.items(): + if (rs.region_name == v): + subs_region_list.append(k) return subs_region_list #Get Compartment OCIDs @@ -378,6 +391,8 @@ def get_compartment_map(self, var_file, resource_name): else: pass else: + + #Code needs to change as we are not passing individual resource name now. But "OCI Resources" as export filter for compartments. print("\n") if resource_name in ["Compartments","IAM Policies","IAM Groups","IAM Users","Network Sources","Tagging Objects"]: input_compartment_names = None @@ -1298,9 +1313,37 @@ def fetch_regions(self,config,signer): os.chdir("../") tempStr = '#Region:Region_Key\n' + reg_dict = {} + for reg in regions_list: - cd3key = str(reg.name.split('-')[1]).lower() + cd3key = str(reg.name.split('-',1)[1]).lower() + + if 'dcc' in cd3key: + cd3key = str(cd3key.split('-',1)[1]).lower() + name = str(reg.name).lower() + reg_dict[cd3key] = name + + keys = [] + new_reg_dict={} + for key,val in reg_dict.items(): + keyy = key.split("-")[0] + if keyy not in keys: + keys.append(keyy) + new_reg_dict[keyy]=val + else: + new_reg_dict[key] = val + + #replace prev + old_val = new_reg_dict[keyy] + old_val_key = str(old_val.split('-', 1)[1]).lower() + if 'dcc' in old_val_key: + old_val_key = str(old_val_key.split('-', 1)[1]).lower() + + new_reg_dict[old_val_key] = old_val + new_reg_dict.pop(keyy) + + for cd3key,name in new_reg_dict.items(): line = cd3key + ":" + name tempStr = tempStr + line + '\n' diff --git a/cd3_automation_toolkit/example/CD3-Blank-template.xlsx b/cd3_automation_toolkit/example/CD3-Blank-template.xlsx index 58c01293e..bd05b65fe 100644 Binary files a/cd3_automation_toolkit/example/CD3-Blank-template.xlsx and b/cd3_automation_toolkit/example/CD3-Blank-template.xlsx differ diff --git a/cd3_automation_toolkit/example/CD3-CIS-ManagementServices-template.xlsx b/cd3_automation_toolkit/example/CD3-CIS-ManagementServices-template.xlsx index c8770310a..9b19a4d69 100644 Binary files a/cd3_automation_toolkit/example/CD3-CIS-ManagementServices-template.xlsx and b/cd3_automation_toolkit/example/CD3-CIS-ManagementServices-template.xlsx differ diff --git a/cd3_automation_toolkit/example/CD3-CIS-template.xlsx b/cd3_automation_toolkit/example/CD3-CIS-template.xlsx index dba983996..478d13cc1 100644 Binary files a/cd3_automation_toolkit/example/CD3-CIS-template.xlsx and b/cd3_automation_toolkit/example/CD3-CIS-template.xlsx differ diff --git a/cd3_automation_toolkit/example/CD3-Firewall-template.xlsx b/cd3_automation_toolkit/example/CD3-Firewall-template.xlsx index 7ae69ab13..af7a8c15d 100644 Binary files a/cd3_automation_toolkit/example/CD3-Firewall-template.xlsx and b/cd3_automation_toolkit/example/CD3-Firewall-template.xlsx differ diff --git a/cd3_automation_toolkit/example/CD3-HubSpoke-template.xlsx b/cd3_automation_toolkit/example/CD3-HubSpoke-template.xlsx index e393d6840..7a1471de2 100644 Binary files a/cd3_automation_toolkit/example/CD3-HubSpoke-template.xlsx and b/cd3_automation_toolkit/example/CD3-HubSpoke-template.xlsx differ diff --git a/cd3_automation_toolkit/example/CD3-SingleVCN-template.xlsx b/cd3_automation_toolkit/example/CD3-SingleVCN-template.xlsx index 72668ad47..bf9dcdbf2 100644 Binary files a/cd3_automation_toolkit/example/CD3-SingleVCN-template.xlsx and b/cd3_automation_toolkit/example/CD3-SingleVCN-template.xlsx differ diff --git a/cd3_automation_toolkit/user-scripts/createTenancyConfig.py b/cd3_automation_toolkit/user-scripts/createTenancyConfig.py index 4bb465b84..1c55600fa 100644 --- a/cd3_automation_toolkit/user-scripts/createTenancyConfig.py +++ b/cd3_automation_toolkit/user-scripts/createTenancyConfig.py @@ -473,14 +473,12 @@ def create_bucket(config, signer): devops_user_key = config.get('Default', 'oci_devops_git_key').strip() # Check if Jenkins was installed during image build - if environ.get('USE_DEVOPS') is None: use_devops_docker = "yes" else: use_devops_docker = os.environ['USE_DEVOPS'] use_devops_docker=use_devops_docker.lower() - if use_devops_docker != use_devops: use_devops = "no" diff --git a/jenkins_install/plugins.txt b/jenkins_install/plugins.txt index f25a4d0d4..174d70f5a 100644 --- a/jenkins_install/plugins.txt +++ b/jenkins_install/plugins.txt @@ -19,7 +19,7 @@ uno-choice:latest file-parameters:latest scriptler:latest ansicolor:latest -pipeline-graph-view:243.vc9e11fec486a_ +pipeline-graph-view:latest javax-mail-api:latest jdk-tool:latest trilead-api:latest