diff --git a/CHANGELOG.md b/CHANGELOG.md index ffbc6d4..1da9d8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelog +## Quantum Mobile v19.12.0RC1 + +### Improvements +* 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 + * aiida-bigdft v0.1.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 diff --git a/INSTALL.md b/INSTALL.md index 221f71d..79564ae 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -11,6 +11,8 @@ Get Quantum Mobile running on your computer in three simple steps: 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 diff --git a/README.md b/README.md index 4cb8d8b..fd1ca34 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,11 @@ mechanical calculations, including * [Quantum ESPRESSO](http://www.quantum-espresso.org/) * [Yambo](http://www.yambo-code.org/) * [fleur](http://www.flapw.de/) - * [Siesta](https://launchpad.net/siesta) + * [Siesta](https://gitlab.com/siesta-project/siesta) * [CP2K](https://www.cp2k.org) * [Wannier90](http://www.wannier.org) -all of which are set up and ready to be used through the +all of which are set up and ready to be used through on their own or through the [AiiDA](http://www.aiida.net) python framework for automated workflows and provenance tracking. @@ -93,36 +93,7 @@ ansible-playbook playbook.yml --extra-vars "clean=true" ## Customizing Quantum Mobile -There are at least two ways to customize Quantum Mobile in order to fit your needs: - - 1. Start VM, add/remove components manually, export image again - + it's quick - + no need to work with ansible/vagrant - - **but**: no clear record of changes - - need to redo this next time round - 2. Add/remove components in the [`playbook.yml`](playbook.yml), rebuild the VM - + it's reproducible - + easy to keep up to date (just rebuild with updated components) - - **but**: need to learn how to build the VM - -Quantum Mobile encapsulates components in -[ansible roles](https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html) -which are selected in the [`playbook.yml`](playbook.yml) file. -You can choose from our [growing repository of roles](https://galaxy.ansible.com/marvel-nccr) or [write your own](https://github.com/marvel-nccr/cookiecutter-ansible-role). - -## Publishing customized VMs - -If you would like to publish a customized version of Quantum Mobile, we recommend that you - - 1. Fork this repository - 1. Give your VM a different name to avoid confusion - 1. Adapt `globalconfig.yml`, `EULA.txt` and `README.md` appropriately - 1. Pull the latest changes from time to time to keep things up to date - -Note: If you are developing new ansible roles for computational materials -science applications and would like to make them easier to find, -we'd be happy to host them under the marvel-nccr github organisation -- just [drop us a line](mailto:leopold.talirz@gmail.com). +Please see the [Quantum Mobile Wiki](https://github.com/marvel-nccr/quantum-mobile/wiki) on how to adapt Quantum Mobile for your course / tutorial / .... ## Contact diff --git a/Vagrantfile b/Vagrantfile index 4e8dc01..bfc3e2d 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -53,7 +53,7 @@ Vagrant.configure(2) do |config| #config.vm.box = "bento/ubuntu-16.04" #config.vm.box_version = "201803.24.0" config.vm.box = "bento/ubuntu-18.04" - config.vm.box_version = "201906.18.0" + #config.vm.box_version = "201910.21.0" #config.vm.box = "ubuntu/xenial64" config.vm.boot_timeout = 60 diff --git a/ansible.cfg b/ansible.cfg index 7b13dfa..12718a4 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -16,3 +16,5 @@ bin_ansible_callbacks = True # (i.e. executes .profile) # See https://askubuntu.com/a/376386/715125 ansible_su_flags = "- " + +pipelining = True diff --git a/create_image.sh b/create_image.sh index fe4f943..a205221 100755 --- a/create_image.sh +++ b/create_image.sh @@ -42,6 +42,8 @@ vdisk_path_grep=`vboxmanage showvminfo --machinereadable "$vm_id" | grep vmdk ` [[ $vdisk_path_grep =~ ^.*=\"(.*)\"$ ]] vdisk_path=${BASH_REMATCH[1]} vm_vdisk_size=`du -sh "$vdisk_path" | awk '{print $1}' ` +echo "### vdisk size: $vm_vdisk_size" +echo "### image size: $vm_image_size" export fname vm_version vm_user vm_password export vm_image_size vm_image_md5 vm_vdisk_size diff --git a/globalconfig.yml b/globalconfig.yml index d003529..bb4edc4 100644 --- a/globalconfig.yml +++ b/globalconfig.yml @@ -1,12 +1,13 @@ --- # Caution: This file is read by vagrant, ansible and bash vm_name: "Quantum Mobile" -vm_version: "19.09.0" +vm_version: "19.12.0RC1" 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" vm_author_url: "http://nccr-marvel.ch" -vm_release_notes_file: "${HOME}/Desktop/RELEASENOTES.txt" +vm_release_notes_file: "${HOME}/Desktop/release_notes.txt" +vm_readme_file: "${HOME}/Desktop/README.md" # VM configuration vm_hostname: "qmobile" @@ -17,6 +18,7 @@ vm_cpus: 2 vm_vram: 128 vm_shared_folder: "/shared" vm_codes_folder: "${HOME}/codes" +vm_data_folder: "/usr/local/share" vm_examples_folder: "${HOME}/examples" vm_headless: False vm_browser: chromium-browser # 'chromium-browser' or 'firefox' diff --git a/host_vars/aws_aiida.yml b/host_vars/aws_aiida.yml deleted file mode 100644 index 80016e2..0000000 --- a/host_vars/aws_aiida.yml +++ /dev/null @@ -1,5 +0,0 @@ -ansible_ssh_common_args: -i ./keys/aiida_tutorial_aiidaaccount -o StrictHostKeyChecking=no - -ansible_become_user: root -ansible_become_method: su -ansible_become_pass: "{{ lookup('file', './keys/aws_root_pass') }}" diff --git a/host_vars/aws_ubuntu.yml b/host_vars/aws_ubuntu.yml deleted file mode 100644 index 8a08c4e..0000000 --- a/host_vars/aws_ubuntu.yml +++ /dev/null @@ -1 +0,0 @@ -ansible_ssh_common_args: -i ./keys/aiida-tutorial.pem -o StrictHostKeyChecking=no diff --git a/hosts b/hosts index 61ca46b..351d7c0 100644 --- a/hosts +++ b/hosts @@ -1,6 +1,4 @@ [vms:vars] ansible_ssh_common_args= -F vagrant-ssh -# modify this line to switch to python2 -ansible_python_interpreter=/usr/bin/python3 [vms] default ansible_user=vagrant diff --git a/other_stuff/upload_image.txt b/other_stuff/upload_image.txt deleted file mode 100644 index 42c7919..0000000 --- a/other_stuff/upload_image.txt +++ /dev/null @@ -1,2 +0,0 @@ -openstack object create marvel-vms quantum_mobile_.ova -openstack object create marvel-vms INSTALL_.txt diff --git a/playbook.yml b/playbook.yml index 00c0592..5343947 100644 --- a/playbook.yml +++ b/playbook.yml @@ -23,10 +23,10 @@ - name: set up the VM hosts: default vars: - - release_notes: True + - release_notes: true - release_notes_vm_user: "{{ vm_user }}" - - run_tests: False - - clean: False + - run_tests: true + - clean: false - root_user: root - cloud_platform: virtualbox roles: @@ -60,9 +60,10 @@ qm_customizations_vm_name: "{{ vm_name }}" qm_customizations_vm_version: "{{ vm_version }}" qm_customizations_vm_author: "{{ vm_author }}" + qm_customizations_vm_cpus: "{{ vm_cpus }}" qm_customizations_headless: "{{ vm_headless }}" - qm_customizations_codes_folder: "{{ vm_codes_folder }}" qm_customizations_examples_folder: "{{ vm_examples_folder }}" + qm_customizations_data_folder: "{{ vm_data_folder }}" - role: marvel-nccr.editors tags: editors vars: @@ -75,6 +76,8 @@ slurm_memory: "{{ vm_memory }}" - role: marvel-nccr.quantum_espresso tags: quantum_espresso + vars: + quantum_espresso_data_folder: "{{ vm_data_folder }}" - role: marvel-nccr.yambo tags: yambo - role: marvel-nccr.fleur @@ -85,20 +88,25 @@ tags: cp2k #vars: # cp2k_installation_route: "apt" - - role: marvel-nccr.wannier90 - tags: wannier90 + # Wannier90 3.0 bundled with QE + #- role: marvel-nccr.wannier90 + # tags: wannier90 + #- role: marvel-nccr.bigdft + # tags: bigdft - role: marvel-nccr.aiidalab become: true become_user: "{{ vm_user }}" tags: aiidalab vars: aiidalab_headless: "{{ vm_headless }}" + # note: installing aiida role after aiidalab role, since aiida role has latest AiiDA version - role: marvel-nccr.aiida tags: aiida become: true become_user: "{{ vm_user }}" vars: aiida_code_folder: "{{ vm_codes_folder }}" + aiida_data_folder: "{{ vm_data_folder }}/aiida" aiida_localhost_cpus: "{{ vm_cpus }}" aiida_localhost_scheduler: "{{ vm_scheduler }}" aiida_examples_folder: "{{ vm_examples_folder }}" diff --git a/requirements.yml b/requirements.yml index b20a242..7901052 100644 --- a/requirements.yml +++ b/requirements.yml @@ -8,34 +8,31 @@ - src: marvel-nccr.add_user version: v0.2.1 - src: marvel-nccr.simulationbase - version: v1.0.0 + version: v1.0.5 - src: marvel-nccr.ubuntu_desktop - version: v1.0.0 + version: v1.0.1 - src: marvel-nccr.quantum_mobile_customizations - version: v1.0.0 + version: v1.0.4 - src: marvel-nccr.editors version: v1.0.1 - src: marvel-nccr.slurm version: v1.0.0 - src: marvel-nccr.quantum_espresso - version: v1.0.1 + version: v1.1.2 - src: marvel-nccr.yambo - version: v1.0.0 + version: v1.0.2 - src: marvel-nccr.fleur - version: v1.0.0 + version: v1.0.2 - src: marvel-nccr.siesta version: v1.0.1 - src: marvel-nccr.cp2k version: v1.0.1 - src: marvel-nccr.wannier90 version: v1.0.0 -#- src: marvel-nccr.aiida -# version: v0.1.2 -- src: https://github.com/marvel-nccr/ansible-role-aiida.git - version: develop - name: marvel-nccr.aiida -#- src: marvel-nccr.aiidalab -# version: v0.1.2 -- src: https://github.com/marvel-nccr/ansible-role-aiidalab.git - version: develop - name: marvel-nccr.aiidalab +- src: marvel-nccr.aiida + version: v1.0.1 +#- src: https://github.com/marvel-nccr/ansible-role-aiida.git +# version: develop +# name: marvel-nccr.aiida +- src: marvel-nccr.aiidalab + version: v1.0.1