diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c52a4d..5bc3d62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,104 +1,168 @@ # Changelog +## Quantum Mobile v20.06.1a1 + +### Improvements + +- First official Quantum Mobile release with AiiDA 1.3.0 + +### Software summary + +- OS: Ubuntu 18.04.4 LTS, VirtualBox 6.1.10 +- tools: atomistic (xcrysden, jmol, cif2cell, ase, pymatgen, seekpath, spglib, pycifrw), visualization (grace, gnuplot, matplotlib, bokeh, jupyter), simulation environment (slurm, OpenMPI, FFT/BLAS/LAPACK, gcc, gfortran, singularity) +- aiida-core 1.3.0 + - aiida-bands-inspect 0.4.0 + - aiida-codtools 2.1.0 + - aiida-cp2k 1.1.0 + - aiida-ddec 1.0.0a1 + - aiida-diff 1.2.0 + - aiida-fleur 1.1.0 + - aiida-lsmo 1.0.0b2 + - aiida-optimize 0.3.1 + - aiida-qeq 1.0.0a1 + - aiida-quantumespresso 3.0.0 + - aiida-raspa 1.1.1 + - aiida-siesta 1.0.1 + - aiida-tbmodels 0.4.0rc1 + - aiida-tools 0.3.3 + - aiida-vasp 0.2.4 + - aiida-wannier90 2.0.1 + - aiida-wannier90-workflows 1.0.1 + - aiida-yambo 1.1.1 + - aiida-zeopp 1.1.1 + - aiidalab 20.7.0b2 +- simulation codes: + - Yambo 4.5.1 + - fleur 0.30 MaX4 + - siesta v4.1-rc1 + - cp2k 7.1 + - Wannier90 3.1.0 +- pseudopotentials + - SSSP (PBE) accuracy v1.1 + - SSSP (PBE) precision v1.1 + - SG15 ONCV v1.1 + +### Build process + +- ansible 2.9.10 +- Vagrant v2.2.9 + - vbguest v0.24.0 + - bento/ubuntu-18.04 v202005.21.0 +- Virtualbox v6.1.10 + +### Known Issues + +BigDFT is not installed, since a fix is outstanding for . + ## Quantum Mobile v20.03.0 ### Improvements -* add WannierTools -* add bigdft 1.9.0 -* add aiida-bigdft v0.1.0a0 + +- add WannierTools +- add bigdft 1.9.0 +- add aiida-bigdft v0.1.0a0 ### Build process -* ansible 2.9.5 -* Vagrant v2.2.7 - * vbguest v0.23.0 - * bento/ubuntu-18.04 v202002.04.0 -* Virtualbox v6.1.4 + +- ansible 2.9.5 +- Vagrant v2.2.7 + - vbguest v0.23.0 + - bento/ubuntu-18.04 v202002.04.0 +- Virtualbox v6.1.4 ### Software updates -* yambo 4.5.1 -* siesta 4.1-rc1 -* cp2k 7.1 -* wannier90 3.1 -* aiida v1.1.0 - * aiida-yambo 1.0 - * aiidalab v20.2.0b2 - * aiida-wannier90 v2.0.0 + +- yambo 4.5.1 +- siesta 4.1-rc1 +- cp2k 7.1 +- wannier90 3.1 +- aiida v1.1.0 + - aiida-yambo 1.0 + - aiidalab v20.2.0b2 + - aiida-wannier90 v2.0.0 ## Quantum Mobile v19.12.0 ### Improvements -* first Quantum Mobile release with AiiDA 1.0 + +- first Quantum Mobile release with AiiDA 1.0 ### Software updates -* Ubuntu 18.04.3 LTS -* aiida-core v1.0.1 - * aiida-cp2k v1.0.0b4 - * aiida-quantumespresso v3.0.0a5 - * aiida-siesta v1.0.0 - * aiida-fleur v1.0.0a0 -* aiidalab v19.11.0a2 -* yambo 4.4 -* QE 6.5 with EPW and Wannier90 -* fleur 0.30 MaxR4 + +- Ubuntu 18.04.3 LTS +- aiida-core v1.0.1 + - aiida-cp2k v1.0.0b4 + - aiida-quantumespresso v3.0.0a5 + - aiida-siesta v1.0.0 + - aiida-fleur v1.0.0a0 +- aiidalab v19.11.0a2 +- yambo 4.4 +- QE 6.5 with EPW and Wannier90 +- fleur 0.30 MaxR4 ## Quantum Mobile v19.09.0 ### Improvements -* first official Quantum Mobile release with AiiDA 1.0 -* python environment switched from 2.7 to 3.6 + +- first official Quantum Mobile release with AiiDA 1.0 +- python environment switched from 2.7 to 3.6 ### Software updates -* aiida-core v1.0.0b6 - * aiida-quantumespresso v3.0.0a4 -* aiidalab v19.08.0a1 +- aiida-core v1.0.0b6 + - aiida-quantumespresso v3.0.0a4 +- aiidalab v19.08.0a1 ## Quantum Mobile v19.07.0 ### Improvements -* now installing fixed versions of ansible roles for improved reproducibility +- now installing fixed versions of ansible roles for improved reproducibility and tracking of changes between Quantum Mobile releases -* now installing codes system-wide for better reuse in servers - + following ansible conventions +- now installing codes system-wide for better reuse in servers + - following ansible conventions ### Software updates -* aiidalab v19.05.3 +- aiidalab v19.05.3 ### Build process -* ansible 2.7.10 -* Vagrant v2.2.5 - * vbguest v0.19.0 - * bento/ubuntu-18.04 v201906.18.0 -* Virtualbox v6.0.10 +- ansible 2.7.10 +- Vagrant v2.2.5 + - vbguest v0.19.0 + - bento/ubuntu-18.04 v201906.18.0 +- Virtualbox v6.0.10 ## Quantum Mobile v19.03.0 ### Improvements -* add link to FAQ on desktop -* switch from torque to slurm scheduler + +- add link to FAQ on desktop +- switch from torque to slurm scheduler ### Software updates -* Ubuntu 18.04 LTS -* Quantum Espresso v6.3 -* cp2k v6.1 -* yambo v4.3.2 -* fleur 0.27 MaXR3 -* siesta v4.0.2 -* aiida-core v0.12.3 -* aiidalab v19.03.0 + +- Ubuntu 18.04 LTS +- Quantum Espresso v6.3 +- cp2k v6.1 +- yambo v4.3.2 +- fleur 0.27 MaXR3 +- siesta v4.0.2 +- aiida-core v0.12.3 +- aiidalab v19.03.0 ### Build process -* ansible 2.7.5 -* Vagrant v2.2.4 - * vbguest v0.17.1 - * bento/ubuntu-18.04 v201812.27.0 -* Virtualbox v6.0.4 + +- ansible 2.7.5 +- Vagrant v2.2.4 + - vbguest v0.17.1 + - bento/ubuntu-18.04 v201812.27.0 +- Virtualbox v6.0.4 ## Quantum Mobile v18.06.0 ### Software updates -* aiida-core v0.12.0 -* aiida-quantumespresso v2.0.1 + +- aiida-core v0.12.0 +- aiida-quantumespresso v2.0.1 ### Improvements @@ -114,10 +178,11 @@ ## Quantum Mobile v18.04.0 ### Software updates -* aiida-core v0.11.4 -* aiida-quantumespresso v2.0.0 -* aiida-cp2k v0.9.0 -* aiida-yambo v0.2.5 + +- aiida-core v0.11.4 +- aiida-quantumespresso v2.0.0 +- aiida-cp2k v0.9.0 +- aiida-yambo v0.2.5 ### Improvements @@ -131,9 +196,8 @@ - Add variables that can be used to turn on/off features for increased flexibility (e.g. to install Quantum Mobile as a server): - - * 'headless': if true, avoids GUI-related setup - * 'release_notes': if false, does not add release notes + - 'headless': if true, avoids GUI-related setup + - 'release_notes': if false, does not add release notes - Running the ansible roles on a different host is now as easy as `ansible-playbook playbook.yml -i inventory_file` - Adjustments for ansible 2.5 @@ -151,8 +215,9 @@ ## Quantum Mobile v18.02.2 ### Software updates -* aiida-core v0.11.0 -* aiida-siesta v0.11.5 + +- aiida-core v0.11.0 +- aiida-siesta v0.11.5 ## Quantum Mobile v18.02.0 @@ -161,17 +226,17 @@ - Add jupyter apps (just like on [aiidalab.materialslcoud.org](aiidalab.materialscloud.org)) ### Software updates -* aiida-yambo v0.2.4 -* aiida-siesta v0.9.8 -* QE 6.2.1 -* SSSP (PBE) accuracy 1.0 -* SSSP (PBE) efficiency 1.0 + +- aiida-yambo v0.2.4 +- aiida-siesta v0.9.8 +- QE 6.2.1 +- SSSP (PBE) accuracy 1.0 +- SSSP (PBE) efficiency 1.0 ## Build process - VM image built using Virtualbox 5.2.6 + Guest Additions 5.2.7 - ## Quantum Mobile v17.12.0 ### Improvements @@ -210,6 +275,6 @@ - aiida-quantumespresso v1.0.1 - aiida-siesta v0.9.7.1 - aiida-cp2k v0.2.2 -- pseudopotentials: +- pseudopotentials: - sssp-pbe-accuracy v0.7 - sg15-oncv-1.1 diff --git a/INSTALL.md b/INSTALL.md index b4ff66b..5ea9d34 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,4 +1,4 @@ -# Installation instructions +## Installation instructions Get Quantum Mobile running on your computer in three simple steps: @@ -6,15 +6,24 @@ Get Quantum Mobile running on your computer in three simple steps: https://object.cscs.ch/v1/AUTH_b1d80408b3d340db9f03d373bbde5c1e/marvel-vms/${fname} Filename: `${fname}` MD5 hash: `${vm_image_md5}` - 2. Install Virtual Box 6.1.4 or later + 2. Install Virtual Box 6.1.6 or later www.virtualbox.org 3. Import virtual machine image into Virtualbox (${vm_vdisk_size}) File => Import Appliance Note: username: `${vm_user}`, password: `${vm_password}` -In case of issues, see the [FAQ](https://github.com/marvel-nccr/quantum-mobile/wiki/Frequently-Asked-Questions). ## 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 + +### Bug fixes +### Improvements +### Software updates + +## Version Summary diff --git a/README.md b/README.md index 921ec66..ade8497 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![Build Status](https://travis-ci.org/marvel-nccr/quantum-mobile.svg?branch=master)](https://travis-ci.org/marvel-nccr/quantum-mobile) -# Quantum Mobile +# Quantum Mobile Desktop Edition ## What is Quantum Mobile @@ -17,33 +17,27 @@ mechanical calculations, including * [Wannier90](http://www.wannier.org) * [BigDFT](http://www.bigdft.org) -all of which are set up and ready to be used through on their own or through the +all of which are set up and ready to be used on their own or through the [AiiDA](http://www.aiida.net) python framework for automated workflows and provenance tracking. -You can run Quantum Mobile on your Windows, MacOS or Linux computer using the -[VirtualBox](http://virtualbox.org/) software. -You can also -[install Quantum Mobile on virtual machines using cloud services](https://github.com/materialscloud-org/ansible-playbook-workhorse) -like Amazon Web Services or OpenStack. +Quantum Mobile is available in two editions: -![Demo](https://image.ibb.co/n50SdT/quantum_mobile.gif "A brief impression of the Quantum Mobile interface.") + * *Quantum Mobile Desktop Edition* [**(download)**](https://github.com/marvel-nccr/quantum-mobile/releases) comes with the familiar Ubuntu Desktop and runs on your Windows, MacOS or Linux computer using the [VirtualBox](http://virtualbox.org/) software. + The Desktop Edition is tailored to provide students with a familiar working environment. -## Download the VM + * *Quantum Mobile Cloud Edition* [**(download)**](https://github.com/marvel-nccr/quantum-mobile-cloud-edition/releases) is intended for use on servers using cloud services like Amazon Web Services. Google Cloud, or OpenStack. + The Cloud Edition targets advanced users who are familiar with the command line & SSH and prefer to run calculations on a remote server. -Please see [releases](https://github.com/marvel-nccr/quantum-mobile/releases) -for the latest VM image and installation instructions. +![Demo](https://image.ibb.co/n50SdT/quantum_mobile.gif "A brief impression of the Quantum Mobile interface.") -For issues encountered during installation of the VM, see the -[FAQ](https://github.com/marvel-nccr/quantum-mobile/wiki/Frequently-Asked-Questions). ## Build it from scratch -You would like to add/remove some components of the VM -and produce your own modified VM image? +You would like to add/remove some components of Quantum Mobile and produce your own customised image? -This git repository contains all the vagrant and ansible scripts required to -set up the VM from scratch (note: [plan >1h](other_stuff/timings.txt) for +This git repository contains the vagrant and ansible scripts required to +set up the virtual machine from scratch (note: [plan >1h](other_stuff/timings.txt) for this). ### Prerequisites @@ -65,7 +59,8 @@ vagrant plugin install vagrant-vbguest # optional, improves interface vagrant up # build vm from scratch (takes some tens of minutes) ``` -Note: Due to a bug in the vbguest vagrant plugin, there are some additional steps #60 +Note: If you get an error during the installation of the VirtualBox Guest Additions, you may need to perform additional +steps (see [issue #60](https://github.com/marvel-nccr/quantum-mobile/issues/60)). ### Create image ``` diff --git a/Vagrantfile b/Vagrantfile index 33ad44a..285c2d2 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -55,7 +55,7 @@ Vagrant.configure(2) do |config| config.vm.box = "bento/ubuntu-18.04" #config.vm.box_version = "201910.21.0" #config.vm.box = "ubuntu/xenial64" - config.vm.boot_timeout = 60 + config.vm.boot_timeout = 120 ## In case you need to specify explicitly SSH credentials... #config.ssh.username = "ubuntu" @@ -79,5 +79,7 @@ Vagrant.configure(2) do |config| ansible_python_interpreter: "/usr/bin/python3", } ansible.raw_arguments = Shellwords.shellsplit(ENV['ANSIBLE_ARGS']) if ENV['ANSIBLE_ARGS'] + # Ensure that public key auth is not disabled by the user's config + ansible.raw_ssh_args = ['-o PubKeyAuthentication=yes -o DSAAuthentication=yes'] end end diff --git a/ansible.cfg b/ansible.cfg index 12718a4..93bb86b 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -18,3 +18,6 @@ bin_ansible_callbacks = True ansible_su_flags = "- " pipelining = True + +# provide execution time during run +callback_whitelist = profile_tasks diff --git a/create_image.sh b/create_image.sh index a205221..6a9d64b 100755 --- a/create_image.sh +++ b/create_image.sh @@ -14,7 +14,7 @@ vagrant halt # shut down machine vm_id="$vm_name $vm_version" echo "### Exporting '$vm_id'" -git_tag=`git describe --abbrev=0` +git_tag=`git describe --abbrev=0 --tags` if [ "$git_tag" != "$vm_version" ]; then echo "latest git tag $git_tag and version number $vm_version do not agree" # exit @@ -37,7 +37,7 @@ echo "### Find image in $fname" echo "### Computing size of vm image and vm disk" vm_image_size=`du -sh $fname | awk '{print $1}'` -vm_image_md5=`md5 $fname | awk '{print $4}'` +vm_image_md5=`md5sum $fname | awk '{print $4}'` vdisk_path_grep=`vboxmanage showvminfo --machinereadable "$vm_id" | grep vmdk ` [[ $vdisk_path_grep =~ ^.*=\"(.*)\"$ ]] vdisk_path=${BASH_REMATCH[1]} diff --git a/globalconfig.yml b/globalconfig.yml index 141ead7..a4372d7 100644 --- a/globalconfig.yml +++ b/globalconfig.yml @@ -1,7 +1,7 @@ --- # Caution: This file is read by vagrant, ansible and bash vm_name: "Quantum Mobile" -vm_version: "20.03.0" +vm_version: "20.06.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" @@ -13,7 +13,7 @@ vm_readme_file: "${HOME}/Desktop/README.md" vm_hostname: "qmobile" vm_user: "max" vm_password: "moritz" -vm_memory: 1024 +vm_memory: 1536 vm_cpus: 2 vm_vram: 128 vm_shared_folder: "/shared" diff --git a/playbook.yml b/playbook.yml index c330b69..c87118a 100644 --- a/playbook.yml +++ b/playbook.yml @@ -32,6 +32,7 @@ roles: - name: add user {{ vm_user }} with key role: marvel-nccr.add_user + tags: add_user vars: add_user_name: "{{ vm_user }}" add_user_password: "{{ vm_password }}" @@ -93,8 +94,9 @@ tags: wannier90 - role: marvel-nccr.wannier_tools tags: wannier_tools - - role: marvel-nccr.bigdft - tags: bigdft + # this can be added back when ansible-role-bigdft/issues/8 is fixed + #- role: marvel-nccr.bigdft + # tags: bigdft - role: marvel-nccr.aiidalab become: true become_user: "{{ vm_user }}" diff --git a/requirements.txt b/requirements.txt index 920eea8..9a0f3ac 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,3 +5,5 @@ paramiko # for testing molecule docker +# for deployment +python-openstackclient diff --git a/requirements.yml b/requirements.yml index 3a14e7d..bc07b60 100644 --- a/requirements.yml +++ b/requirements.yml @@ -8,7 +8,7 @@ - src: marvel-nccr.add_user version: v0.2.1 - src: marvel-nccr.simulationbase - version: v1.0.6 + version: v1.0.8 - src: marvel-nccr.ubuntu_desktop version: v1.0.4 - src: marvel-nccr.quantum_mobile_customizations @@ -16,9 +16,9 @@ - src: marvel-nccr.editors version: v1.0.2 - src: marvel-nccr.slurm - version: v1.0.0 + version: v1.2.0 - src: marvel-nccr.quantum_espresso - version: v1.1.3 + version: v1.1.4 - src: marvel-nccr.yambo version: v1.1.0 - src: marvel-nccr.fleur @@ -28,12 +28,12 @@ - src: marvel-nccr.cp2k version: v1.1.1 - src: marvel-nccr.bigdft - version: v1.0.0 + version: v1.3.0 - src: marvel-nccr.wannier90 version: v1.1.2 - src: marvel-nccr.wannier_tools version: v1.0.0 - src: marvel-nccr.aiida - version: v2.1.6 + version: v2.3.2 - src: marvel-nccr.aiidalab - version: v1.1.1 + version: v1.2.2