Skip to content

Commit bebbee1

Browse files
authored
Merge pull request #98 from oracle-devrel/develop
Automation Toolkit Release v2024.2.2
2 parents bc8ecc9 + 0f1b22c commit bebbee1

File tree

117 files changed

+2086
-3491
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+2086
-3491
lines changed

Dockerfile

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,58 @@
1-
FROM oraclelinux:7-slim
1+
FROM oraclelinux:9-slim
22
LABEL maintainer="Team at Oracle"
33
LABEL description="OCI format to generate CD3 image"
44

55
ARG USERNAME=cd3user
66
ARG USER_UID=1001
77
ARG USER_GID=$USER_UID
88

9-
RUN yum install sudo -y && groupadd --gid $USER_GID $USERNAME \
10-
&& useradd --uid $USER_UID --gid $USER_GID -d /$USERNAME -m $USERNAME \
11-
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
12-
&& chmod 0440 /etc/sudoers.d/$USERNAME \
13-
&& mkdir -p /cd3user/tenancies && sudo chown -R $USERNAME:$USERNAME /cd3user/tenancies/ \
14-
&& yum install -y vim && echo 'alias vi="vim"' >> /etc/bashrc
15-
9+
RUN microdnf install -y sudo && \
10+
groupadd --gid $USER_GID $USERNAME && \
11+
useradd --uid $USER_UID --gid $USER_GID -d /$USERNAME -m $USERNAME && \
12+
echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME && \
13+
chmod 0440 /etc/sudoers.d/$USERNAME && \
14+
mkdir -p /cd3user/tenancies && \
15+
chown -R $USERNAME:$USERNAME /cd3user/tenancies/ && \
16+
microdnf install -y vim && \
17+
microdnf install -y dnf && \
18+
echo 'alias vi="vim"' >> /etc/bashrc
1619

1720
USER $USERNAME
1821
WORKDIR /cd3user/oci_tools/
1922
COPY cd3_automation_toolkit cd3_automation_toolkit/
2023

2124
WORKDIR /cd3user/
2225

23-
RUN sudo yum install -y oracle-softwarecollection-release-el7 \
24-
&& sudo chown -R $USERNAME:$USERNAME /cd3user/
25-
26-
RUN sudo sed -i -e 's/\r$//' /cd3user/oci_tools/cd3_automation_toolkit/shell_script.sh \
27-
&& bash /cd3user/oci_tools/cd3_automation_toolkit/shell_script.sh \
28-
&& sudo chown -R cd3user:cd3user /cd3user/ && sudo yum clean all && sudo rm -rf /var/cache/yum \
29-
&& sudo chmod -R 740 /cd3user/
26+
RUN sudo dnf install -y oraclelinux-release-el9 && \
27+
sudo chown -R $USERNAME:$USERNAME /cd3user/ && \
28+
sudo sed -i -e 's/\r$//' /cd3user/oci_tools/cd3_automation_toolkit/shell_script.sh && \
29+
bash /cd3user/oci_tools/cd3_automation_toolkit/shell_script.sh && \
30+
sudo chown -R cd3user:cd3user /cd3user/ && \
31+
sudo dnf clean all && \
32+
sudo rm -rf /var/cache/dnf && \
33+
sudo chmod -R 740 /cd3user/
3034

3135

3236
##################################### START INSTALLING JENKINS ###################################
33-
ARG JENKINS_VERSION=2.401.1
34-
ARG JENKINS_SHA=600b73eabf797852e39919541b84f7686ff601b97c77b44eb00843eb91c7dd6c
37+
ARG JENKINS_VERSION=2.444
38+
ARG JENKINS_SHA=ab093a455fc35951c9b46361002e17cc3ed7c59b0943bbee3a57a363f3370d2e
3539
ARG JENKINS_PLUGIN_MANAGER_VERSION=2.12.13
3640
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
3741

3842
ARG JENKINS_HOME=/cd3user/tenancies/jenkins_home
3943
ARG JENKINS_INSTALL=/usr/share/jenkins
4044
ARG REF=/usr/share/jenkins/ref
4145

