computationalmodelling / virtualmicromagnetics Goto Github PK
View Code? Open in Web Editor NEWVirtual Micromagnetics: enabling accessible and reproducible micromagnetic simulation.
Home Page: http://virtualmicromagnetics.org
License: Other
Virtual Micromagnetics: enabling accessible and reproducible micromagnetic simulation.
Home Page: http://virtualmicromagnetics.org
License: Other
Periodically, Docker fails with the following message when pushing a container image:
stderr: Error pushing to registry: Server error: 403 trying head request for virtualmicromagnetics/nmag
stdout: The push refers to a repository [virtualmicromagnetics/nmag] (len: 1) 21fb609a04bb: Buffering to Disk 21fb609a04bb: Image successfully pushed 21fb609a04bb: Image push failed
Diagnose and resolve this problem.
Currently, full and light Virtual Micromagnetics environments do not make reference to Fidimag in their documentation, and the Fidimag environment makes reference to other micromagnetics packages.
Implement infrastructure to copy machine-specific documentation to virtual machines, and write this documentation for each machine.
Add makefile targets that use existing roles to create machines for each micromagnetic simulation software. For example, "make oommf", "make fidimag", etc.
Ideally, we would have the current working directory mounted in the same place for containers and virtual machines by default.
This is because the rst_to_html dependency is run only once per provision, regardless of the parameters passed to it.
Add a role to place example fidimag scripts in the user's home directory in a similar manner to how other example scripts work.
Currently, root is the only user that can run tests on the micromagnetic software successfully. This should be changed so that the user can run tests without 'sudo su'
This is due to the .bashrc entry destroying the PYTHONPATH.
Part of Virtual Micromagnetics is the ability to bring up a simulation-ready Virtual Machine in the cloud. Configure Virtual Micromagnetics to bring up a Virtual Micromagnetics Digital Ocean droplet.
This is pretty open-ended!
Each job playbook has pre-tasks that are duplicated across other notebooks. Restructure the docutils role to support these pre-tasks.
Commanding the instructions on the website to download the full virtual machine leads to the following error:
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["import", "/home/mark/.vagrant.d/boxes/virtualmicromagnetics-VAGRANTSLASH-full/1.1.0/virtualbox/box.ovf", "--vsys", "0", "--vmname", "virtualmicromagnetics-full-vm_default_1470297902505_25792_1470391460585_47194", "--vsys", "0", "--unit", "9", "--disk", "/home/mark/VirtualBox VMs/virtualmicromagnetics-full-vm_default_1470297902505_25792_1470391460585_47194/box-disk1.vmdk"]
Stderr: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interpreting /home/mark/.vagrant.d/boxes/virtualmicromagnetics-VAGRANTSLASH-full/1.1.0/virtualbox/box.ovf...
OK.
0%...
Progress state: VBOX_E_FILE_ERROR
VBoxManage: error: Appliance import failed
VBoxManage: error: Could not create the imported medium '/home/mark/VirtualBox VMs/virtualmicromagnetics-full-vm_default_1470297902505_25792_1470391460585_47194/box-disk1.vmdk'.
VBoxManage: error: VMDK: Compressed image is corrupted '/home/mark/.vagrant.d/boxes/virtualmicromagnetics-VAGRANTSLASH-full/1.1.0/virtualbox/box-disk1.vmdk' (VERR_ZIP_CORRUPTED)
VBoxManage: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component ApplianceWrap, interface IAppliance
VBoxManage: error: Context: "RTEXITCODE handleImportAppliance(HandlerArg*)" at line 876 of file VBoxManageAppliance.cpp
Manually downloading the box and importing it results in the following similar error
The box failed to unpackage properly. Please verify that the box
file you're trying to add is not corrupted and try again. The
output from attempting to unpackage (if any):
x ./vagrant_private_key
x ./include/
x ./include/_Vagrantfile
x ./box.ovf
x ./Vagrantfile
x ./box-disk1.vmdk: truncated gzip input
bsdtar: Error exit delayed from previous errors.
These errors suggest that the box is not compressed correctly on the CI build server.
Comprehensively:
Importing dolfin in virtualmicromagnetics-full results in an import error.
People would be happier to command virtualmicromagnetics full-vm
or virtualmicromagnetics oommf-container
instead of mkdir something; pushd something; vagrant init virtualmicromagnetics/full; vagrant up; popd
. This interface could be distributed via a debian package or similar for people to use as the primary Virtual Micromagnetics interface.
Produce a Makefile target that builds the Virtual Micromagnetics environment as a docker container to be hosted online.
This gives us assurance that the software works as intended. This will increase installation time however.
Currently, all examples are packaged in a single role. This role should be divided to make it easier for users to create machines dedicated to one software package.
The PS1 length gets a bit ridiculous: virtualmicromagnetics@virtualmicormagnetics-full:~/...
Comprehensively:
Matplotlib requires libpng; ensure this is installed where matplotlib is used.
Comprehensively:
Building a machine without an in-built Vagrantfile causes an error, since all machines currently require inbuilt Vagrantfiles.
When the virtual machine is booted, XFCE prompts the user for the panel setup that they want. New users may find this intimidating, so we should enable a panel set by default.
This doesn't work:
docker run -ti virtualmicromagnetics/lite /bin/bash -l fangohr$ docker run -ti virtualmicromagnetics/lite /bin/bash -l
Unable to find image 'virtualmicromagnetics/lite:latest' locally
Pulling repository docker.io/virtualmicromagnetics/lite
docker: Tag latest not found in repository docker.io/virtualmicromagnetics/lite.
On the other hand, this is okay:
docker run -ti virtualmicromagnetics/lite:1.1.0 /bin/bash -l
Add a role for Fidimag as another package.
An nsim
executable exists, but doesn't start. Here are the steps to reproduce the problem:
fangohr$ docker run -ti virtualmicromagnetics/lite:release /bin/bash -l
Unable to find image 'virtualmicromagnetics/lite:release' locally
release: Pulling from virtualmicromagnetics/lite
96c6a1f3c3b0: Pull complete
ed40d4bcb313: Pull complete
b171f9dbc13b: Pull complete
ccfc4df4fbba: Pull complete
a3ed95caeb02: Pull complete
2f258f36b47c: Pull complete
9c5acb564a9e: Pull complete
8f7e48768c40: Pull complete
0ec2ee8b394f: Pull complete
5978ce1d8563: Pull complete
6210e9cdb4ad: Pull complete
8f46d9969158: Pull complete
Digest: sha256:5f8613dd4265de36770d665fd7bdced52572e651ee685817f83b8319171dce02
Status: Downloaded newer image for virtualmicromagnetics/lite:release
root@db9bd4bed8e0:/# nsim
root@db9bd4bed8e0:/#
Docker containers should be pushed with the tag ":release" as well as their git repository tag when built as a release version.
This allows us to use more up-to-date Ansible modules.
Add a static Jekyll site as a gh-pages branch on this repository so that users can be introduced to Virtual Micromagnetics easily.
At the moment, Ansible roles are used for too many things, making it ambiguous where to implement individual functionality.
Find and implement a better architecture for creating machines and containers, provisioning machines and containers, preparing artefacts, and testing artefacts.
While xterm is good, xfce-terminal is better for our accessibility goals.
In order to make documentation more accessible, create a Makefile target and host them on readtthedocs.
Documentation was written a long time ago, and needs to be updated. Future features should update documentation themselves.
This upgrade to a new LTS version will provide a longer duration of support for the operating systems in the images. Also allows us to include new software and new versions of existing software.
Stops people running on old versions of Virtual Micromagnetics without knowing what they are doing.
Add a favicon to the website (probably a small version of the virtual micromagnetics logo).
Docker containers take up a large amount of disk space. Consider moving where they are stored by changing the directory used by docker, creating a symbolic link, or by creating another partition.
This should add x.y.z for tagged revisions, or the version hash for non-tagged revisions. If Git is not pulled, it shouldn't attempt to add a revision.
With virtual machines, people like to see an image of the final product so that they have some familiarity when they set it up themselves. Consider adding this image to the getting started page.
Add a troubleshooting page to the website that introduces some difficulties users might face using VirtualBox and Vagrant.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.