[multi-asic] Fixed the docker mount point check for multi-asic (#5848)
API getMount() API was not updated to handle multi-asic platforms Updated API getMount() to return abspath() for Docker Mount Point and use that one for mount point comparison Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
This commit is contained in:
parent
84aa99d04b
commit
4f82463670
@ -45,7 +45,7 @@ function updateSyslogConf()
|
|||||||
|
|
||||||
function getMountPoint()
|
function getMountPoint()
|
||||||
{
|
{
|
||||||
echo $1 | python -c "import sys, json, os; mnts = [x for x in json.load(sys.stdin)[0]['Mounts'] if x['Destination'] == '/usr/share/sonic/hwsku']; print '' if len(mnts) == 0 else os.path.basename(mnts[0]['Source'])" 2>/dev/null
|
echo $1 | python -c "import sys, json, os; mnts = [x for x in json.load(sys.stdin)[0]['Mounts'] if x['Destination'] == '/usr/share/sonic/hwsku']; print '' if len(mnts) == 0 else os.path.abspath(mnts[0]['Source'])" 2>/dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
function getBootType()
|
function getBootType()
|
||||||
@ -189,9 +189,14 @@ start() {
|
|||||||
{%- if docker_container_name == "database" %}
|
{%- if docker_container_name == "database" %}
|
||||||
# Don't mount HWSKU in {{docker_container_name}} container.
|
# Don't mount HWSKU in {{docker_container_name}} container.
|
||||||
HWSKU=""
|
HWSKU=""
|
||||||
|
MOUNTPATH=""
|
||||||
{%- else %}
|
{%- else %}
|
||||||
# Obtain our HWSKU as we will mount directories with these names in each docker
|
# Obtain our HWSKU as we will mount directories with these names in each docker
|
||||||
HWSKU=${HWSKU:-`$SONIC_CFGGEN -d -v 'DEVICE_METADATA["localhost"]["hwsku"]'`}
|
HWSKU=${HWSKU:-`$SONIC_CFGGEN -d -v 'DEVICE_METADATA["localhost"]["hwsku"]'`}
|
||||||
|
MOUNTPATH="/usr/share/sonic/device/$PLATFORM/$HWSKU"
|
||||||
|
if [ "$DEV" ]; then
|
||||||
|
MOUNTPATH="$MOUNTPATH/$DEV"
|
||||||
|
fi
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
DOCKERCHECK=`docker inspect --type container ${DOCKERNAME} 2>/dev/null`
|
DOCKERCHECK=`docker inspect --type container ${DOCKERNAME} 2>/dev/null`
|
||||||
if [ "$?" -eq "0" ]; then
|
if [ "$?" -eq "0" ]; then
|
||||||
@ -200,7 +205,7 @@ start() {
|
|||||||
{%- else %}
|
{%- else %}
|
||||||
DOCKERMOUNT=`getMountPoint "$DOCKERCHECK"`
|
DOCKERMOUNT=`getMountPoint "$DOCKERCHECK"`
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
if [ x"$DOCKERMOUNT" == x"$HWSKU" ]; then
|
if [ x"$DOCKERMOUNT" == x"$MOUNTPATH" ]; then
|
||||||
{%- if docker_container_name == "database" %}
|
{%- if docker_container_name == "database" %}
|
||||||
echo "Starting existing ${DOCKERNAME} container"
|
echo "Starting existing ${DOCKERNAME} container"
|
||||||
{%- else %}
|
{%- else %}
|
||||||
|
Loading…
Reference in New Issue
Block a user