42-
RUN sudo yum remove java-1.8.0-openjdk-1.8.0.345.b01-1.el7_9.x86_64 \
43-
&& sudo yum install -y java-11-openjdk \
44-
&& sudo yum install -y java-11-openjdk-devel \
45-
&& sudo yum install unzip -y \
46-
&& sudo yum install git -y \
47-
&& sudo mkdir -p ${REF}/init.groovy.d \
48-
&& sudo chown -R cd3user:cd3user ${JENKINS_INSTALL} \
49-
&& sudo curl -fsSL http://updates.jenkins-ci.org/download/war/${JENKINS_VERSION}/jenkins.war -o ${JENKINS_INSTALL}/jenkins.war \
50-
&& echo "${JENKINS_SHA} ${JENKINS_INSTALL}/jenkins.war" | sha256sum -c - \
51-
&& sudo curl -fsSL ${PLUGIN_CLI_URL} -o ${JENKINS_INSTALL}/jenkins-plugin-manager.jar
46+
RUN sudo microdnf install -y java-21-openjdk && \
47+
sudo microdnf install -y java-21-openjdk-devel && \
48+
sudo microdnf install git-2.39.3 -y && \
49+
sudo mkdir -p ${REF}/init.groovy.d && \
50+
sudo chown -R cd3user:cd3user ${JENKINS_INSTALL} && \
51+
sudo curl -fsSL http://updates.jenkins-ci.org/download/war/${JENKINS_VERSION}/jenkins.war -o ${JENKINS_INSTALL}/jenkins.war && \
52+
echo "${JENKINS_SHA} ${JENKINS_INSTALL}/jenkins.war" | sha256sum -c - && \
53+
sudo curl -fsSL ${PLUGIN_CLI_URL} -o ${JENKINS_INSTALL}/jenkins-plugin-manager.jar
5254

