[Python] Migrate applications/scripts to import sonic-py-common package (#5043)

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.
This commit is contained in:
Joe LeVeque
2020-08-03 11:43:12 -07:00
committed by GitHub
parent c4728a8261
commit 3b89e5d467
38 changed files with 92 additions and 75 deletions

View File

@@ -18,7 +18,15 @@ setup(name='sonic-config-engine',
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=['lxml', 'jinja2>=2.10', 'netaddr', 'ipaddr', 'pyyaml', 'pyangbind==0.6.0'],
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/*')),