1. [root@head ~]# cat /usr/lib/systemd/system/lico.service
  2. [Unit]
  3. Description=lenovo hpc/ai project
  4. After=rabbitmq-server.service mariadb.service confluent.service influxdb.service
  5. [Service]
  6. EnvironmentFile=-/etc/sysconfig/lico
  7. ExecStartPre=/usr/bin/lico start --prepare-only
  8. ExecStart=/usr/bin/lico start -n --start-only
  9. Restart=on-failure
  10. LimitNOFILE=10000
  11. [Install]
  12. WantedBy=multi-user.target
  13. [root@head ~]# ls -la /usr/bin/lico
  14. -rwx------. 1 lico lico 399 Aug 1 11:18 /usr/bin/lico
  15. [root@head ~]# cat /usr/bin/lico
  16. #!/usr/bin/python3.6
  17. # EASY-INSTALL-ENTRY-SCRIPT: 'lico-core-base==6.0.0','console_scripts','lico'
  18. __requires__ = 'lico-core-base==6.0.0'
  19. import re
  20. import sys
  21. from pkg_resources import load_entry_point
  22. if __name__ == '__main__':
  23. sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
  24. sys.exit(
  25. load_entry_point('lico-core-base==6.0.0', 'console_scripts', 'lico')()
  26. )
  27. [root@head ~]#
  28. [root@head ~]# systemctl status lico
  29. lico.service - lenovo hpc/ai project
  30. Loaded: loaded (/usr/lib/systemd/system/lico.service; enabled; vendor preset: disabled)
  31. Active: active (running) since Wed 2021-01-27 21:20:53 CST; 20h ago
  32. Process: 64198 ExecStartPre=/usr/bin/lico start --prepare-only (code=exited, status=0/SUCCESS)
  33. Main PID: 64261 (lico)
  34. Tasks: 223 (limit: 49780)
  35. Memory: 1.6G
  36. CGroup: /system.slice/lico.service
  37. ├─64261 /usr/bin/python3.6 /usr/bin/lico start -n --start-only
  38. ├─64293 /usr/bin/python3.6 /usr/bin/lico worker --log-level INFO --autoscale 30,10
  39. ├─64294 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  40. ├─64358 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  41. ├─64359 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  42. ├─64363 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  43. ├─64364 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  44. ├─64366 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  45. ├─64367 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  46. ├─64368 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  47. ├─64369 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  48. ├─64372 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  49. ├─64373 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  50. ├─64398 /usr/bin/python3.6 /usr/bin/lico worker --log-level INFO --autoscale 30,10
  51. ├─64399 /usr/bin/python3.6 /usr/bin/lico worker --log-level INFO --autoscale 30,10
  52. ├─64400 /usr/bin/python3.6 /usr/bin/lico worker --log-level INFO --autoscale 30,10
  53. ├─64401 /usr/bin/python3.6 /usr/bin/lico worker --log-level INFO --autoscale 30,10
  54. ├─64402 /usr/bin/python3.6 /usr/bin/lico worker --log-level INFO --autoscale 30,10
  55. ├─64403 /usr/bin/python3.6 /usr/bin/lico worker --log-level INFO --autoscale 30,10
  56. ├─64404 /usr/bin/python3.6 /usr/bin/lico worker --log-level INFO --autoscale 30,10
  57. ├─64405 /usr/bin/python3.6 /usr/bin/lico worker --log-level INFO --autoscale 30,10
  58. ├─64406 /usr/bin/python3.6 /usr/bin/lico worker --log-level INFO --autoscale 30,10
  59. └─64407 /usr/bin/python3.6 /usr/bin/lico worker --log-level INFO --autoscale 30,10

