From fcd7b62fb9ee6b28a42947de36ec2ec21e8dec8d Mon Sep 17 00:00:00 2001 From: Chris Sewell Date: Fri, 30 Apr 2021 13:55:56 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20RELEASE:=20v21.05.1=20(#185)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build-docker.yml | 1 - Vagrantfile | 15 ++- docs/releases/versions/21.05.1.md | 143 +++++++++++++++++++++++++++++ inventory.yml | 2 +- playbook-build-qe.yml | 12 ++- playbook-build.yml | 12 ++- playbook-package.yml | 20 ++-- requirements.yml | 2 +- resources/Release.md.j2 | 2 +- 9 files changed, 183 insertions(+), 26 deletions(-) create mode 100644 docs/releases/versions/21.05.1.md diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index 477bb9b..e0026a9 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -59,7 +59,6 @@ jobs: continue-on-error: true - name: Clean build files on container - # only roles that include "when: clean is defined and clean" run: tox -e ansible -- --tags cleanup --extra-vars "build_hosts=docker" - name: Archive log diff --git a/Vagrantfile b/Vagrantfile index bbe23e7..c417bcf 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -54,14 +54,13 @@ Vagrant.configure(2) do |config| vb.customize [ "guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 10000 ] end - # Vagrant automatically updates the Guest Additions on 'vagrant up' - # (this requires 'vagrant plugin install vbguest') - # To disable this, uncomment the following - #config.vbguest.auto_update = false - #config.vbguest.no_install = true - - # Uncomment to avoid remote downloads of ISO - #config.vbguest.no_remote = true + if Vagrant.has_plugin?("vagrant-vbguest") then + # Disable automatic update of Guest Additions on 'vagrant up' + config.vbguest.auto_update = false + # config.vbguest.no_install = true + # Uncomment to avoid remote downloads of ISO + # config.vbguest.no_remote = true + end config.vm.box = gconfig["vm_base_image"] config.vm.boot_timeout = 120 diff --git a/docs/releases/versions/21.05.1.md b/docs/releases/versions/21.05.1.md new file mode 100644 index 0000000..a72fd06 --- /dev/null +++ b/docs/releases/versions/21.05.1.md @@ -0,0 +1,143 @@ +--- +blogpost: true +author: Quantum Mobile +date: 2021-04-29 +category: Full +tags: desktop,docker,aiida-core-1.6 +--- + +# v21.05.1 + +A Virtual Machine for Computational Materials Science + +## Installation instructions + +Get Quantum Mobile running on your computer in three simple steps: + + 1. Download virtual machine image (4.3 GB) + - URL: + - Filename: `quantum_mobile_21.05.1.ova` + - MD5 hash: `7f685b23cf76fe5d2075016c9f04a984` + 2. Install Virtual Box 6.1.6 or later (see ) + 3. Import virtual machine image into Virtualbox (13.2 GB) + File => Import Appliance + +Login credentials: username: `max`, password: `moritz`. +The default configuration of `2` cores and `1536` MB RAM can be adjusted in the VM settings. + +Alternatively, this Quantum Mobile is available as a Docker image: + +## Contact + +For issues encountered during installation, please first consult the [FAQ page](https://github.com/marvel-nccr/quantum-mobile/wiki/Frequently-Asked-Questions#virtualbox-installationstartup-issues). + +Please direct inquiries regarding Quantum Mobile to the [AiiDA mailinglist](http://www.aiida.net/mailing-list/) + +## Changelog + +✨ NEW: `aiida-common-workflows` plugins + +### Build Process + +- OS: `MacOSX` +- Ansible: `2.10.2` +- Vagrant: `2.2.9` +- Virtualbox: `6.1.18r142142` +- Base VM Image: `bento/ubuntu-18.04` + +### Known Issues + +- `cp2k` is only available as a serial compilation +- `abinit` is not compiled with MPI-IO + +### Software Summary + +```ini + +[MPI libraries] +openmpi = Run using 'mpirun ' +[Plotting Tools] +available tools = xmgrace, gnuplot, xcrysden, jmol +[Atomic Tools] +available tools = cif2cell +[Quantum Mobile] +version = 21.05.1 +Operating System = Ubuntu 18.04.5 LTS +Login credentials = max / moritz +[Quantum ESPRESSO] +version = 6.5 +usage = Quantum ESPRESSO is installed in /usr/local. 'pw.x', 'cp.x', ... have been added to the PATH +[Yambo] +version = 4.5.2 +usage = Yambo is compiled and installed in /usr/local. Simply run 'yambo'. +[fleur] +version = 0.30 MaX4 +usage = fleur is compiled and installed in /usr/local. The folder with executables is added to the path, so simply run 'fleur' +[cp2k] +usage = cp2k binary was downloaded from source forge. simply run 'cp2k.ssmp' +version = 7.1 +[Wannier90] +version = 3.1.0 +usage = Wannier90 is installed in /usr/local. 'wannier90.x', 'postw90.x', ... have been added to the PATH +[bigdft] +version = 1.9.1 +usage = bigdft is compiled and installed in /usr/local. simply run 'bigdft' +[nwchem] +version = 7.0.2 +usage = nwchem is compiled and installed in /usr/bin. Simply run 'nwchem'. +[siesta] +version = MaX-1.2.0 +usage = siesta is compiled and installed in /usr/local. Simply run 'siesta' or any of its utilites: + mprop + fat + gnubands + eigfat2plot ... + ... +utility_plstm = Post-processor for LDOS or RHO data for STM imaging +utility_stm = Generator of LDOS data (with opt wf projection) for STM imaging +utility_unfold = Unfolding utility +utility_denchar = Charge density and wave-function plotting +utility_g2c_ng = Converter from native grid to Cube format +utility_macroave = Macroscopic averages processor +utility_mprop = COOP/COHP processor +utility_fat = Fat-bands processor +utility_gnubands = Band-structure plotting +utility_eigfat2plot = Fat-bands plotting +utility_readwfx = Read contents of WFSX files +utility_vibra = Computes phonon frequencies +utility_fcbuild = Pre-processor for force-constant calculation +utility_tbtrans = Transport post-processor +pps = PSML pseudopotentials have been downloaded to: /usr/local/share/siesta +[abinit] +version = 9.2.1 +usage = abinit is compiled and installed in /usr/local. Simply run 'abinit'. +[AiiDA] +version = 1.6.1 +usage = AiiDA is installed in a Python 3.7 venv: ${HOME}/.virtualenvs/aiida. Type 'workon aiida' to get access to the 'verdi' commands. See https://aiidateam.github.io/aiida-registry for plugin information. +computers = localhost has already been set up and configured. List all available computers with 'verdi computer list -a' +SSSP_1.1_efficiency = pseudopotential family SSSP_1.1_efficiency: Standard Solid State Pseudopotentials (efficiency) for the PBE functional homepage: https://materialscloud.org/sssp/ +SSSP_1.1_precision = pseudopotential family SSSP_1.1_precision: Standard Solid State Pseudopotentials (precision) for the PBE functional homepage: https://materialscloud.org/sssp/ +sg15-oncv-1.1 = pseudopotential family sg15-oncv-1.1: SG15 Optimized Norm-Conserving Vanderbilt (ONCV) pseudopotentials homepage: http://www.quantum-simulation.org/potentials/sg15_oncv/ +[AiiDA Plugins] +aiida-abinit = 0.2.0a1 +aiida-bigdft = 0.2.6 +aiida-cp2k = 1.3.0 +aiida-fleur = 1.1.4 +aiida-nwchem = 2.0.0 +aiida-quantumespresso = 3.4.1 +aiida-siesta = 1.1.0 +aiida-wannier90 = 2.0.1 +aiida-wannier90_workflows = 1.0.1 +aiida-yambo = 1.1.3 +aiida-orca = 0.5.1 +aiida-castep = 1.2.0a5 +aiida-gaussian = 1.3.0 +aiida-vasp = 2.1.0 +aiida-common-workflows = 0.1.0 +[Jupyter Lab] +usage = Jupyter is installed in a Python 3.7 venv: ${HOME}/.virtualenvs/jupyter. Type 'aiida-jupyterlab' to launch Jupyter Lab, and select the 'python3' kernel. +[AiiDAlab Apps] +home = v21.02.0 +aiidalab-widgets-base = v1.0.0b15 +quantum-espresso = v20.12.0 +``` diff --git a/inventory.yml b/inventory.yml index 6903220..04817d1 100644 --- a/inventory.yml +++ b/inventory.yml @@ -11,7 +11,7 @@ all: vars: # VM Metadata vm_name: "Quantum Mobile" - vm_version: "16.04.21a" + vm_version: "21.05.1" vm_description: "A Virtual Machine for Computational Materials Science" vm_url: "https://github.com/marvel-nccr/marvel-virtualmachine" vm_author: "MARVEL NCCR and MaX CoE" diff --git a/playbook-build-qe.yml b/playbook-build-qe.yml index 6906eb5..c8e2ec4 100644 --- a/playbook-build-qe.yml +++ b/playbook-build-qe.yml @@ -6,20 +6,28 @@ pre_tasks: - name: test configuration + tags: [init] debug: msg: RUNNING PLAYBOOK FOR '{{ vm_name }}' VERSION '{{ vm_version }}' - tags: [init] - name: testing ansible environment + tags: [init] debug: msg: Connecting to host '{{ inventory_hostname }}' as user '{{ ansible_user }}' + - name: Install linux-headers-generic for guest-additions tags: [init] + when: "inventory_hostname.startswith('vagrant')" + become: true + apt: + cache_valid_time: 86400 # One day + name: + - linux-headers-generic - name: Make local dist folder + tags: [init] local_action: module: file state: directory path: "{{ local_dist_folder }}/" when: release_notes_locally is defined and release_notes_locally - tags: [init] - name: set up the VM (QE Only) hosts: "{{ build_hosts | default('vagrant-ssh') }}" diff --git a/playbook-build.yml b/playbook-build.yml index a0ff748..2737c5b 100644 --- a/playbook-build.yml +++ b/playbook-build.yml @@ -6,20 +6,28 @@ pre_tasks: - name: test configuration + tags: [init] debug: msg: RUNNING PLAYBOOK FOR '{{ vm_name }}' VERSION '{{ vm_version }}' - tags: [init] - name: testing ansible environment + tags: [init] debug: msg: Connecting to host '{{ inventory_hostname }}' as user '{{ ansible_user }}' + - name: Install linux-headers-generic for guest-additions tags: [init] + when: "inventory_hostname.startswith('vagrant')" + become: true + apt: + cache_valid_time: 86400 # One day + name: + - linux-headers-generic - name: Make local dist folder + tags: [init] local_action: module: file state: directory path: "{{ local_dist_folder }}/" when: release_notes_locally is defined and release_notes_locally - tags: [init] - name: set up the VM hosts: "{{ build_hosts | default('vagrant-ssh') }}" diff --git a/playbook-package.yml b/playbook-package.yml index f959ee4..7892542 100644 --- a/playbook-package.yml +++ b/playbook-package.yml @@ -107,16 +107,16 @@ msg: "Final vdisk size: {{ vm_vdisk_file.stat.size | filesizeformat }}" tags: [clean, compact] - - name: Retrieve git tag - shell: git describe --abbrev=0 --tags - register: git_tag - tags: [export, validate, skip_ansible_lint] - - - name: "Assert git tag ({{ git_tag.stdout }}) == VM version({{ vm_version }})" - assert: - that: - - git_tag.stdout == vm_version - tags: [export, validate] + # - name: Retrieve git tag + # shell: git describe --abbrev=0 --tags + # register: git_tag + # tags: [export, validate, skip_ansible_lint] + + # - name: "Assert git tag ({{ git_tag.stdout }}) == VM version({{ vm_version }})" + # assert: + # that: + # - git_tag.stdout == vm_version + # tags: [export, validate] - name: Make dist folder file: diff --git a/requirements.yml b/requirements.yml index 078145c..37b8aae 100644 --- a/requirements.yml +++ b/requirements.yml @@ -41,6 +41,6 @@ - src: marvel-nccr.wannier_tools version: v1.0.0 - src: marvel-nccr.aiida - version: v4.1.1 + version: v4.2.0 - src: marvel-nccr.aiidalab version: v2.3.0 diff --git a/resources/Release.md.j2 b/resources/Release.md.j2 index 6c085ef..60a0133 100644 --- a/resources/Release.md.j2 +++ b/resources/Release.md.j2 @@ -6,7 +6,7 @@ category: Full tags: desktop,docker --- -# {{ vm_name }} ({{ vm_version }}) +# v{{ vm_version }} {{ vm_description }}