53-
ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-11.0.17.0.8-2.el8_6.x86_64
55+
ENV JAVA_HOME /usr/lib/jvm/java-21-openjdk
5456
ENV JENKINS_HOME ${JENKINS_HOME}
5557
ENV JENKINS_INSTALL ${JENKINS_INSTALL}
5658
ENV REF ${REF}
@@ -65,7 +67,6 @@ COPY --chown=cd3user:cd3user jenkins_install ${JENKINS_INSTALL}/
6567
COPY --chown=cd3user:cd3user jenkins_install/init/*.groovy ${REF}/init.groovy.d/
6668
COPY --chown=cd3user:cd3user jenkins_install/plugins.txt ${REF}/plugins.txt
6769

68-
69-
RUN sudo java -jar ${JENKINS_INSTALL}/jenkins-plugin-manager.jar --war ${JENKINS_INSTALL}/jenkins.war --verbose -f ${REF}/plugins.txt \
70-
&& sudo chown -R cd3user:cd3user ${JENKINS_INSTALL} \
71-
&& sudo chmod +x ${JENKINS_INSTALL}/jenkins.sh
70+
RUN sudo java -jar ${JENKINS_INSTALL}/jenkins-plugin-manager.jar --war ${JENKINS_INSTALL}/jenkins.war --verbose -f ${REF}/plugins.txt && \
71+
sudo chown -R cd3user:cd3user ${JENKINS_INSTALL} && \
72+
sudo chmod +x ${JENKINS_INSTALL}/jenkins.sh

OCIWorkVMStack/data_sources.tf

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,17 @@ data "oci_identity_compartment" "compartment" {
1919

2020
data "oci_core_images" "oracle_linux" {
2121
compartment_id = var.tenancy_ocid
22-
operating_system = "Oracle Linux"
23-
shape = var.instance_shape
22+
#operating_system = "Oracle Linux"
23+
#shape = var.instance_shape
24+
display_name = var.instance_os_version
2425
sort_by = "TIMECREATED"
2526
sort_order = "DESC"
2627
state = "AVAILABLE"
2728

2829
# filter restricts to OL
29-
filter {
30-
name = "operating_system_version"
31-
values = ["${local.os_version}"]
32-
regex = false
33-
}
30+
#filter {
31+
# name = "operating_system_version"
32+
# values = ["${local.os_version}"]
33+
# regex = false
34+
#}
3435
}

OCIWorkVMStack/locals.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ locals {
1919
listing_resource_id = var.mp_listing_resource_id
2020
listing_resource_version = var.mp_listing_resource_version
2121

22-
os_version = var.instance_os_version == "Oracle-Linux-9" ? 9 : (var.instance_os_version == "Oracle-Linux-8" ? 8 : 7.9)
22+
#os_version = var.instance_os_version == "Oracle-Linux-9" ? 9 : (var.instance_os_version == "Oracle-Linux-8" ? 8 : 7.9)
2323

2424
instance_image_ocid = data.oci_core_images.oracle_linux.images[0].id
2525

OCIWorkVMStack/schema.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,10 @@ variables:
127127
description: Oracle Linux image OCID for VM provisioning
128128
type: enum
129129
enum:
130-
- "Oracle-Linux-7"
131-
default: "Oracle-Linux-7"
130+
- "Oracle-Linux-7.9-2024.02.26-0"
131+
- "Oracle-Linux-8.9-2024.02.26-0"
132+
- "Oracle-Linux-9.3-2024.02.26-0"
133+
default: "Oracle-Linux-9.3-2024.02.26-0"
132134
#pattern: '^ocid1\.([a-z0-9_-]{1,32})\.([a-z0-9_-]{1,15})\.([a-z0-9]{0,24})\.([a-z0-9]{60})$'
133135
required: true
134136
instance_shape:
@@ -429,4 +431,4 @@ variables:
429431
mp_listing_resource_version:
430432
type: string
431433
tenancy_ocid:
432-
type: string
434+
type: string

OCIWorkVMStack/scripts/installToolkit.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ echo "********************************************************" >> $logfile 2>&1
6767
echo "########################################################" >> $logfile 2>&1
6868
echo "Downloading CD3 Automation Toolkit Code from Github " >> $logfile 2>&1
6969
echo "########################################################" >> $logfile 2>&1
70-
sudo git clone https://github.com/oracle-devrel/cd3-automation-toolkit.git -b develop $toolkit_dir >> $logfile 2>&1
70+
sudo git clone https://github.com/oracle-devrel/cd3-automation-toolkit.git -b develop $toolkit_dir >> $logfile 2>&1
7171
stop_exec
7272
sudo ls -la /tmp/githubCode >> $logfile 2>&1
7373
echo "Downloading CD3 Automation Toolkit Code from Github completed successfully" >> $logfile 2>&1

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<br>
99

10-
[What's New](https://github.com/oracle-devrel/cd3-automation-toolkit/releases/tag/v2024.2.1) &nbsp;&nbsp;&nbsp; &nbsp;[Excel Templates](https://oracle-devrel.github.io/cd3-automation-toolkit/excel-templates) &nbsp;&nbsp;&nbsp; &nbsp; [CD3 Docs](https://oracle-devrel.github.io/cd3-automation-toolkit/)&nbsp; &nbsp;&nbsp;&nbsp; [Watch & Learn](https://www.youtube.com/playlist?list=PLPIzp-E1msrbJ3WawXVhzimQnLw5iafcp) &nbsp;&nbsp;&nbsp;&nbsp;[Blogs & Tutorials](https://oracle-devrel.github.io/cd3-automation-toolkit/tutorials/) &nbsp;&nbsp;&nbsp;&nbsp;[OCI CD3-Livelabs](https://apexapps.oracle.com/pls/apex/f?p=133:180:112501098061930::::wid:3724)
10+
[What's New](https://github.com/oracle-devrel/cd3-automation-toolkit/releases/tag/v2024.2.2) &nbsp;&nbsp;&nbsp; &nbsp;[Excel Templates](https://oracle-devrel.github.io/cd3-automation-toolkit/excel-templates) &nbsp;&nbsp;&nbsp; &nbsp; [CD3 Docs](https://oracle-devrel.github.io/cd3-automation-toolkit/)&nbsp; &nbsp;&nbsp;&nbsp; [Watch & Learn](https://www.youtube.com/playlist?list=PLPIzp-E1msrbJ3WawXVhzimQnLw5iafcp) &nbsp;&nbsp;&nbsp;&nbsp;[Blogs & Tutorials](https://oracle-devrel.github.io/cd3-automation-toolkit/tutorials/) &nbsp;&nbsp;&nbsp;&nbsp;[OCI CD3-Livelabs](https://apexapps.oracle.com/pls/apex/f?p=133:180:112501098061930::::wid:3724)
1111

1212
<br>
1313

cd3_automation_toolkit/Governance/Tagging/create_terraform_tags.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -216,23 +216,23 @@ def create_terraform_tags(inputfile, outdir, service_dir, prefix, ct):
216216
if default_value != "" and str(default_value).lower() != "nan":
217217
if '$' in default_value and default_value.count('$') == 1:
218218
default_value = str(default_value).strip().replace('$','$$')
219-
#is_required = 'false' #Uncomment this line if needed
220-
columnvalue = key_tf_name+"="+default_compartment+"="+default_value#+"="+is_required #Uncomment this if needed
219+
is_required = 'false' #Uncomment this line if needed
220+
columnvalue = key_tf_name+"="+default_compartment+"="+default_value+"="+is_required #Uncomment this if needed
221221
if columnvalue not in default_tags:
222222
default_tags.append(columnvalue)
223223
else:
224224
if default_value == '' or default_value.strip().lower() == 'nan':
225225
if str(df.loc[i,'Validator']).strip() != '' and str(df.loc[i,'Validator']).strip().lower() != 'nan' and str(df.loc[i,'Validator']).strip() != []:
226-
#is_required_updated = 'true' #Uncomment this if needed
226+
is_required_updated = 'true' #Uncomment this if needed
227227
default_value = values_list[0]
228-
columnvalue = key_tf_name+"="+default_compartment+"="+default_value#+"="+is_required_updated #Uncomment this if needed
228+
columnvalue = key_tf_name+"="+default_compartment+"="+default_value+"="+is_required_updated #Uncomment this if needed
229229
if columnvalue not in default_tags:
230230
default_tags.append(columnvalue)
231231
else:
232232
if str(df.loc[i, 'Validator']).strip() == '' or str(df.loc[i, 'Validator']).strip().lower() == 'nan':
233-
#is_required_updated = 'true' #Uncomment this if needed
233+
is_required_updated = 'true' #Uncomment this if needed
234234
default_value = '-'
235-
columnvalue = key_tf_name+"="+default_compartment+"="+default_value#+"="+is_required_updated #Uncomment this if needed
235+
columnvalue = key_tf_name+"="+default_compartment+"="+default_value+"="+is_required_updated #Uncomment this if needed
236236
if columnvalue not in default_tags:
237237
default_tags.append(columnvalue)
238238

cd3_automation_toolkit/Governance/Tagging/export_tags_nonGreenField.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,10 @@ def export_tags_nongreenfield(inputfile, outdir, service_dir, config, signer, ct
149149
if tag_defaults.data != []:
150150
for tag_default in tag_defaults.data:
151151
if tag_default.tag_definition_name != '(deleted tag definition)':
152-
add_values_in_dict(tag_default_comps_map, tag_default.tag_definition_id+"="+tag_default.tag_definition_name, [ntk_compartment_name+"="+tag_default.value])
152+
my_val=tag_default.value
153+
if tag_default.is_required==True:
154+
my_val=""
155+
add_values_in_dict(tag_default_comps_map, tag_default.tag_definition_id+"="+tag_default.tag_definition_name, [ntk_compartment_name+"="+my_val])
153156
defaultcomp_to_tagid_map.update({ commonTools.check_tf_variable(str(tag_default.tag_definition_name).replace('\\','\\\\'))+"-"+commonTools.check_tf_variable(ntk_compartment_name) : tag_default.id })
154157

155158
comp_ocid_done = []

cd3_automation_toolkit/Governance/Tagging/templates/tags-defaults-template

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ tag_defaults = {
2222
compartment_id = "{{ tags.split('=')[1] }}"
2323
value = "{{ tags.split('=')[2] }}"
2424

25-
{# is_required = {{ tags.split('=')[3] }} #} {# Uncomment this line if needed #}
25+
is_required = {{ tags.split('=')[3] }}
2626
},
2727
{% endfor %}
2828

cd3_automation_toolkit/Identity/Compartments/create_terraform_compartments.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ def travel(parent, keys, values, c):
243243
oname[reg].close()
244244
print(outfile[reg] + " for Compartments has been created for region " + reg)
245245

246-
fetch_comp_file = f'{outdir}/fetchcompinfo.safe'
246+
fetch_comp_file = f'{outdir}/.safe/fetchcompinfo.safe'
247247
with open(fetch_comp_file, 'w') as f:
248248
f.write('run_fetch_script=1')
249249
f.close()

cd3_automation_toolkit/ManagementServices/EventsAndNotifications/export_events_notifications_nonGreenField.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -118,15 +118,16 @@ def print_events(values_for_column_events, region, ntk_compartment_name, event,
118118
data = str(condition["data"])
119119
else:
120120
data = "{}"
121-
for val in condition["eventType"]:
122-
if "oraclecloud" in val:
123-
service = val.split("com.oraclecloud.")[1]
124-
elif "oracle" in val:
125-
service = val.split("com.oracle.")[1]
126-
event_prod = service.split('.', 1)[0]
127-
event_res = service.split('.', 1)[1]
128-
if ( action_name != "" ):
129-
events_rows(values_for_column_events, region, ntk_compartment_name, event_name, event_desc, action_type, action_is_enabled, action_description, event_prod, event_res,data, event_is_enabled, action_name, event, event_info)
121+
if "eventType" in condition:
122+
for val in condition["eventType"]:
123+
if "oraclecloud" in val:
124+
service = val.split("com.oraclecloud.")[1]
125+
elif "oracle" in val:
126+
service = val.split("com.oracle.")[1]
127+
event_prod = service.split('.', 1)[0]
128+
event_res = service.split('.', 1)[1]
129+
if ( action_name != "" ):
130+
events_rows(values_for_column_events, region, ntk_compartment_name, event_name, event_desc, action_type, action_is_enabled, action_description, event_prod, event_res,data, event_is_enabled, action_name, event, event_info)
130131
if ( i > 0 and action_name != ""):
131132
events_rows(values_for_column_events, region, ntk_compartment_name, event_name, event_desc, action_type, action_is_enabled, action_description, event_prod, event_res,data, event_is_enabled, action_name, event, event_info)
132133
i = i + 1

cd3_automation_toolkit/ManagementServices/Monitoring/create_terraform_alarms.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ def create_terraform_alarms(inputfile, outdir, service_dir, prefix, ct):
161161

162162

163163
# Write all info to TF string
164-
tfStr[region]=tfStr[region][:-1] +alarms_template.render(tempStr)
164+
tfStr[region]=tfStr[region][:-2] +alarms_template.render(tempStr)
165165

166166
# Write to output
167167
for reg in ct.all_regions:

cd3_automation_toolkit/ManagementServices/Monitoring/templates/alarms-template

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,13 @@ alarms = {
2222
query = "{{ query }}"
2323
severity = "{{ severity }}"
2424
{% if body and body != "" %}
25+
{% if '\n' not in body %}
2526
body = "{{ body }}"
27+
{% else %}
28+
body = <<-EOF
29+
{{ body }}
30+
EOF
31+
{% endif %}
2632
{% endif %}
2733

2834
{% if message_format and message_format != "" %}

cd3_automation_toolkit/Network/BaseNetwork/create_all_tf_objects.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,11 @@ def create_all_tf_objects(inputfile, outdir, service_dir,prefix, ct, non_gf_tena
3636
with section('Process DRGs tab for DRG Route Tables and Route Distribution creation'):
3737
create_terraform_drg_route(inputfile, outdir, service_dir_network, prefix, ct, non_gf_tenancy, network_connectivity_in_setupoci, modify_network)
3838

39+
#Create Workflow
3940
if non_gf_tenancy == False:
4041
with section('Process Subnets tab for Routes creation'):
4142
create_terraform_route(inputfile, outdir, service_dir_network, prefix, ct, non_gf_tenancy, network_vlan_in_setupoci, modify_network)
42-
43+
# Create Workflow
4344
if non_gf_tenancy == False:
4445
with section('Process Subnets for Seclists creation'):
4546
create_terraform_seclist(inputfile, outdir, service_dir_network, prefix, ct, modify_network)

0 commit comments

Comments
 (0)