lico start -n --start-only
lenovo_git\lico-core\lico.core.base.main start -n --start-only

  1. [root@head components]# /usr/bin/lico version
  2. lico-core-base 6.0.0
  3. lico-core-accounting 1.0.0 (active)
  4. lico-core-aistudio 1.0.0 (active)
  5. lico-core-alert 1.0.0 (active)
  6. lico-core-cluster 1.0.0 (active)
  7. lico-core-container 1.0.0 (active)
  8. lico-core-devtools 1.0.0 (active)
  9. lico-core-job 1.0.0 (active)
  10. lico-core-license 1.0.0 (active)
  11. lico-core-monitor 1.0.0 (active)
  12. lico-core-publish 1.0.0 (active)
  13. lico-core-scheduler 1.0.0 (active)
  14. lico-core-support 1.0.0 (active)
  15. lico-core-template 1.0.0 (active)
  16. lico-core-tensorboard 1.0.0 (active)
  17. lico-core-user 1.0.0 (active)
  18. lico-core-workflow 1.0.0 (active)
  19. [root@head ~]# /usr/bin/lico start --prepare-only;/usr/bin/lico start -n --start-only
  20. ## /opt/lico/components/lico_core_base-6.0.0-py3.6.egg/lico/core/base/main.py ##
  21. ## settings_module: ## /usr/lib/python3.6/site-packages/django/conf/__init__.py lico.core.base.settings
  22. ## setting.installed_apps: ['django.contrib.auth', 'django.contrib.contenttypes', 'rest_framework', 'lico.core.base', 'lico.core.accounting', 'lico.core.aistudio', 'lico.core.alert', 'lico.core.cluster', 'lico.core.container.singularity', 'lico.core.devtools', 'lico.core.job', 'lico.core.license', 'lico.core.monitor', 'lico.core.monitor_host', 'lico.core.publish', 'lico.core.scheduler', 'lico.core.support', 'lico.core.template', 'lico.core.tensorboard', 'lico.core.user', 'lico.core.workflow']
  23. ## /usr/lib/python3.6/site-packages/django/core/management/__init__.py ## subcommand: start ## self.argv: ['/usr/bin/lico', 'start', '--prepare-only']
  24. ## app_name: lico.core.base
  25. ## baseCommand: <class 'django.core.management.base.BaseCommand'>
  26. ## /usr/lib/python3.6/site-packages/django/core/management/base.py [] {'verbosity': 1, 'settings': None, 'pythonpath': None, 'traceback': False, 'no_color': False, 'force_color': False, 'nodaemon': False, 'prepare_only': True, 'start_only': False}
  27. ## /opt/lico/components/lico_core_base-6.0.0-py3.6.egg/lico/core/base/main.py ##
  28. ## settings_module: ## /usr/lib/python3.6/site-packages/django/conf/__init__.py lico.core.base.settings
  29. ## setting.installed_apps: ['django.contrib.auth', 'django.contrib.contenttypes', 'rest_framework', 'lico.core.base', 'lico.core.accounting', 'lico.core.aistudio', 'lico.core.alert', 'lico.core.cluster', 'lico.core.container.singularity', 'lico.core.devtools', 'lico.core.job', 'lico.core.license', 'lico.core.monitor', 'lico.core.monitor_host', 'lico.core.publish', 'lico.core.scheduler', 'lico.core.support', 'lico.core.template', 'lico.core.tensorboard', 'lico.core.user', 'lico.core.workflow']
  30. ## /usr/lib/python3.6/site-packages/django/core/management/__init__.py ## subcommand: start ## self.argv: ['/usr/bin/lico', 'start', '-n', '--start-only']
  31. ## app_name: lico.core.base
  32. ## baseCommand: <class 'django.core.management.base.BaseCommand'>
  33. ## /usr/lib/python3.6/site-packages/django/core/management/base.py [] {'verbosity': 1, 'settings': None, 'pythonpath': None, 'traceback': False, 'no_color': False, 'force_color': False, 'nodaemon': True, 'prepare_only': False, 'start_only': True}
  34. 2021-02-02 06:40:48,170 CRIT Supervisor is running as root. Privileges were not dropped because no user is specified in the config file. If you intend to run as root, you can set user=root in the config file to avoid this message.
  35. 2021-02-02 06:40:48,170 INFO Included extra file "/etc/lico/lico.supervisor.d/lico-core-base.ini" during parsing
  36. [root@head lico]# vim /usr/lib/python3.6/site-packages/django/core/management/__init__.py
  37. import os
  38. print("## ",os.path.realpath(__file__),"## subcommand: ",subcommand," ## self.argv: ",self.argv)
  39. self.fetch_command(subcommand).run_from_argv(self.argv)
  40. [root@head lico]# vim /usr/lib/python3.6/site-packages/django/core/management/base.py
  41. import os
  42. print("## ",os.path.realpath(__file__),[*args],{**cmd_options})
  43. self.execute(*args, **cmd_options)

python的包导入问题(一)from . import 的使用

必备知识:from . import,“.” 代表使用相对路径导入,即从当前项目中寻找需要导入的包或函数
[]python的包导入问题(一)from . import 的使用
image.png
lenovo_git\lico-core\lico-core-base\setup.cfg

  1. [options.entry_points]
  2. console_scripts =
  3. lico = lico.core.base.main:main [executable]
  4. paste.app_factory =
  5. main = lico.core.base.wsgi:make_application

