Try   HackMD

WebMO Deployment notes

Premise

WebMO is a web interface for running multiple computational chemistry tools. It provides a low-barrier to entry means of doing computational chemistry that is utilised for teaching in the School of Chemistry.

Initially, SoC bought a node on ARC4 for teaching but deploying WebMO on this node and making it available off campus was deemed too difficult.

Requirements 2022

For the 2022 deployment Andrew would like:

  • WebMO 2022 (license 2007-1502-5479)
  • Installation of chemistry tools
  • Deployment to existing domain https://comp-chem.leeds.ac.uk
  • SSH access (from campus only), for Andrew

Notes on 2020-2021 deployment

This was deployed in Azure by Martin Callaghan with Andrew Burnett.

Existing Azure resources

$ az resource list -g uol_feps_chem_webmo -o table
Name                                                 ResourceGroup        Location    Type                                          Status
---------------------------------------------------  -------------------  ----------  --------------------------------------------  --------
webmo-lds-data1                                      uol_feps_chem_webmo  eastus      Microsoft.Compute/disks
webmo-lds-scratch                                    UOL_FEPS_CHEM_WEBMO  eastus      Microsoft.Compute/disks
webmo-lds_OsDisk_1_b8793f1771104e57865fd95b7a749ec8  uol_feps_chem_webmo  eastus      Microsoft.Compute/disks
webmos-lds-tmp1                                      uol_feps_chem_webmo  eastus      Microsoft.Compute/disks
webmo-lds                                            UOL_FEPS_CHEM_WEBMO  eastus      Microsoft.Compute/virtualMachines
webmo-lds/AzureNetworkWatcherExtension               uol_feps_chem_webmo  eastus      Microsoft.Compute/virtualMachines/extensions
webmo-lds/DependencyAgent                            uol_feps_chem_webmo  eastus      Microsoft.Compute/virtualMachines/extensions
webmo-lds/LinuxAgent.AzureSecurityCenter             uol_feps_chem_webmo  eastus      Microsoft.Compute/virtualMachines/extensions
webmo-lds/OmsAgentForLinux                           uol_feps_chem_webmo  eastus      Microsoft.Compute/virtualMachines/extensions
webmo-lds255                                         uol_feps_chem_webmo  eastus      Microsoft.Network/networkInterfaces
webmo-lds-nsg                                        uol_feps_chem_webmo  eastus      Microsoft.Network/networkSecurityGroups
webmo-lds-ip                                         uol_feps_chem_webmo  eastus      Microsoft.Network/publicIPAddresses
webmo_chemistry-vnet                                 uol_feps_chem_webmo  eastus      Microsoft.Network/virtualNetworks
chemwebmo                                            uol_feps_chem_webmo  uksouth     Microsoft.Storage/storageAccounts
webmochemistrydiag                                   uol_feps_chem_webmo  eastus      Microsoft.Storage/storageAccounts
  • System required large scratch storage due to programs writing lots of temporary files when filling up RAM
  • VM is currently - Standard D16ds v4 (16 vcpus, 64 GiB memory)
  • All resource deployed in East US AZ, except for the storage account which was deployed in uksouth

Notes on 2022 deployment

Ansible

A series of ansible roles and deployment playbook have been developed within the Team azure-ansible repository.

RBAC setup

For access and authentication this project will be configured with a new resource group owned by uolacola with medacola delegated contributor access.

Configuring WebMO

It's important to note that the ansible role for building WebMO uses the sitc steps for installation rather than the standard Linux server installation. The sitc installer is available directly from the WebMO website but still requires a license number and password.

License and license password

The WebMO license number was provided by Andrew Burnett and requires an associated password (also provided by Andrew). In the example Ansible playbook this password is stored as a secret within a resource group specific Azure Key Vault. This key vault was created manually through the Azure portal rather than programmatically and is required for successful deployment of WebMO.

Admin user

The WebMO interface is available at http://webmo-leeds.uksouth.cloudapp.azure.com/~webmo/cgi-bin/webmo/login.cgi

By default the admin user exists with the username admin, the related account password is available within UOL Secret Server as WebMO 2022 admin user.

Because of the size of ORCA executebles ORCA was moved to /scratch as the OS disk (50GB) was close to full after full deployment.

webmo and webmouser accounts

The webmouser account is the Azure VMs main account for managing deployment. It has passwordless sudo access and should only be accessible via SSH using an inbound network security rule.

webmo user is an account created by the WebMO installer script $ ./sitc/install. This account is used by WebMO to internally manage users and groups and is by default given passwordless sudo access. This should be disabled as it is not required (as far as our use case).

Configuring resources

WebMO needs to be made aware of available cores through the System Manager.

It is also important to change the default System Scratch Directory from /tmp to /scratch on our deployment to take advantage of the 1TB disk.

Chemistry engines

After installing the various additional chemistry engines you need to make WebMO aware of them through the Interface Manager.

In general for this to work the directory and executables for each tool need to be readable and executable for the webmo user.

Nwchem

For nwchem, WebMO expects a configuration file nwchemrc. In the previous iteration this was a blank file created at /etc/nwchemrc. This has been repeated for 2022.

Tinker

For Tinker it is required you provide a params directory. This is included within the standard Tinker GitHub repository and requires no adjustments.

ORCA

Orca files are provided by Andrew Burnett and are too large to include within the GitHub Ansible repository.