- Vagrant
- Vagrant vbguest plugin (
vagrant plugin update) - bento/ubuntu-24.04 Vagrant image (
vagrant box update) - Virtual Box
- QM codes
- AiiDA packages on PyPI
- Quantum Mobile itself
One way to check that the latest ansible roles are being used in the requirements.yml file,
is to use the GitHub GraphQL query:
# endpoint = https://api.github.com/graphql
{
search(query: "org:marvel-nccr ansible-role in:repo", type: REPOSITORY, first: 100) {
nodes {
... on Repository {
name
refs(refPrefix: "refs/tags/", last: 1) {
edges {
node {
name
}
}
}
}
}
}
}
After updating requirements.yml, be sure to run:
tox -e update-ansibleto force upgrade of the downloaded roles.
Ensure Vagrant is updated , and to update the base box and plugins you can run:
tox -e update-vagrantFollow the desktop build instructions.
Follow the cloud build instructions.
- For the server to build the VM, choose e.g. 2 CPUs with 4GB of RAM, with at least 16GB of storage.
- Your configuration may also be the standard configuration shown to users creating a VM using your image
- Currently Ubuntu Server 24.04 LTS
- Expose ports as listed in instructions
- You won't need it for long, so price for CPU/RAM is of no concern
- Exemplary metadata:
-
name:
quantum-mobile-20-05-0(GCP only allows alphanumeric characters + dashes) -
family:
quantum-mobile -
description:
Quantum Mobile Cloud Edition Server v20.05.0 See https://github.com/marvel-nccr/quantum-mobile-cloud-edition
-
To prepare the release:
- Fill in the manual sections of
dist/Release-<version>.md - Release the distributions (see below)
- Copy
dist/Release-<version>.mdtodocs/releases/and add the top-matter section. - Update
CHANGELOG.md - Commit changes of quantum-mobile repository to
mainbranch - create new GitHub release, copying content of
dist/Release-<version>.md(replaceChangelogsection with link to documentation) file andCHANGELOG.md
Releases should be uploaded to the mrcloud openstack account and marvel-vms container.
If you have authentication to this project, you can generate the API key and other environmental variables necessary to connect using:
(this will ask for your username and password)
$ tox -e openstack-api
...
TASK [Print environment]
ok: [localhost] =>
msg:
- |-
export OS_AUTH_URL=https://pollux.cscs.ch:13000/v3
export OS_IDENTITY_PROVIDER_URL=https://auth.cscs.ch/auth/realms/cscs/protocol/saml/
export OS_PROTOCOL=mapped
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_TYPE=token
export OS_IDENTITY_PROVIDER=cscskc
export OS_INTERFACE=public
...Copy/paste these export commands into the terminal, then you can use the openstack CLI via:
$ tox -e openstack -- object list marvel-vmsUpload contents of dist/ to object store
$ tox -e openstack -- openstack object create marvel-vms dist/Release-<version>.md
$ tox -e openstack -- openstack object create marvel-vms dist/quantum_mobile_<version>.ovaFinally generate a short-link for the object store URL with bit.ly,
then replace the URL in dist/Release-<version>.md.
:::{note} Here are some indicative prices for hosting public images and disk pricing:
- Image pricing (for us to host it):
- magnetic: 8.5c/GB/month (GCP)
- Disk pricing (for users):
- magnetic: 4c/GB/month (GCP), 2.5c/GB/month (AWS)
- SSD: 10c/GB/month (AWS) :::