]> Frank Brehm's Git Trees - pixelpark/create-vmware-tpl.git/commitdiff
Adding a job for creating a CentOS-7 template
authorFrank Brehm <frank.brehm@pixelpark.com>
Fri, 26 Jun 2020 09:50:52 +0000 (11:50 +0200)
committerFrank Brehm <frank.brehm@pixelpark.com>
Fri, 26 Jun 2020 09:50:52 +0000 (11:50 +0200)
.gitlab-ci.yml

index fa0ebf1da9556f2354fcf2f1e1c44010d50ff0b3..7b8e566ead544cbbc78a27c1ab446e8e9dc071f9 100644 (file)
@@ -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}