Skip to content
Snippets Groups Projects

Draft: Feat proxy build ci

1 file
+ 47
0
Compare changes
  • Side-by-side
  • Inline
+ 47
0
@@ -196,6 +196,53 @@ build_gpu_image:
@@ -196,6 +196,53 @@ build_gpu_image:
when: never
when: never
- when: always
- when: always
 
build_proxy_image:
 
stage: build
 
tags:
 
- build
 
script:
 
- *update_ansible_repo
 
- *get_ansible_files
 
- >
 
curl --header "PRIVATE-TOKEN: ${ANSIBLE_VAR_TOKEN}"
 
"${CI_API_V4_URL}/projects/2836/repository/files/knightly/raw?ref=main"
 
-o CRI_XCBC/group_vars/proxy
 
 
# var sub for secrets in group_vars
 
- 'sed -i -E "s/(enable_sshpiper: ).*/\1\"${enable_sshpiper}\"/" CRI_XCBC/group_vars/all'
 
- 'sed -i -E "s/(enable_ood_proxy: ).*/\1\"${enable_ood_proxy}\"/" CRI_XCBC/group_vars/all'
 
# setting vars in artifact based on event
 
- export PKR_VAR_flavor="${PROXY_BUILD_FLAVOR:-$PKR_VAR_flavor}" # Flavor setting
 
- |
 
if [ $CI_PIPELINE_SOURCE == 'merge_request_event' ]; then
 
export PKR_VAR_image_name="PROXY-PR-${CI_MERGE_REQUEST_IID}"
 
export FLOATING_IP=$(openstack floating ip create ${PKR_VAR_floating_ip_network} -f value -c floating_ip_address)
 
echo INSTANCE_FLAVOR="${PKR_VAR_flavor}" | tee -a $CI_PROJECT_DIR/image.env
 
echo PROXY_INSTANCE_NAME="proxy-PR-${CI_MERGE_REQUEST_IID}" | tee -a $CI_PROJECT_DIR/image.env
 
echo FLOATING_IP=$FLOATING_IP | tee -a $CI_PROJECT_DIR/image.env
 
sed -i -E "s/(ood_servername: ).*/\1\"$CI_COMMIT_REF_SLUG.$FLOATING_IP.nip.io\"/" CRI_XCBC/group_vars/knightly
 
elif [ $CI_PIPELINE_SOURCE == 'schedule' ]; then
 
export PKR_VAR_image_name="PROXY-${BUILD_DATE}"
 
echo INSTANCE_FLAVOR="${PROXY_INSTANCE_FLAVOR:-cpu16-64g}" | tee -a $CI_PROJECT_DIR/image.env
 
echo PROXY_INSTANCE_NAME="PROXY-knightly" | tee -a $CI_PROJECT_DIR/image.env
 
echo FLOATING_IP=$TEST_IP | tee -a $CI_PROJECT_DIR/image.env
 
fi
 
- >
 
export PKR_VAR_build_instance_name="proxy-${CRI_XCBC_HEAD}"
 
export PKR_VAR_image_date_suffix=false
 
# packer build
 
- packer init openstack-proxy
 
- packer validate openstack-proxy
 
packer build -machine-readable openstack-proxy | tee proxy_build.log
 
# setting vars for artifacts
 
- export BUILT_PROXY_IMAGE_ID=$(grep 'Image:' proxy_build.log | awk '{print $4}')
 
- echo BUILT_PROXY_IMAGE_ID=${BUILT_PROXY_IMAGE_ID} | tee -a $CI_PROJECT_DIR/image.env
 
# set image property to convey point of time for image build
 
- openstack image set --property CRI_XCBC_prod=${CRI_XCBC_prod} --property CRI_XCBC_dev=${CRI_XCBC_dev} --property PACKER_IMAGE_HEAD=${PACKER_IMAGE_HEAD} ${BUILT_PROXY_IMAGE_ID}
 
artifacts:
 
reports:
 
dotenv: image.env
 
build_ood_image:
build_ood_image:
stage: build
stage: build
tags:
tags:
Loading