#============================================================================== # # DESCRIPTION: Recipe to build a custom Grid'5000 environment on top of an # existing pre-built one (such as one supported by the technical team). # The recipe downloads everything needed to launch an experiment on the cache # #============================================================================== --- extend: grid5000/from_grid5000_environment/base.yaml global: ### Grid'5000 environment information ## (Uncomment and change any line if needed) ## Frontend to run kaenv3 on #grid5000_frontend: "frontend" ## Site used in the build grid5000_site: "rennes" ## Environment to build from #grid5000_environment_import_name: "debian11-min" #grid5000_environment_import_user: "deploy" #grid5000_environment_import_version: "" #grid5000_environment_import_arch: "x86_64" ## New environment description #grid5000_environment_export_name: "$${kameleon_recipe_name}" #grid5000_environment_export_format: "tar.zst" #grid5000_environment_export_description: "Customized $${grid5000_environment_import_name}" #grid5000_environment_export_visibility: "shared" ## Set where to store the environment and the assiated kadeploy URL base #grid5000_environment_export_dir: "$HOME/public/" #grid5000_environment_export_baseurl: "local://$HOME/public/" ## Optionaly, the environment postinstall script can be changed, e.g. to ## enable NFS homes, LDAP accounts, if not enabled in the imported env. #grid5000_environment_export_postinstall_script: "g5k-postinstall --net debian --fstab nfs --restrict-user current" ## Optionaly, an additional postinstall can be given, e.g. to do some custom ## operations. Use the following variables to set the archive name and script. #grid5000_environment_export_additional_postinstall_archive: "$${kameleon_recipe_name}-additional-postinstall.tar.gz" #grid5000_environment_export_additional_postinstall_script: "additional_postinstall.sh" ## The recipe will have to prepare the additional postinstall content in a ## directory to create in the local context and name "additional_postinstall" ## by default (next line to change it). The archive is created by the export. #grid5000_environment_export_additional_postinstall_dir: "additional_postinstall" ### Target machine/CPU architecture ## If building an environment for another architecture than x86_64, you may need to ## uncomment and adapt the next lines, in order for qemu to function. ## Set the qemu arch name: qemu uses ppc64, not ppc64le. #qemu_arch: ppc64 ## Make qemu use UEFI (required for aarch64 and ppc64). #qemu_uefi: true ### You can add below any other global variable definition ## See the variables which can be overloaded, by running: ## kameleon info cache_measurements.yaml ## Or define any new variable you would need. e.g.: #my_variable: my_value bootstrap: ### The bootstrap section takes in charge the import of the Grid'5000 ## environment to customize. No modification should be needed here. - "@base" setup: ### The setup section is where to place your customization. Add all steps ## required by your customization. ## The following is given as example only, replace with your steps. - install_packages: - install_from_apt: - exec_in: apt-get update - exec_in: apt-get install libcpupower-dev linux-cpupower curl git bzip2 gcc hwloc htop -y - install_rustup: - exec_in: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain none -y - exec_in: bash -c 'source "$HOME/.cargo/env" && rustup toolchain install nightly --profile minimal --component cargo && rustup default nightly' - build_exp_code: - git_clone: - exec_in: git clone https://gitea.augustin64.fr/l3-ENSL/dendrobates-t-azureus /tmp/dendrobates-t-azureus - build: - exec_in: bash -c 'source "$HOME/.cargo/env" && cd /tmp/dendrobates-t-azureus/cache_utils && cargo build --release --bin two_thread_cal' - copy_to_bin: - exec_in: cp /tmp/dendrobates-t-azureus/target/release/two_thread_cal /usr/bin/two_thread_cal - clean: - remove_build_dir: - exec_in: rm /tmp/dendrobates-t-azureus -rf - remove_packages: - exec_in: apt-get --purge autoremove curl git gcc libcpupower-dev export: ### The export section takes in charge the export of your customized Grid'5000 ## environment. No modification should be needed here. - "@base"