| |||
License server status: PORT@HOSTNAME License file(s) on HOSTNAME: LICENSE_FILE: HOSTNAME: license server UP (MASTER) v11.16.4 Vendor daemon status (on HOSTNAME): VENDOR_DAEMON: UP v11.16.4 Feature usage info: Users of FEATURE1: (Total of 1 license issued; Total of 0 licenses in use) Users of FEATURE2: (Total of 8 licenses issued; Total of 5 licenses in use) "FEATURE2" v2021.06, vendor: VENDOR_DAEMON, expiry: 28-sep-2022 vendor_string: UHD:PERM floating license USER1 EXECUTE_HOST /dev/pts/1 14165.SUBMIT_HOST (v2018.06) (HOSTNAME/PORT 482), start Sat 6/18 11:35, 4 licenses USER2 EXECUTE_HOST /dev/pts/2 52926.SUBMIT_HOST (v2018.06) (HOSTNAME/PORT 2845), start Mon 6/20 15:31 ... Feature Version #licenses Vendor Expires _______ _________ _________ ______ ________ FEATURE1 1.0 1 VENDOR_DAEMON 28-Sep-2022 FEATURE2 2021.06 2 VENDOR_DAEMON 28-sep-2022 ... ----------------------------------------------------------------------------
license_dic = { 'license_files': '', 'license_server_status': 'UNKNOWN', 'license_server_version': '', 'vendor_daemon': { vendor_daemon: { 'vendor_daemon_status': 'UP', 'vendor_daemon_version': '', 'feature': {feature: { 'issued': 0, 'in_use': 0, 'in_use_info_string': [], 'in_use_info': [], }, }, 'expires': {feature: { 'version': '', 'license': '', 'vendor': '', 'expires': '', }, }, }, }, }
[liyanqing@cmp1 test]$ git clone https://github.com/bytedance/licenseMonitor.git Cloning into 'licenseMonitor'... remote: Enumerating objects: 26, done. remote: Counting objects: 100% (26/26), done. remote: Compressing objects: 100% (19/19), done. remote: Total 26 (delta 2), reused 26 (delta 2), pack-reused 0 Unpacking objects: 100% (26/26), done.
[liyanqing.1987@n212-206-194 tools]$ cd licenseMonitor/ [liyanqing.1987@n212-206-194 licenseMonitor]$ ls bin common config data docs install.py LICENSE Notice.txt patch README requirements.txt tools
[root@ic-admin1 licenseMonitor]# pip3 install -r requirements.txt Looking in indexes: https://bytedpypi.byted.org/simple/ Requirement already satisfied: pexpect==4.8.0 in /ic/software/tools/python3/3.8.8/lib/python3.8/site-packages (from -r requirements.txt (line 1)) (4.8.0) Requirement already satisfied: ptyprocess>=0.5 in /ic/software/tools/python3/3.8.8/lib/python3.8/site-packages (from pexpect==4.8.0->-r requirements.txt (line 1)) (0.7.0)
[root@ic-admin1 licenseMonitor]# python3 install.py >>> Check python version. Required python version : (3, 8) Current python version : (3, 8) >>> Generate script "/ic/data/usr/liyanqing.1987/tools/licenseMonitor/bin/license_monitor". >>> Generate script "/ic/data/usr/liyanqing.1987/tools/licenseMonitor/tools/config_product_feature_relationship". >>> Generate script "/ic/data/usr/liyanqing.1987/tools/licenseMonitor/tools/get_product_feature_relationship". >>> Generate config file "/ic/data/usr/liyanqing.1987/tools/licenseMonitor/conf/config.py". Done, Please enjoy it.
# Specify EDA license administrators. (only administrator can execute license_monitor) administrators = "" # Set configured LM_LICENSE_FILE for administrators. If False, will get LM_LICENSE_FILE from current terminal. show_configured_for_admin = True # Specify lmstat path, just like "***/bin". lmstat_path = "" # Specify lmstat bsub command, just like "bsub -q normal -Is". lmstat_bsub_command = "" # Specify LM_LICENSE_FILE setting. LM_LICENSE_FILE = "" # Specify EDA license product-feature relationship file, you can get the file with "tools/get_product_feature_relationship.py". product_feature_relationship_file = "" # The time interval to fresh license information automatically, unit is "second", default is 300 seconds. fresh_interval = 300
# Specify EDA license administrators. (only administrator can execute license_monitor) administrators = "luchengxin jiangziyi.1108 liyanqing.1987" # Set configured LM_LICENSE_FILE for administrators. If False, will get LM_LICENSE_FILE from current terminal. show_configured_for_admin = True # Specify the database directory. db_path = "/ic/software/cad_data/it/licenseMonitor/db" # Specify lmstat path. lmstat_path = "/ic/software/synopsys/scl/2021.03/linux64/bin" # Specify lmstat bsub command. lmstat_bsub_command = "bsub -q normal -Is" # Specify LM_LICENSE_FILE setting. LM_LICENSE_FILE = "\ 1055@ic-lic02:\ ... 27020@ic-lic03" # Specify EDA license product-feature relationship file. product_feature_relationship_file = "/ic/software/cad_tools/it/lsfMonitor/config/product_feature_relationship.yaml" # The time interval to fresh license information automatically, unit is "second", default is 300 seconds. fresh_interval = 300
[liyanqing.1987@n212-206-194 licenseMonitor]$ bin/license_monitor * [2023-01-06 19:08:45] Loading License information, please wait a moment ...
[liyanqing.1987@n212-206-194 licenseMonitor]$ bin/license_monitor -h usage: license_monitor.py [-h] [-f FEATURE] [-u USER] [-t {SERVER,FEATURE,EXPIRES,USAGE}] optional arguments: -h, --help show this help message and exit -f FEATURE, --feature FEATURE Specify license feature which you want to see on "LICENSE/EXPIRES/USAGE" tab. -u USER, --user USER Specify the user on "USAGE" tab. -t {SERVER,FEATURE,EXPIRES,USAGE}, --tab {SERVER,FEATURE,EXPIRES,USAGE} Specify current tab, default is "FEATURE" tab.
[liyanqing.1987@n212-206-194 licenseMonitor]$ bin/license_monitor -f vcs -u *** -t USAGE * [2023-01-28 16:44:26] Loading License information, please wait a moment ...
[liyanqing.1987@n212-206-194 tools]$ ./config_product_feature_relationship -h usage: config_product_feature_relationship.py [-h] [-v {arm,cadence,empyrean,keysight,magillem,mentor,NOC,synopsys,TSRAM,xilinx}] [-l LICENSE_FILE] [-o OUTPUT_FILE] optional arguments: -h, --help show this help message and exit -v {arm,cadence,empyrean,keysight,magillem,mentor,NOC,synopsys,TSRAM,xilinx}, --vendor {arm,cadence,empyrean,keysight,magillem,mentor,NOC,synopsys,TSRAM,xilinx} Specify vendor. -l LICENSE_FILE, --license_file LICENSE_FILE Specify license file. -o OUTPUT_FILE, --output_file OUTPUT_FILE Specify output file.
[liyanqing.1987@n212-206-194 tools]$ ./get_product_feature_relationship -h usage: get_product_feature_relationship.py [-h] [-v VENDORS [VENDORS ...]] -l LICENSE_FILES [LICENSE_FILES ...] [-o OUTPUT_FILE] optional arguments: -h, --help show this help message and exit -v VENDORS [VENDORS ...], --vendors VENDORS [VENDORS ...] Required argument, specify vendor list, must be the same order of license_files. -l LICENSE_FILES [LICENSE_FILES ...], --license_files LICENSE_FILES [LICENSE_FILES ...] Required argument, specify license files. -o OUTPUT_FILE, --output_file OUTPUT_FILE Output file, yaml format.
日期 | 版本 | 变更描述 | 源代码变更 |
2023.1.4 | 1.0 | 发布第一个正式 release 版本 | 无 |