项目的多个 sub_app 以 lico.core.application 为 group 的多个entry_points, 如下示例

  1. [options.entry_points]
  2. lico.core.application =
  3. job = lico.core.job.main:Application

image.png

Python打包:setuptools与setup.py/.cfg入门简介

使用setup.cfg而不是setup.py的理由是,前者是声明式的配置文件,后者是实际的python代码,可能不安全。setuptools的文档中推荐从setup.py迁移到setup.cfg,其实未来应该会使用pyproject.toml
Configuring setup() using setup.cfg files——official website
Python打包:setuptools与setup.py/.cfg入门简介

  1. .
  2. ├── hello
  3. ├── hello_impl.py
  4. ├── __init__.py
  5. └── __main__.py
  6. ├── LICENSE
  7. ├── Readme.md
  8. ├── setup.cfg
  9. └── setup.py

各个文件的内容:

  1. # setup.py;会自动读取setup.cfg中的设置
  2. import setuptools
  3. setuptools.setup() # 也可有参调用,则会覆盖.cfg的对应条目
  4. # setup.cfg;所有条目见 https://setuptools.readthedocs.io/en/latest/userguide/declarative_config.html
  5. [metadata]
  6. name = hellokpg
  7. version = 1.0
  8. author = xxx
  9. long_description = file: Readme.md # 从文件中读取
  10. license = MIT
  11. url = https://github.com/user/repo
  12. classifiers = # PyPI的分类,类似于标签,所有条目见 https://pypi.org/pypi?%3Aaction=list_classifiers
  13. Development Status :: 3 - Alpha
  14. Programming Language :: Python :: 3
  15. [options]
  16. packages = find: # 自动搜索存在__init__.py的文件夹作为包
  17. install_requires = # 依赖,pip安装时靠的就是这个而不是requirements.txt
  18. requests
  19. [options.entry_points]
  20. console_scripts =
  21. pyhello = hello.__main__:main
  22. # hello_impl.py
  23. def say(to):
  24. print('hello', to)
  25. # __init__.py
  26. from .hello_impl import say
  27. # __main__.py
  28. from . import say
  29. import sys
  30. def main():
  31. say(sys.argv[1])
  32. if __name__ == '__main__':
  33. main()


load_entry_point 使调用简单

