diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4bd9f8019320029a11172a0f31fe3e609694c39a..c8a45b2b4c056cd0127bba8fd77101873d6fcd9e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -104,98 +104,6 @@ build_docker_image: - Dockerfile allow_failure: true -build_base_image: - stage: build - tags: - - build - script: - - | - if [ -n "${BUILT_BASE_IMAGE_ID}" ]; then - exit 0 - fi - - *update_ansible_repo - - *get_ansible_files - - export REPO_HEAD=$(git rev-parse --short HEAD) - - export PKR_VAR_flavor="${BASE_BUILD_FLAVOR:-$PKR_VAR_flavor}" - - export PKR_VAR_build_instance_name="base-${REPO_HEAD}" - - export PKR_VAR_image_date_suffix=false - - | - if [ $CI_PIPELINE_SOURCE == 'merge_request_event' ]; then - export PKR_VAR_image_name="base-PR-${CI_MERGE_REQUEST_IID}" - elif [ $CI_PIPELINE_SOURCE == 'schedule' ]; then - export PKR_VAR_image_name="base-${BUILD_DATE}" - fi - - packer init openstack - - packer validate openstack - - packer build -machine-readable openstack | tee base_build.log - - export BUILT_BASE_IMAGE_ID=$(grep 'Image:' base_build.log | awk '{print $4}') - - echo BUILT_BASE_IMAGE_ID=${BUILT_BASE_IMAGE_ID} | tee -a $CI_PROJECT_DIR/image.env - - openstack image unset --property signature_verified $BUILT_BASE_IMAGE_ID - artifacts: - reports: - dotenv: image.env - expire_in: 30 days - -build_compute_image: - stage: build - needs: [build_base_image] - tags: - - build - script: - - *update_ansible_repo - - *get_ansible_files - - export PKR_VAR_source_image=${BUILT_BASE_IMAGE_ID} - - export REPO_HEAD=$(git rev-parse --short HEAD) - - export PKR_VAR_flavor="${COMPUTE_BUILD_FLAVOR:-$PKR_VAR_flavor}" - - export PKR_VAR_build_instance_name="compute-${REPO_HEAD}" - - export PKR_VAR_image_date_suffix=false - - | - if [ $CI_PIPELINE_SOURCE == 'merge_request_event' ]; then - export PKR_VAR_image_name="compute-PR-${CI_MERGE_REQUEST_IID}" - elif [ $CI_PIPELINE_SOURCE == 'schedule' ]; then - export PKR_VAR_image_name="compute-${BUILD_DATE}" - fi - - packer init openstack-compute - - packer validate openstack-compute - - packer build -machine-readable openstack-compute | tee compute_build.log - -build_gpu_image: - stage: build - needs: [build_base_image] - tags: - - build - script: - - *update_ansible_repo - - *get_ansible_files - - FAILED=false - - export GPU_PLACEHOLDER_NAME="gpu1-placeholder" - - export GPU_PLACEHOLDER_FLAVOR="gpu1.medium" - - export GPU_PLACEHOLDER_IMAGE="CentOS-7-x86_64-GenericCloud-2009" - - export PKR_VAR_source_image=${BUILT_BASE_IMAGE_ID} - - export REPO_HEAD=$(git rev-parse --short HEAD) - - export PKR_VAR_flavor="${GPU_BUILD_FLAVOR:-gpu1.medium}" - - export PKR_VAR_build_instance_name="gpu-${REPO_HEAD}" - - export PKR_VAR_image_date_suffix=false - - | - if [ $CI_PIPELINE_SOURCE == 'merge_request_event' ]; then - export PKR_VAR_image_name="gpu-PR-${CI_MERGE_REQUEST_IID}" - elif [ $CI_PIPELINE_SOURCE == 'schedule' ]; then - export PKR_VAR_image_name="gpu-${BUILD_DATE}" - fi - - packer init openstack-gpu - - packer validate openstack-gpu - - openstack server delete --wait $GPU_PLACEHOLDER_NAME - - packer build -machine-readable openstack-gpu | tee gpu_build.log || FAILED=true - - openstack server create --image $GPU_PLACEHOLDER_IMAGE --network cicd-net --flavor $GPU_PLACEHOLDER_FLAVOR $GPU_PLACEHOLDER_NAME - - | - if [ "$FAILED" = true ]; then - exit 1 - fi - rules: - - if: $SKIP_GPU_BUILD == "true" - when: never - - when: always - build_ood_image: stage: build tags: