As part of consolidating all common Python-based functionality into the new sonic-py-common package, this pull request: 1. Redirects all Python applications/scripts in sonic-buildimage repo which previously imported sonic_device_util or sonic_daemon_base to instead import sonic-py-common, which was added in https://github.com/Azure/sonic-buildimage/pull/5003 2. Replaces all calls to `sonic_device_util.get_platform_info()` to instead call `sonic_py_common.get_platform()` and removes any calls to `sonic_device_util.get_machine_info()` which are no longer necessary (i.e., those which were only used to pass the results to `sonic_device_util.get_platform_info()`. 3. Removes unused imports to the now-deprecated sonic-daemon-base package and sonic_device_util.py module This is the next step toward resolving https://github.com/Azure/sonic-buildimage/issues/4999 Also reverted my previous change in which device_info.get_platform() would first try obtaining the platform ID string from Config DB and fall back to gathering it from machine.conf upon failure because this function is called by sonic-cfggen before the data is in the DB, in which case, the db_connect() call will hang indefinitely, which was not the behavior I expected. As of now, the function will always reference machine.conf.
35 lines
992 B
Python
Executable File
35 lines
992 B
Python
Executable File
#!/usr/bin/env python
|
|
|
|
from setuptools import setup
|
|
import os.path
|
|
import unittest
|
|
import glob
|
|
|
|
def get_test_suite():
|
|
test_loader = unittest.TestLoader()
|
|
test_suite = test_loader.discover('tests', pattern='*.py')
|
|
return test_suite
|
|
|
|
setup(name='sonic-config-engine',
|
|
version='1.0',
|
|
description='Utilities for generating SONiC configuration files',
|
|
author='Taoyu Li',
|
|
author_email='taoyl@microsoft.com',
|
|
url='https://github.com/Azure/sonic-buildimage',
|
|
py_modules=['portconfig', 'minigraph', 'openconfig_acl', 'sonic_device_util', 'config_samples', 'redis_bcc', 'lazy_re'],
|
|
scripts=['sonic-cfggen'],
|
|
install_requires=[
|
|
'ipaddr',
|
|
'jinja2>=2.10',
|
|
'lxml',
|
|
'netaddr',
|
|
'pyyaml',
|
|
'pyangbind==0.6.0',
|
|
'sonic-py-common'
|
|
],
|
|
test_suite='setup.get_test_suite',
|
|
data_files=[
|
|
('/usr/share/sonic/templates', glob.glob('data/*')),
|
|
],
|
|
)
|