Note: If you have changed the configuration or changed the operating status of any component involved in this document while LiCO is running, the following command must be executed to restart LiCO:
systemctl restart lico
The following part of the infrastructure configuration in the /etc/lico/lico.ini
should be modified:
xxxxxxxxxx
[LICO]
DOMAIN = 'hpc.com'
To adhere to the shared directory configurations in this document, the following part of the storage configuration in the /etc/lico/lico.ini
should be modified:
xxxxxxxxxx
[LICO]
SHARE_DIR = "/home"
The following part of the scheduler configuration in the /etc/lico/lico.ini
should be modified:
xxxxxxxxxx
[LICO]
# The scheduler configuration currently supports Slurm, LSF and openPBS. Slurm is the default. if use LSF, change it to lsf; if use openPBS, change it to pbs
SCHEDULER = 'slurm'
To make new users accessible to one or more custom shared directory, do the following: Step 1. Create one or more shared folder, change the permission
xxxxxxxxxx
# change <Shared_Folder> to the absolute path of the Shared directory, If you want to use the existing directories, remember to change the permission.
mkdir -p <Shared_Folder>
chmod -R 777 <Shared_Folder>
Step 2. Modify the share directories configuration in the /etc/lico/lico.ini
:
xxxxxxxxxx
[LICO]
#for example: USER_SHARE_DIR = ["<Shared_Folder>","<Shared_Folder1>"]
USER_SHARE_DIR = []
Note: You need to run the following command for the changes to take effect
xxxxxxxxxx
lico share_dirs_init
The following part of the login configuration in the /etc/lico/lico.ini.d/user.ini
should be modified:
xxxxxxxxxx
[USER.LOGIN]
#Maximum number of login password error attempts
MAX_CHANCE = 5
#If user login failures exceed MAX_CHANCE,the system will suspend this user for 1 hour
LOCKED_HOURS = 1
If you need to use the billing function. The following part of the billing configuration in the /etc/lico/lico.ini.d/accounting.ini
should be modified. Through this configuration, you can set the time and content format of the exported report according to your time zone and your needs.
x[ACCOUNTING.BILLING]
# Time to generate daily report
# localtime use 24-hour format(hour[0-23]:minute[0-59])
DAILY_HOUR = "01:00"
# Time to generate monthly report
# day[1-28]
MONTHLY_DAY = 2
# ('en', 'English'),('sc', 'Simplified Chinese')
LANGUAGE = "en"
# The number of minutes between the current timezone and the UTC timezone
# Use offset between local timezone and UTC timezone by default
# Example: local timezone is GMT+8, the following should be 480.
# TIMEZONE_OFFSET = 0
# billing unit: {'dollar': '$'}, {'RMB': '\uffe5' }
UNIT = "$"
# billing title (Default: LiCO)
TITLE = "LiCO"
[ACCOUNTING.STORAGE]
# Bill for GPFS, Change the following items according to your settings for GPFS
USER_QUOTE_IDENTITY_FIELD = ""
GPFS_STORAGE_CMD = "mmrepquota"
Due to the delay in slurm statistic date collection, billing data of memory will be lost if the memory usage of the job is not obtained immediately after job is completed. To get memory at the best effort, the following part of the job configuration in the /etc/lico/lico.ini.d/job.ini
should be modified:
xxxxxxxxxx
[JOB.SLURM]
# The number of times the fetch was retried
MEMORY_RETRY_COUNT = 1
# The wait interval for refetch
MEMORY_RETRY_INTERVAL_SECOND = 0.5
[JOB.CSRES]
# the port range used by job.
PORT_BEGIN = 25000
PORT_END = 27500
If you database server is not the same as the LiCO management node. Change the instructions in the following configuration file to the ip address of your database server.
/etc/lico/lico.ini
xxxxxxxxxx
[DATABASE]
# the ip address where the mariadb installed
HOST = '127.0.0.1'
[INFLUXDB]
# the ip address where the influxdb installed
HOST = '127.0.0.1'
/etc/lico/icinga-mond.ini
xxxxxxxxxx
[influxdb]
# the ip address where the influxdb installed
host = 127.0.0.1
Note: You need to run the following command for the changes to take effect
xxxxxxxxxx
systemctl restart lico-icinga-mond
If your confluent server is not the same as the LiCO management node. Change the instructions in the following configuration file to the ip address and port of your confluent server
/etc/lico/lico.ini.d/cluster.ini
xxxxxxxxxx
[CLUSTER.CONFLUENT]
# the confluent server node ip
HOST = "127.0.0.1"
# the confluent server port
PORT = 4005
/etc/lico/confluent-proxy.ini
xxxxxxxxxx
[app:confluent-proxy]
# the confluent server node ip
host = 127.0.0.1
# the confluent server port
port = 4005
Note: You need to run the following command for the changes to take effect
xxxxxxxxxx
systemctl restart lico-confluent-proxy
Note: This function is unavailable if Intel oneAPI is not installed.
If you have installed intel oneAPI and want to use intel oneAPI by LiCO. The following part of the oneapi configuration in the /etc/lico/lico.ini.d/oneapi.ini
should be modified
xxxxxxxxxx
[ONEAPI]
# where is the intel oneapi installed, /opt/intel/oneapi is the default path
INTEL_MODULE_PATH = "/opt/intel/oneapi"
# if true, you can use intel oneAPI by LiCO Web; if false, close this function
ENABLE = false
If you need the function of publishing your aistudio model to docker, you must prepare a letrain docker image on a docker registry. The following part of the aistudio configuration in the /etc/lico/lico.ini.d/aistudio.ini
should be modified:
xxxxxxxxxx
[AISTUDIO]
# Letrain docker image
LETRAIN_DOCKER_IMAGE = ''
LiCO supports the unmonitored version, if you need to use the unmonitored version. The following part of the monitor configuration in the /etc/lico/lico.ini.d/monitor.ini
should be modified:
xxxxxxxxxx
[MONITOR]
# Controls which LiCO functions are to be enabled.
# The default value is ['scheduler', 'cluster']
# To use unmonitored version, configure the value to ['scheduler']
# To use no scheduler version, configure the value to ['cluster']
TARGETS = ['scheduler', 'cluster']
LiCO supports to configure EAR through LiCO. If you want to use this function, the following part of the EAR configuration in the /etc/lico/lico.ini.d/ear.ini
should be modified:
xxxxxxxxxx
[EAR]
EAR_CONFIG_PATH = ""
# The number of ear configuration file bakcups, default is 5
# EAR_CONF_BACKUP =
# The executable script must have the following fuctions:
# 1. If the EAR cluster do not share ear.conf,
# the script must be able to update the ear.conf for all nodes;
# 2. Able to reload all EARD services in the cluster, such like systemctl relaod eard;
# 3. Able to backup ear.conf is strongly recommended;
# Example: EARD_RELOAD_SCRIPT_PATH = "/var/lib/lico/core/ear/scripts/your_path"
EARD_RELOAD_SCRIPT_PATH = ""
In the publish operation, the /tmp
directory is used by default to cache temporary files. If you want to change it,the following part of the Publish configuration in the /etc/lico/lico.ini.d/publish.ini
should be modified:
xxxxxxxxxx
[PUBLISH]
BUILDAH_TMPDIR = ""
When you need to publish docker. you need to edit the /etc/containers/storage.conf
file. modify the mountopt = "nodev,metacopy=on"
to mountopt = "nodev,metacopy=off"
.
If you want to use lico web to build images. the following part of the container configuration in the /etc/lico/lico.ini.d/container.ini
should be modified:
xxxxxxxxxx
[CONTAINER]
# Singularity will cache SIF container images generated from remote sources, and any OCI/docker layers used to create them.The cache is created at $HOME/.singularity/cache by default. The location of the cache can be changed by setting the SINGULARITY_CACHEDIR environment variable.
SINGULARITY_CACHEDIR = ""
# When building a container, or pulling/running a Singularity container from a Docker/OCI source, a temporary working space is required. You may need to set SINGULARITY_TMPDIR when building a large container on a system which has a small /tmp filesystem
SINGULARITY_TMPDIR = ""
If you want to control the time when jupyter is automatically closed. the following part of the devtools configuration in the /etc/lico/lico.ini.d/devtools.ini
should be modified:
xxxxxxxxxx
[DEVTOOLS]
#Shut down the server after N seconds with no kernels or terminals running and no activity.
SHUTDOWN_NO_ACTIVITY_TIMEOUT=3600
#Timeout (in seconds) after which a kernel is considered idle and ready to be culled.
KERNEL_CULL_IDLE_TIMEOUT=300
#Timeout (in seconds) in which a terminal has been inactive and ready to be culled.
TERMINAL_CULL_INACTIVE_TIMEOUT=300
Attention: The configuration in this section is needed only when lico-wechat-agent module is installed for the cluster. You can obtain
The following part of the wechat-agent configuration in the /etc/lico/wechat-agent.ini
should be modified:
xxxxxxxxxx
[app:main]
appid = <your appid>
secret = <your secret>
Note: You need to run the following command for the changes to take effect
xxxxxxxxxx
systemctl restart lico-wechat-agent