[build] install new platform api on host (#3282)
slave.mk: add SONIC_PLATFORM_API_PY2 as dependency of host sonic_debian_extension.j2: install sonic_daemon_base and Mellanox-specific sonic_platform on host mlnx-platform-api.mk: export mlnx_platform_api_py2_wheel_path for sonic_debian_extension.j2 sonic-daemon-base.mk: export daemon_base_py2_wheel_path for sonic_debian_extension.j2 daemon_base.py: hind unnecessary dependency of swss_common on host
This commit is contained in:
parent
dc0868e24f
commit
c34a4783e0
@ -116,6 +116,12 @@ sudo cp {{platform_common_py2_wheel_path}} $FILESYSTEM_ROOT/$PLATFORM_COMMON_PY2
|
|||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $PLATFORM_COMMON_PY2_WHEEL_NAME
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||||
sudo rm -rf $FILESYSTEM_ROOT/$PLATFORM_COMMON_PY2_WHEEL_NAME
|
sudo rm -rf $FILESYSTEM_ROOT/$PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||||
|
|
||||||
|
# Install sonic-daemon-base Python 2 package
|
||||||
|
DAEMON_BASE_PY2_WHEEL_NAME=$(basename {{daemon_base_py2_wheel_path}})
|
||||||
|
sudo cp {{daemon_base_py2_wheel_path}} $FILESYSTEM_ROOT/$DAEMON_BASE_PY2_WHEEL_NAME
|
||||||
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $DAEMON_BASE_PY2_WHEEL_NAME
|
||||||
|
sudo rm -rf $FILESYSTEM_ROOT/$DAEMON_BASE_PY2_WHEEL_NAME
|
||||||
|
|
||||||
# Install built Python Click package (and its dependencies via 'apt-get -y install -f')
|
# Install built Python Click package (and its dependencies via 'apt-get -y install -f')
|
||||||
# Do this before installing sonic-utilities so that it doesn't attempt to install
|
# Do this before installing sonic-utilities so that it doesn't attempt to install
|
||||||
# an older version as part of its dependencies
|
# an older version as part of its dependencies
|
||||||
@ -377,6 +383,12 @@ sudo cp $files_path/$ISSU_VERSION_FILE $FILESYSTEM_ROOT/etc/mlnx/issu-version
|
|||||||
sudo cp $files_path/$MLNX_FFB_SCRIPT $FILESYSTEM_ROOT/usr/bin/mlnx-ffb.sh
|
sudo cp $files_path/$MLNX_FFB_SCRIPT $FILESYSTEM_ROOT/usr/bin/mlnx-ffb.sh
|
||||||
j2 platform/mellanox/mlnx-fw-upgrade.j2 | sudo tee $FILESYSTEM_ROOT/usr/bin/mlnx-fw-upgrade.sh
|
j2 platform/mellanox/mlnx-fw-upgrade.j2 | sudo tee $FILESYSTEM_ROOT/usr/bin/mlnx-fw-upgrade.sh
|
||||||
sudo chmod 755 $FILESYSTEM_ROOT/usr/bin/mlnx-fw-upgrade.sh
|
sudo chmod 755 $FILESYSTEM_ROOT/usr/bin/mlnx-fw-upgrade.sh
|
||||||
|
|
||||||
|
# Install mlnx-sonic-platform-common Python 2 package
|
||||||
|
MLNX_PLATFORM_COMMON_PY2_WHEEL_NAME=$(basename {{mlnx_platform_api_py2_wheel_path}})
|
||||||
|
sudo cp {{mlnx_platform_api_py2_wheel_path}} $FILESYSTEM_ROOT/$MLNX_PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||||
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install $MLNX_PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||||
|
sudo rm -rf $FILESYSTEM_ROOT/$MLNX_PLATFORM_COMMON_PY2_WHEEL_NAME
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{%- if SONIC_ROUTING_STACK == "frr" %}
|
{%- if SONIC_ROUTING_STACK == "frr" %}
|
||||||
|
@ -5,3 +5,4 @@ $(SONIC_PLATFORM_API_PY2)_SRC_PATH = $(PLATFORM_PATH)/mlnx-platform-api
|
|||||||
$(SONIC_PLATFORM_API_PY2)_PYTHON_VERSION = 2
|
$(SONIC_PLATFORM_API_PY2)_PYTHON_VERSION = 2
|
||||||
SONIC_PYTHON_WHEELS += $(SONIC_PLATFORM_API_PY2)
|
SONIC_PYTHON_WHEELS += $(SONIC_PLATFORM_API_PY2)
|
||||||
|
|
||||||
|
export mlnx_platform_api_py2_wheel_path="$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_PLATFORM_API_PY2))"
|
||||||
|
@ -5,3 +5,4 @@ $(SONIC_DAEMON_BASE_PY2)_SRC_PATH = $(SRC_PATH)/sonic-daemon-base
|
|||||||
$(SONIC_DAEMON_BASE_PY2)_PYTHON_VERSION = 2
|
$(SONIC_DAEMON_BASE_PY2)_PYTHON_VERSION = 2
|
||||||
SONIC_PYTHON_WHEELS += $(SONIC_DAEMON_BASE_PY2)
|
SONIC_PYTHON_WHEELS += $(SONIC_DAEMON_BASE_PY2)
|
||||||
|
|
||||||
|
export daemon_base_py2_wheel_path="$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_DAEMON_BASE_PY2))"
|
||||||
|
3
slave.mk
3
slave.mk
@ -622,7 +622,8 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : \
|
|||||||
$(addprefix $(PYTHON_DEBS_PATH)/,$(SONIC_UTILS)) \
|
$(addprefix $(PYTHON_DEBS_PATH)/,$(SONIC_UTILS)) \
|
||||||
$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_CONFIG_ENGINE)) \
|
$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_CONFIG_ENGINE)) \
|
||||||
$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_PLATFORM_COMMON_PY2)) \
|
$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_PLATFORM_COMMON_PY2)) \
|
||||||
$(addprefix $(PYTHON_WHEELS_PATH)/,$(REDIS_DUMP_LOAD_PY2))
|
$(addprefix $(PYTHON_WHEELS_PATH)/,$(REDIS_DUMP_LOAD_PY2)) \
|
||||||
|
$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_PLATFORM_API_PY2))
|
||||||
$(HEADER)
|
$(HEADER)
|
||||||
# Pass initramfs and linux kernel explicitly. They are used for all platforms
|
# Pass initramfs and linux kernel explicitly. They are used for all platforms
|
||||||
export debs_path="$(STRETCH_DEBS_PATH)"
|
export debs_path="$(STRETCH_DEBS_PATH)"
|
||||||
|
@ -7,7 +7,6 @@ try:
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import syslog
|
import syslog
|
||||||
from swsscommon import swsscommon
|
|
||||||
except ImportError, e:
|
except ImportError, e:
|
||||||
raise ImportError (str(e) + " - required module not found")
|
raise ImportError (str(e) + " - required module not found")
|
||||||
|
|
||||||
@ -38,6 +37,7 @@ EEPROM_CLASS_NAME = 'board'
|
|||||||
#
|
#
|
||||||
|
|
||||||
def db_connect(db):
|
def db_connect(db):
|
||||||
|
from swsscommon import swsscommon
|
||||||
return swsscommon.DBConnector(db,
|
return swsscommon.DBConnector(db,
|
||||||
REDIS_HOSTNAME,
|
REDIS_HOSTNAME,
|
||||||
REDIS_PORT,
|
REDIS_PORT,
|
||||||
|
Reference in New Issue
Block a user