Skip to main content

System for managing multi-station multi-tenant lab setups - admin server.

Project description

Downloads PyPI Latest Release Python version support

labManager v1.0.5

System for managing multi-station multi-tenant lab setups - admin-server

This package is part of the labManager tools, a collection of tools for managing behavioral research setups. Please see here for more information.

Installation

pip install labManager-admin-server

Example script

An example script for running the labManager admin-server script is provided here.

Configuration

The below shows the schema used for parsing the configuration file for labManager admin-server, using StrictYAML’s notation. An example configuration file is also available.

'LDAP': s.Map({                             # Configuration about the LDAP server and querying it
    'server': s.Str(),                      # Server FQDN or IP address
    'projects': s.Map({
        'format': s.Str(),                  # Regex to match projects in memberOf field of found user
    }),
}),
'toems': s.Map({                            # Configuration about the Theopenem instance
    'server': s.Str(),                      # Server FQDN or IP address
    'port': s.Int(),                        # Server port
    'images': s.Map({
        'format': s.Str(),                  # Regex to match disk images that belong to a project
        'file_copy_actions': s.Seq(         # List of file copy actions to activate when a new disk
            s.Map({                         # image is created
                'name': s.Str(),            # Name in Theopenem of a file_copy action
                'partition_id': s.Int(),    # Partition on the disk image for which the action should
            }),                             # be run
        ),
        'standard': s.Seq(                  # list of "standard" disk images that should be visible
            s.Str(),                        # (read only) to all projects. Use to, for instance,
        ),                                  # provide a base image that new projects can start from.
    }),
}),

Secrets file

Besides the configuration yaml file, the admin-server tool also needs a secrets file containing credentials with admin privileges for the LDAP and Theopenem environments. It should be formatted as follows:

LDAP_ACCOUNT    = username
LDAP_PASSWORD   = password
LDAP_SEARCH_BASE= OU=something,DC=something

TOEMS_ACCOUNT   = username
TOEMS_PASSWORD  = password

Standalone deployment

One simple way to make a standalone install of the app is to download WinPython, e.g. the latest 3.10.x version. I think this is recommended instead of using a system-wide or user installation of Python, so that users of the computer are unlikely to accidentally interfere with the Python distribution that runs the management tools.

Do as follows:

  1. Download the dot version, not the full package, e.g. Winpython64-3.10.11.1dot.
  2. Run the downloaded exe, which unzips the WinPython files.
  3. Take the python folder from the unzipped files (e.g. python-3.10.11.amd64), you do not need the rest. This is your python distribution. Put it where you want on the disk.
  4. Open a command prompt in the root of the Python installation. Install the wanted labManager packages into it using, e.g., .\python.exe -m pip install labManager-admin-server.
  5. Finally use the python.exe in the folder to execute your script, such the example script to launch this tool.

Acknowledgements

This project was made possible by funding from the LMK foundation, Sweden.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

labmanager_admin_server-1.0.5.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

labmanager_admin_server-1.0.5-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file labmanager_admin_server-1.0.5.tar.gz.

File metadata

File hashes

Hashes for labmanager_admin_server-1.0.5.tar.gz
Algorithm Hash digest
SHA256 2fab7968ed8acf22d47905b22d667621f25810856f5a2583f1047b31bb211630
MD5 a6a589ef638c481920b8b61037682186
BLAKE2b-256 e4e36d3fbe64cea42e0f01e8c34c2aa108029844f919c6c57f4528ee2f7e187b

See more details on using hashes here.

File details

Details for the file labmanager_admin_server-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for labmanager_admin_server-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 36a7ff4312ca83e34a570da918a44fe9e6db921f3a4b318a7ffe34beb990ca15
MD5 2529b3b8f86a7a782bcfb8b12ba22bec
BLAKE2b-256 7cb6849a6571ca58102ae6dafcaa177073b4b888e000fcc2c4e63ebb25a82453

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page