Adding SlurmΒΆ

  1. First configure the LDAP datastore. See Adding OpenLDAP.

  2. Install slurm command line.

  3. Add to /etc/sudoers:

    www-data ALL=(slurm) NOPASSWD: /usr/local/slurm/latest/bin/sacctmgr
    
  4. Test using www-data user:

    sudo -uslurm /usr/local/slurm/latest/bin/sacctmgr -ip
    
  5. Add project to slurm that has no access. Call it default (or whatever else you want).

  6. Edit the MACHINE_CATEGORY_DATASTORES setting in /etc/karaage3/settings.py:

    MACHINE_CATEGORY_DATASTORES = {
        'ldap': [
            {
                'DESCRIPTION': 'LDAP datastore',
                ...
            },
            {
                'DESCRIPTION': 'Slurm datastore',
                'ENGINE': 'karaage.datastores.slurm.SlurmDataStore',
                'PREFIX': [ "sudo", "-uslurm" ],
                'PATH': "/usr/local/slurm/latest/bin/sacctmgr",
                'NULL_PROJECT': 'default',
            },
        ],
        'dummy': [
        ],
    }
    

    Values PREFIX, PATH, and NULL_PROJECT are defaults and can be omitted.

  7. In /etc/karaage3/settings.py uncomment the LOGGING assignment lines related to slurm.

  8. Reload apache.

    service apache2 reload
    service python-karaage-celery restart