Page tree

The license could not be verified: License Certificate has expired!

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleWhat are the command line tools provided for accessing Kita Server?

 These are listed below.

hsinfo

This tool returns basic information on the server state and validates the username and password saved in the .hscfg file. For example:

$ hsinfo
endpoint: http://hsdshdflab.hdfgroup.org
server name: HDF Server for Kita Lab
server state: READY
username: test_user1
password: ********************************
home: /home/test_user1/
server version: 0.3
up: 55 min 27 sec
h5pyd version: 0.3.3

If you add a domain argument to hsinfo, summary information about that domain will be displayed. Example:

$ hsinfo /shared/tall.h5
domain: /shared/tall.h5
owner: admin
id: g-75b88d05-46db146e-fd30-058dce-539ce6
last modified: 2019-01-17 15:39:36
total_size: 6149
allocated_bytes: 580
num objects: 10
num chunks: 4

hsls

This tool list either folders and domains at the given path.

Rather than directories and files, Kita uses the terms folders and domains. A folder is used to store collections of folders and domains. A domain is the equivalent to a regular HDF5 file stored in a POSIX filesystem.

During installation, a home folder is created for each user in the path: /home/<username> . If peterpan is a username, running $hsls /home/peterpan/ will display:

peterpan                     folder           2018-06-25    17:01:24     /home/peterpan/
1 items

As additional content is created in this folder, those items will be displayed by hsls.

hsload

This tool will upload an HDF5 from the client environment to Kita.

Usage: $ hsload <filename> <folder> to upload a file to the given folder (where it will be saved using the same name as the local file), or $hsload <filename> <domain> , to store to the given domain.

Examples:

hsload myhdf5file.h5 /home/bob/                  # creates
/home/bob/myhdf5file.h5
hsload myhdf5file.h5 /home/bob/mycloudfile.h5 # creates
/home/bob/mycloudfile.h5

Note: There's no equivalent to the concept of "current working directory" for paths on the server. Always use absolute path names.

Note: By default hsload doesn't produce any output. Use the -v flag or use the hsls tool to verify the load.

Note: The requesting user most have permissions to write to the folder that will be used to store the domain (see hsacl below).

Note: Non-HDF5 files cannot be loaded. Use h5ls to verify that a file to uploaded is indeed an HDF5 file.

Note: If you need a test file, you can download this one: https://s3.amazonaws.com/hdfgroup/data/hdf5test/tall.h5.

hsget

This tool retrieves a domain from the server an stores it as a ordinary HDF5 file on the client system.

Usage: $ hsget <domain> <filename>

Examples:

hsget /home/bob/myhdf5file.h5 myhdf5file.h5 # stores myhdf5file.h5 in the
current directory

hstouch

This tool creates a new folder or a domain (which will contain just the root group) on the server.

Usage: $ hstouch <folder> to create a folder

Usage: $ hstouch <domain> to create a domain

Example:

hstouch /home/bob/myfolder

hsrm

This tool removes a folder or domain from the server.

Usage: $ hsrm <folder> to delete a folder

Usage: $ hsrm <domain> to delete a domain

Example:

hsrm /home/bob/myhdf5file.h5

hsmv

This tool can be used to move a domain from one folder location to another.

Usage: $ hsmv <src_domain> <des_domain> to move a domain

Usage: $ hsmv <src_domain> <des_folder> to move domain into folder des_folder

Example:

hsmv /home/bob/folder1/myhdf5file.h5 /home/bob/folder2/

hscp

This tool copies all content from the given domain to a new domain.

Usage: $ hscp <src_domain> <des_domain>

Example:

hscp /home/bob/myhdf5file.h5 /home/bob/myhdf5file_copy.h5

hsdiff

This tool compares the content of an HDF5 file with a domain and prints a message if the two objects are different.

Usage: $ hsdiff <HDF5 file> <domain>

Example:

$ hsdiff myhdf5file.h5 /home/bob/myhdf5file.h5

hsacl

This tools can be used to display or modify ACLs (Access Control List) for folders or domains. The ACL for a given user controls which actions ("create", "read", "update", "delete", "read ACL", "update ACL") can be performed (either via the CLI tools, or programmatically).

Run: hsacl --help for details on usage.

Also, this blog post: https://www.hdfgroup.org/2015/12/serve-protect-web-security-hdf5/ describes the design and use of ACLs as well as well as other web security related issues.

...