From 77b97ad817eebfcae7e1206c0236887424fa9fd6 Mon Sep 17 00:00:00 2001 From: Frank Brehm Date: Fri, 26 Jun 2020 11:50:52 +0200 Subject: [PATCH] Adding a job for creating a CentOS-7 template --- .gitlab-ci.yml | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fa0ebf1..7b8e566 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -135,6 +135,77 @@ Linter: - /^hf.*$/ - tags +Create Centos7 template: + <<: *job_definition + stage: deploy + variables: + OS_ID: centos7 + VM_OS_VERSION: 'centos7_64Guest' + COBBLER_DISTRO: 'CentOS-7.8-x86_64' + script: + - hostname -f + - whoami + - pwd + - which python3 + - 'echo "Environment:"; env | sed -e "s/^ROOT_PASSWORD=.*/ROOT_PASSWORD=********/" | sort -i -f; echo' + - 'echo "Ref name: ${CI_COMMIT_REF_NAME}"; echo "System status: ${SYSTEM_STATUS}"' + - 'echo "Configuration file: \"${CONFIG_FILE}\""' + - 'cp -v /dev/null "${CONFIG_FILE}"' + - 'echo "[vSphere]" > "${CONFIG_FILE}"' + - 'echo "host = ${VSPHERE_HOST}" >> "${CONFIG_FILE}"' + - 'echo "port = ${VSPHERE_API_PORT}" >> "${CONFIG_FILE}"' + - 'echo "user = ${VSPHERE_API_USER}" >> "${CONFIG_FILE}"' + - 'echo "password = ${VSPHERE_API_PASSWD_PROD}" >> "${CONFIG_FILE}"' + - 'echo "dc = ${VSPHERE_DC}" >> "${CONFIG_FILE}"' + - 'echo "cluster = ${VSPHERE_CLUSTER}" >> "${CONFIG_FILE}"' + - 'echo "folder = ${VSPHERE_VM_FOLDER}" >> "${CONFIG_FILE}"' + - 'echo "max_nr_templates_stay = ${MAX_NR_TEMPLATES_STAY}" >> "${CONFIG_FILE}"' + - 'echo "" >> "${CONFIG_FILE}"' + - 'echo "[Template]" >> "${CONFIG_FILE}"' + - 'echo "os_id = ${OS_ID}" >> "${CONFIG_FILE}"' + - 'echo "vmware_cfg_version = ${VMWARE_CONFIG_VERSION}" >> "${CONFIG_FILE}"' + - 'echo "os_version = ${VM_OS_VERSION}" >> "${CONFIG_FILE}"' + - 'echo "swap_space_mb = ${SWAP_SPACE_MB}" >> "${CONFIG_FILE}"' + - 'echo "data_size_gb = ${VM_DISK_SIZE_GB}" >> "${CONFIG_FILE}"' + - 'echo "num_cpus = ${VM_NUM_CPUS}" >> "${CONFIG_FILE}"' + - 'echo "ram_mb = ${VM_RAM_MB}" >> "${CONFIG_FILE}"' + - 'echo "network = ${VM_NETWORK}" >> "${CONFIG_FILE}"' + - 'echo "root_password = ${ROOT_PASSWORD}" >> "${CONFIG_FILE}"' + - 'echo "" >> "${CONFIG_FILE}"' + - 'echo "[Cobbler]" >> "${CONFIG_FILE}"' + - 'echo "host = ${COBBLER_HOST}" >> "${CONFIG_FILE}"' + - 'echo "ssh_user = ${COBBLER_SSH_USER}" >> "${CONFIG_FILE}"' + - 'echo "ssh_timeout = ${COBBLER_SSH_TIMEOUT}" >> "${CONFIG_FILE}"' + - 'echo "distro = ${COBBLER_DISTRO}" >> "${CONFIG_FILE}"' + - 'echo "root_dir = ${COBBLER_ROOT_DIR}" >> "${CONFIG_FILE}"' + - 'echo "webserver_docroot = ${COBBLER_WS_DOCROOT}" >> "${CONFIG_FILE}"' + - 'echo "nameservers = ${COBBLER_DNS_SERVERS}" >> "${CONFIG_FILE}"' + - 'echo "dns_search = ${COBBLER_DNS_SEARCH}" >> "${CONFIG_FILE}"' + - 'echo "system_status = ${SYSTEM_STATUS}" >> "${CONFIG_FILE}"' + - 'echo "" >> "${CONFIG_FILE}"' + - 'echo "[Timeouts]" >> "${CONFIG_FILE}"' + - 'echo "max_wait_for_general = ${MAX_WAIT_GENERAL}" >> "${CONFIG_FILE}"' + - 'echo "max_wait_for_shutdown_vm = ${MAX_WAIT_SHUTDOWN}" >> "${CONFIG_FILE}"' + - 'echo "max_wait_for_finish_install = ${MAX_WAIT_FOR_FINISH_INSTALL}" >> "${CONFIG_FILE}"' + - 'echo "" >> "${CONFIG_FILE}"' + - 'echo "; vim: filetype=dosini" >> "${CONFIG_FILE}"' + - 'echo "Generated ${CONFIG_FILE}:"; + ls -l "${CONFIG_FILE}" || true; + echo; + echo "-->"; + cat "${CONFIG_FILE}" | sed -e "s/^\(root_password\) .*/\1 = ********/" -e "s/^\(password\) .*/\1 = ********/"; + echo "<-- EOF"' + - bin/create-vmware-template --verbose --color yes --config "${CONFIG_FILE}" + environment: + name: ${SYSTEM_STATUS} + except: + - /^dev-.*$/ + - /^dev\/.*$/ + - /^hf.*$/ + - tags +# only: +# - schedules + Create Centos8 template: <<: *job_definition stage: deploy @@ -195,6 +266,7 @@ Create Centos8 template: echo "-->"; cat "${CONFIG_FILE}" | sed -e "s/^\(root_password\) .*/\1 = ********/" -e "s/^\(password\) .*/\1 = ********/"; echo "<-- EOF"' + - bin/waitfor 600 - bin/create-vmware-template --verbose --color yes --config "${CONFIG_FILE}" environment: name: ${SYSTEM_STATUS} -- 2.39.5