load_entry_point 使调用简单

  1. ## 设置 setup.py
  2. setup(
  3. name='mypackage',
  4. entry_points={
  5. 'mypackage.api.v1':[
  6. 'databases=mypackage.api.v1.databases:main',
  7. ],
  8. )
  9. ## 使用
  10. from pkg_resources import load_entry_point
  11. load_entry_point('mypackage', 'mypackage.api.v1', 'database')()
  12. def load_entry_point(dist, group, name):
  13. """Return `name` entry point of `group` for `dist` or raise ImportError"""
  14. return get_distribution(dist).load_entry_point(group, name)

entry_points将Python模块转变为命令行工具

  1. setup(name='pycase',
  2. version=VERSION,
  3. classifiers=[],
  4. keywords='pycase',
  5. packages=find_packages(),
  6. include_package_data=True,
  7. zip_safe=True,
  8. install_requires=[],
  9. entry_points={
  10. 'console_scripts': [
  11. 'pycase = pycase.case:main'
  12. ]
  13. }
  14. )
  15. """
  16. ### shell 使用
  17. $ python pycase/case.py studeng_model
  18. StudengModel
  19. 基于前面配置好的 setup.py 将项目打包安装
  20. python setup.py install
  21. 5、命令行工具
  22. $ pycase studeng_model
  23. StudengModel
  24. pycase = pycase.case:main
  25. 相当于
  26. pycase == pycase/case.py.main
  27. 其中,main 是定义好的main() 方法
  28. """

entry_point+click:快速生成python命令行接口

image.png

slurm 除了 要配置 slurm 的配置文件之外, 还需要 /etc/hosts 文件。

python env

下面就是 我启动之后 成功了的示例
image.png

  1. (env36) [root@localhost lico-core-test]# lico shell
  2. Warning: Password database not exists.
  3. Python 3.6.8 (default, Aug 24 2020, 17:57:11)
  4. [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
  5. Type "help", "copyright", "credits" or "license" for more information.
  6. (InteractiveConsole)
  7. >>> import requests
  8. >>> url="http://127.0.0.1:18080/lico-core-test/"
  9. >>> r=requests.get(url)
  10. >>> r.text
  11. '<h1>Not Found</h1><p>The requested resource was not found on this server.</p
  12. >>> client_loop: send disconnect: Connection reset by peer

端口 18080,18081,18085

  1. [root@head nginx]# ps -ef | grep lico | grep "bind"
  2. root 41182 1 0 Jan27 ? 00:02:09 /usr/bin/python3.6 /usr/bin/gunicorn-3.6 --paste /etc/lico/file-manager.ini --bind :18085 --log-config /etc/lico/lico.logging.d/file-manager.ini -w 5 --threads 10 --timeout 3600 --keep-alive 65 --capture-output
  3. root 41238 1 0 Jan27 ? 00:01:49 /usr/bin/python3.6 /usr/bin/gunicorn-3.6 --paste /etc/lico/confluent-proxy.ini --bind :18081 --log-config /etc/lico/lico.logging.d/confluent-proxy.ini --workers 1 --threads 50 --timeout 3600 --worker-class gevent --keep-alive 65 --log-level info --access-logfile - --error-logfile - --capture-output
  4. root 41239 41182 0 Jan27 ? 00:02:14 /usr/bin/python3.6 /usr/bin/gunicorn-3.6 --paste /etc/lico/file-manager.ini --bind :18085 --log-config /etc/lico/lico.logging.d/file-manager.ini -w 5 --threads 10 --timeout 3600 --keep-alive 65 --capture-output
  5. root 41243 41182 0 Jan27 ? 00:02:18 /usr/bin/python3.6 /usr/bin/gunicorn-3.6 --paste /etc/lico/file-manager.ini --bind :18085 --log-config /etc/lico/lico.logging.d/file-manager.ini -w 5 --threads 10 --timeout 3600 --keep-alive 65 --capture-output
  6. root 41248 41182 0 Jan27 ? 00:02:15 /usr/bin/python3.6 /usr/bin/gunicorn-3.6 --paste /etc/lico/file-manager.ini --bind :18085 --log-config /etc/lico/lico.logging.d/file-manager.ini -w 5 --threads 10 --timeout 3600 --keep-alive 65 --capture-output
  7. root 41249 41182 0 Jan27 ? 00:02:12 /usr/bin/python3.6 /usr/bin/gunicorn-3.6 --paste /etc/lico/file-manager.ini --bind :18085 --log-config /etc/lico/lico.logging.d/file-manager.ini -w 5 --threads 10 --timeout 3600 --keep-alive 65 --capture-output
  8. root 41250 41182 0 Jan27 ? 00:02:10 /usr/bin/python3.6 /usr/bin/gunicorn-3.6 --paste /etc/lico/file-manager.ini --bind :18085 --log-config /etc/lico/lico.logging.d/file-manager.ini -w 5 --threads 10 --timeout 3600 --keep-alive 65 --capture-output
  9. root 41261 41238 0 Jan27 ? 00:02:24 /usr/bin/python3.6 /usr/bin/gunicorn-3.6 --paste /etc/lico/confluent-proxy.ini --bind :18081 --log-config /etc/lico/lico.logging.d/confluent-proxy.ini --workers 1 --threads 50 --timeout 3600 --worker-class gevent --keep-alive 65 --log-level info --access-logfile - --error-logfile - --capture-output
  10. root 442650 442605 0 Feb01 ? 00:00:23 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  11. root 442657 442650 0 Feb01 ? 00:01:53 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  12. root 442661 442650 0 Feb01 ? 00:01:52 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  13. root 442662 442650 0 Feb01 ? 00:01:50 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  14. root 442663 442650 0 Feb01 ? 00:01:48 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  15. root 442664 442650 0 Feb01 ? 00:01:43 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  16. root 442665 442650 0 Feb01 ? 00:01:50 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  17. root 442666 442650 0 Feb01 ? 00:01:55 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  18. root 442667 442650 0 Feb01 ? 00:01:59 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  19. root 442668 442650 0 Feb01 ? 00:02:09 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  20. root 442672 442650 0 Feb01 ? 00:02:27 /usr/bin/python3.6 /usr/bin/gunicorn --paste /etc/lico/lico.paste.ini -w 10 --threads 20 --bind :18080 --log-config /etc/lico/lico.logging.d/lico-base.ini --timeout 3600 --keep-alive 65 --capture-output --preload
  21. [root@head nginx]# ls
  22. [root@head httpd]# cat /usr/bin/gunicorn
  23. #!/usr/bin/python3.6
  24. # EASY-INSTALL-ENTRY-SCRIPT: 'gunicorn==20.0.4','console_scripts','gunicorn'
  25. __requires__ = 'gunicorn==20.0.4'
  26. import re
  27. import sys
  28. from pkg_resources import load_entry_point
  29. if __name__ == '__main__':
  30. sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
  31. sys.exit(
  32. load_entry_point('gunicorn==20.0.4', 'console_scripts', 'gunicorn')()
  33. )
  34. [root@head httpd]#

start_lico 后的 os.environ

  1. {' UCX_BIN ' : ' /opt/ohpc/pub/mpi/ucx-ohpc/1.8.0/bin '
  2. ' LD_LIBRARY_PATH ' : ' /opt/ohpc/pub/mpi/libfabric/1.10.1/lib:/opt/ohpc/pub/mpi/ucx-ohpc/1.8.0/lib:/opt/ohpc/pub/mpi/openmpi4-gnu9/4.0.3/lib:/opt/ohpc/pub/compiler/gcc/9.2.0/lib64 '
  3. ' LS_COLORS ' : ' rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01;36:*.xspf=01;36: '
  4. ' LIBFABRIC_DIR ' : ' /opt/ohpc/pub/mpi/libfabric/1.10.1 '
  5. ' __LMOD_REF_COUNT_PATH ' : ' /opt/ohpc/pub/libs/singularity/3.4.2/bin: 1;/opt/ohpc/pub/mpi/libfabric/1.10.1/bin: 1;/opt/ohpc/pub/mpi/ucx-ohpc/1.8.0/bin: 1;/opt/ohpc/pub/mpi/openmpi4-gnu9/4.0.3/bin: 1;/opt/ohpc/pub/compiler/gcc/9.2.0/bin: 1;/opt/ohpc/pub/utils/prun/2.0: 1;/opt/ohpc/pub/bin: 1;/usr/local/sbin: 1;/usr/local/bin: 1;/usr/sbin: 1;/usr/bin: 1 '
  6. ' _ModuleTable002_ ' : ' YnJpYy8xLjEwLjEiLFsibG9hZE9yZGVyIl09NCxwcm9wVD17fSxbInJlZl9jb3VudCJdPTEsWyJzdGFja0RlcHRoIl09MixbInN0YXR1cyJdPSJhY3RpdmUiLFsidXNlck5hbWUiXT0ibGliZmFicmljIix9LG9ocGM9e1siZm4iXT0iL29wdC9vaHBjL3B1Yi9tb2R1bGVmaWxlcy9vaHBjIixbImZ1bGxOYW1lIl09Im9ocGMiLFsibG9hZE9yZGVyIl09Nyxwcm9wVD17fSxbInN0YWNrRGVwdGgiXT0wLFsic3RhdHVzIl09ImFjdGl2ZSIsWyJ1c2VyTmFtZSJdPSJvaHBjIix9LG9wZW5tcGk0PXtbImZuIl09Ii9vcHQvb2hwYy9wdWIvbW9kdWxlZGVwcy9nbnU5L29wZW5tcGk0LzQuMC4zIixbImZ1bGxOYW1lIl09Im9wZW5tcGk0LzQuMC4zIixbImxvYWRPcmRlciJdPTUscHJvcFQ9 '
  7. ' SSH_CONNECTION ' : ' 10.106.234.48 51751 172.20.10.33 22 '
  8. ' INCLUDE ' : ' /opt/ohpc/pub/compiler/gcc/9.2.0/include '
  9. ' UCX_LIB ' : ' /opt/ohpc/pub/mpi/ucx-ohpc/1.8.0/lib '
  10. ' LMOD_FAMILY_MPI_VERSION ' : ' 4.0.3 '
  11. ' LANG ' : ' en_US.UTF-8 '
  12. ' HISTCONTROL ' : ' ignoredups '
  13. ' LMOD_FAMILY_COMPILER_VERSION ' : ' 9.2.0 '
  14. ' HOSTNAME ' : ' head '
  15. ' OLDPWD ' : ' // '
  16. ' PERL_BADLANG ' : ' 0 '
  17. ' UCX_WARN_UNUSED_ENV_VARS ' : ' N '
  18. ' __LMOD_REF_COUNT__LMFILES_ ' : ' /opt/ohpc/pub/modulefiles/prun/2.0: 1;/opt/ohpc/pub/modulefiles/gnu9/9.2.0: 1;/opt/ohpc/pub/modulefiles/ucx/1.8.0: 1;/opt/ohpc/pub/modulefiles/libfabric/1.10.1: 1;/opt/ohpc/pub/moduledeps/gnu9/openmpi4/4.0.3: 1;/opt/ohpc/pub/modulefiles/singularity/3.4.2: 1;/opt/ohpc/pub/modulefiles/ohpc: 1 '
  19. ' __LMOD_REF_COUNT_INCLUDE ' : ' /opt/ohpc/pub/compiler/gcc/9.2.0/include: 1 '
  20. ' __LMOD_REF_COUNT_LD_LIBRARY_PATH ' : ' /opt/ohpc/pub/mpi/libfabric/1.10.1/lib: 1;/opt/ohpc/pub/mpi/ucx-ohpc/1.8.0/lib: 1;/opt/ohpc/pub/mpi/openmpi4-gnu9/4.0.3/lib: 1;/opt/ohpc/pub/compiler/gcc/9.2.0/lib64: 1 '
  21. ' __LMOD_REF_COUNT_PKG_CONFIG_PATH ' : ' /opt/ohpc/pub/mpi/libfabric/1.10.1/lib/pkgconfig: 1;/opt/ohpc/pub/mpi/ucx-ohpc/1.8.0/lib/pkgconfig: 1;/opt/ohpc/pub/mpi/openmpi4-gnu9/4.0.3/lib/pkgconfig: 1 '
  22. ' XCATROOT ' : ' /opt/xcat '
  23. ' _ModuleTable004_ ' : ' LFsidXNlck5hbWUiXT0ic2luZ3VsYXJpdHkiLH0sdWN4PXtbImZuIl09Ii9vcHQvb2hwYy9wdWIvbW9kdWxlZmlsZXMvdWN4LzEuOC4wIixbImZ1bGxOYW1lIl09InVjeC8xLjguMCIsWyJsb2FkT3JkZXIiXT0zLHByb3BUPXt9LFsicmVmX2NvdW50Il09MSxbInN0YWNrRGVwdGgiXT0yLFsic3RhdHVzIl09ImFjdGl2ZSIsWyJ1c2VyTmFtZSJdPSJ1Y3giLH0sfSxtcGF0aEE9eyIvb3B0L29ocGMvcHViL21vZHVsZWRlcHMvZ251OS1vcGVubXBpNCIsIi9vcHQvb2hwYy9wdWIvbW9kdWxlZGVwcy9nbnU5IiwiL29wdC9vaHBjL2FkbWluL21vZHVsZWZpbGVzIiwiL29wdC9vaHBjL3B1Yi9tb2R1bGVmaWxlcyIsfSxbInN5c3RlbUJhc2VNUEFUSCJdPSIvb3B0L29ocGMvYWRtaW4v '
  24. ' UCX_DIR ' : ' /opt/ohpc/pub/mpi/ucx-ohpc/1.8.0 '
  25. ' XDG_SESSION_ID ' : ' 68 '
  26. ' USER ' : ' root '
  27. ' SELINUX_ROLE_REQUESTED ' : ' '
  28. ' __LMOD_REF_COUNT_MODULEPATH ' : ' /opt/ohpc/pub/moduledeps/gnu9-openmpi4: 1;/opt/ohpc/pub/moduledeps/gnu9: 1;/opt/ohpc/admin/modulefiles: 1;/opt/ohpc/pub/modulefiles: 1 '
  29. ' __LMOD_REF_COUNT_LOADEDMODULES ' : ' prun/2.0: 1;gnu9/9.2.0: 1;ucx/1.8.0: 1;libfabric/1.10.1: 1;openmpi4/4.0.3: 1;singularity/3.4.2: 1;ohpc: 1 '
  30. ' UCX_INC ' : ' /opt/ohpc/pub/mpi/ucx-ohpc/1.8.0/include '
  31. ' LIBFABRIC_BIN ' : ' /opt/ohpc/pub/mpi/libfabric/1.10.1/bin '
  32. ' PWD ' : ' /root '
  33. ' HOME ' : ' /root '
  34. ' LMOD_COLORIZE ' : ' no '
  35. ' SINGULARITY_BIN ' : ' /opt/ohpc/pub/libs/singularity/3.4.2/bin '
  36. ' SSH_CLIENT ' : ' 10.106.234.48 51751 22 '
  37. ' LMOD_VERSION ' : ' 8.2.10 '
  38. ' LMOD_SETTARG_CMD ' : ' : '
  39. ' SELINUX_LEVEL_REQUESTED ' : ' '
  40. ' BASH_ENV ' : ' /opt/ohpc/admin/lmod/lmod/init/bash '
  41. ' LIBFABRIC_INC ' : ' /opt/ohpc/pub/mpi/libfabric/1.10.1/include '
  42. ' _ModuleTable001_ ' : ' X01vZHVsZVRhYmxlXz17WyJNVHZlcnNpb24iXT0zLFsiY19yZWJ1aWxkVGltZSJdPWZhbHNlLFsiY19zaG9ydFRpbWUiXT1mYWxzZSxkZXB0aFQ9e30sZmFtaWx5PXtbIk1QSSJdPSJvcGVubXBpNCIsWyJjb21waWxlciJdPSJnbnU5Iix9LG1UPXtnbnU5PXtbImZuIl09Ii9vcHQvb2hwYy9wdWIvbW9kdWxlZmlsZXMvZ251OS85LjIuMCIsWyJmdWxsTmFtZSJdPSJnbnU5LzkuMi4wIixbImxvYWRPcmRlciJdPTIscHJvcFQ9e30sWyJzdGFja0RlcHRoIl09MSxbInN0YXR1cyJdPSJhY3RpdmUiLFsidXNlck5hbWUiXT0iZ251OSIsfSxsaWJmYWJyaWM9e1siZm4iXT0iL29wdC9vaHBjL3B1Yi9tb2R1bGVmaWxlcy9saWJmYWJyaWMvMS4xMC4xIixbImZ1bGxOYW1lIl09ImxpYmZh '
  43. ' LOADEDMODULES ' : ' prun/2.0:gnu9/9.2.0:ucx/1.8.0:libfabric/1.10.1:openmpi4/4.0.3:singularity/3.4.2:ohpc '
  44. ' __LMOD_REF_COUNT_MANPATH ' : ' /opt/ohpc/pub/libs/singularity/3.4.2/share/man: 1;/opt/ohpc/pub/mpi/libfabric/1.10.1/share/man: 1;/opt/ohpc/pub/mpi/openmpi4-gnu9/4.0.3/share/man: 1;/opt/ohpc/pub/compiler/gcc/9.2.0/share/man: 1;/usr/local/share/man: 1;/usr/share/man/overrides: 1;/usr/share/man/en: 1;/usr/share/man: 1 '
  45. ' _ModuleTable003_ ' : ' e30sWyJzdGFja0RlcHRoIl09MSxbInN0YXR1cyJdPSJhY3RpdmUiLFsidXNlck5hbWUiXT0ib3Blbm1waTQiLH0scHJ1bj17WyJmbiJdPSIvb3B0L29ocGMvcHViL21vZHVsZWZpbGVzL3BydW4vMi4wIixbImZ1bGxOYW1lIl09InBydW4vMi4wIixbImxvYWRPcmRlciJdPTEscHJvcFQ9e30sWyJzdGFja0RlcHRoIl09MSxbInN0YXR1cyJdPSJhY3RpdmUiLFsidXNlck5hbWUiXT0icHJ1biIsfSxzaW5ndWxhcml0eT17WyJmbiJdPSIvb3B0L29ocGMvcHViL21vZHVsZWZpbGVzL3Npbmd1bGFyaXR5LzMuNC4yIixbImZ1bGxOYW1lIl09InNpbmd1bGFyaXR5LzMuNC4yIixbImxvYWRPcmRlciJdPTYscHJvcFQ9e30sWyJzdGFja0RlcHRoIl09MSxbInN0YXR1cyJdPSJhY3RpdmUi '
  46. ' LMOD_ROOT ' : ' /opt/ohpc/admin/lmod '
  47. ' SSH_TTY ' : ' /dev/pts/1 '
  48. ' MAIL ' : ' /var/spool/mail/root '
  49. ' TERM ' : ' xterm '
  50. ' SHELL ' : ' /bin/bash '
  51. ' _ModuleTable_Sz_ ' : ' 5 '
  52. ' LMOD_FAMILY_COMPILER ' : ' gnu9 '
  53. ' SELINUX_USE_CURRENT_RANGE ' : ' '
  54. ' SINGULARITY_DIR ' : ' /opt/ohpc/pub/libs/singularity/3.4.2 '
  55. ' SHLVL ' : ' 1 '
  56. ' MANPATH ' : ' /opt/xcat/share/man:/opt/ohpc/pub/libs/singularity/3.4.2/share/man:/opt/ohpc/pub/mpi/libfabric/1.10.1/share/man:/opt/ohpc/pub/mpi/openmpi4-gnu9/4.0.3/share/man:/opt/ohpc/pub/compiler/gcc/9.2.0/share/man:/usr/local/share/man:/usr/share/man/overrides:/usr/share/man/en:/usr/share/man '
  57. ' LMOD_PREPEND_BLOCK ' : ' normal '
  58. ' MODULEPATH ' : ' /opt/ohpc/pub/moduledeps/gnu9-openmpi4:/opt/ohpc/pub/moduledeps/gnu9:/opt/ohpc/admin/modulefiles:/opt/ohpc/pub/modulefiles '
  59. ' MPI_DIR ' : ' /opt/ohpc/pub/mpi/openmpi4-gnu9/4.0.3 '
  60. ' LOGNAME ' : ' root '
  61. ' DBUS_SESSION_BUS_ADDRESS ' : ' unix:path=/run/user/0/bus '
  62. ' XDG_RUNTIME_DIR ' : ' /run/user/0 '
  63. ' PATH ' : ' /opt/xcat/bin:/opt/xcat/sbin:/opt/xcat/share/xcat/tools:/opt/ohpc/pub/libs/singularity/3.4.2/bin:/opt/ohpc/pub/mpi/libfabric/1.10.1/bin:/opt/ohpc/pub/mpi/ucx-ohpc/1.8.0/bin:/opt/ohpc/pub/mpi/openmpi4-gnu9/4.0.3/bin:/opt/ohpc/pub/compiler/gcc/9.2.0/bin:/opt/ohpc/pub/utils/prun/2.0:/opt/ohpc/pub/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin '
  64. ' _LMFILES_ ' : ' /opt/ohpc/pub/modulefiles/prun/2.0:/opt/ohpc/pub/modulefiles/gnu9/9.2.0:/opt/ohpc/pub/modulefiles/ucx/1.8.0:/opt/ohpc/pub/modulefiles/libfabric/1.10.1:/opt/ohpc/pub/moduledeps/gnu9/openmpi4/4.0.3:/opt/ohpc/pub/modulefiles/singularity/3.4.2:/opt/ohpc/pub/modulefiles/ohpc '
  65. ' MODULESHOME ' : ' /opt/ohpc/admin/lmod/lmod '
  66. ' PKG_CONFIG_PATH ' : ' /opt/ohpc/pub/mpi/libfabric/1.10.1/lib/pkgconfig:/opt/ohpc/pub/mpi/ucx-ohpc/1.8.0/lib/pkgconfig:/opt/ohpc/pub/mpi/openmpi4-gnu9/4.0.3/lib/pkgconfig '
  67. ' LMOD_SETTARG_FULL_SUPPORT ' : ' no '
  68. ' HISTSIZE ' : ' 1000 '
  69. ' LMOD_PKG ' : ' /opt/ohpc/admin/lmod/lmod '
  70. ' _ModuleTable005_ ' : ' bW9kdWxlZmlsZXM6L29wdC9vaHBjL3B1Yi9tb2R1bGVmaWxlcyIsfQ== '
  71. ' LMOD_CMD ' : ' /opt/ohpc/admin/lmod/lmod/libexec/lmod '
  72. ' LIBFABRIC_LIB ' : ' /opt/ohpc/pub/mpi/libfabric/1.10.1/lib '
  73. ' LESSOPEN ' : ' ||/usr/bin/lesspipe.sh %s '
  74. ' LMOD_FULL_SETTARG_SUPPORT ' : ' no '
  75. ' LMOD_DIR ' : ' /opt/ohpc/admin/lmod/lmod/libexec '
  76. ' LMOD_FAMILY_MPI ' : ' openmpi4 '
  77. ' BASH_FUNC_module%% ' : ' () { eval $($LMOD_CMD bash $@) && eval $(${LMOD_SETTARG_CMD:-:
  78. } -s sh)
  79. } '
  80. ' BASH_FUNC_ml%% ' : ' () { eval $($LMOD_DIR/ml_cmd $@)
  81. } '
  82. ' _ ' : ' /usr/bin/lico '
  83. ' LICO_CONFIG_FOLDER ' : ' /etc/lico '
  84. ' LICO_LOG_FOLDER ' : ' /var/log/lico '
  85. ' LICO_STATE_FOLDER ' : ' /var/lib/lico/core '
  86. ' LICO_RUN_FOLDER ' : ' /var/run/ '
  87. ' LICO_LOCAL_TIMEZONE_OFFSET ' : ' 480.0 '
  88. ' PYTHON_PREFIX ' : ' /usr '
  89. ' PYTHON_VERSION ' : ' 3.6 '
  90. ' DJANGO_SETTINGS_MODULE ' : ' lico.core.base.settings '
  91. }