Default language.

Information
Important This documentation space contains information about the on-premises version of BMC Helix Discovery. If you are using the SaaS version of BMC Helix Discovery, see BMC Helix Discovery (SaaS).

Changes to Discovery commands



The following sections show the discovery command changes between BMC Discovery versions.

The following changes are not shown:

  • Entirely new discovery platforms
  • Changes to comments only
  • Commands which have been removed and not replaced
  • Changes to echo only statements

Discovery command changes from 23.1 to 23.3

Linux

getPackageList

The following code:

COLUMNS=256 dpkg -l '*' 2>/dev/null | egrep '^ii '

is replaced with:

COLUMNS=256 dpkg -l '*' 2>/dev/null | grep -E '^ii '

getIPAddresses

The following code is added:

    # Alibaba public/elastic IP
    if [ "$TW_CLOUD_PLATFORM" = "ALIBABA" ]; then
        public_ipv4_addr=`$TW_CLOUD_IMDS_CMD/eipv4 2>/dev/null`
        if [ ! -z "$public_ipv4_addr" ]; then
            echo "public0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500"
            echo "        inet $public_ipv4_addr netmask 0.0.0.0 broadcast 0.0.0.0 scope tw:internet"
            echo "        ether 00:00:00:00:00:00"
        fi
    fi
fi

The following code is added:

    # Alibaba public/elastic IP
    if [ "$TW_CLOUD_PLATFORM" = "ALIBABA" ]; then
        public_ipv4_addr=`$TW_CLOUD_IMDS_CMD/eipv4 2>/dev/null`
        if [ ! -z "$public_ipv4_addr" ]; then
            echo "0: public0: <UP> mtu 1500 state UP"
            echo "    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff"
            echo "    inet $public_ipv4_addr/0 brd 0.0.0.0 scope tw:internet public0"
        fi
    fi
fi

getNetworkInterfaces

The following code is added:

    # Alibaba public interface
    if [ "$TW_CLOUD_PLATFORM" = "ALIBABA" ]; then
        public_ipv4_addr=`$TW_CLOUD_IMDS_CMD/eipv4 2>/dev/null`
        if [ ! -z "$public_ipv4_addr" ]; then
            echo "0: public0: <UP> link/ether 00:00:00:00:00:00"
        fi
    fi
fi

The following code:

echo 'begin details:'
for i in `ip -o link show 2>/dev/null | egrep '^[0-9]+:' | awk -F: '{print $2;}'`
do
    if [ -d /sys/class/net/$i ]; then
        echo begin /sys/class/net/$i:

is replaced with:

echo 'begin details:'
for i in `ip -o link show 2>/dev/null | grep -E '^[0-9]+:' | awk -F: '{print $2;}'`
do
    if [ -d /sys/class/net/$i ]; then
        echo begin /sys/class/net/$i:

The following code is added:

    # Alibaba public interface
    if [ "$TW_CLOUD_PLATFORM" = "ALIBABA" ]; then
        public_ipv4_addr=`$TW_CLOUD_IMDS_CMD/eipv4 2>/dev/null`
        if [ ! -z "$public_ipv4_addr" ]; then
            echo "public0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500"
            echo "        ether 00:00:00:00:00:00"
        fi
    fi
fi

The following code:

echo 'begin details:'
for i in `ifconfig -a 2>/dev/null | egrep '^[a-z]' | awk -F: '{print $1;}'`
do
    if [ -d /sys/class/net/$i ]; then
        echo begin /sys/class/net/$i:

is replaced with:

echo 'begin details:'
for i in `ifconfig -a 2>/dev/null | grep -E '^[a-z]' | awk -F: '{print $1;}'`
do
    if [ -d /sys/class/net/$i ]; then
        echo begin /sys/class/net/$i:

getDeviceInfo

The following code:

# Before SuSE trying to detect Novell Open Enterprise Server (OES),
# Linux distribution based on SuSE Linux Enterprise Server.
if [ "$os" = "" -a -r /etc/novell-release ]; then
    os=`cat /etc/novell-release | egrep -v '^#'`
fi

# SuSE lsb_release does not provide service pack so prefer SuSE-release file
# However, this file is being deprecated so we will fallback to os-release
# (see below)
if [ "$os" = "" -a -r /etc/SuSE-release ]; then
    os=`cat /etc/SuSE-release | grep -Ev '^#'`
fi
if [ "$os" = "" -a -r /etc/photon-release ]; then
    os=`cat /etc/photon-release`
fi
if [ "$os" = "" -a -r /etc/debian_version ]; then
    ver=`cat /etc/debian_version`
    os="Debian Linux $ver"
    if [ -r /etc/system-release ]; then
        igel_os=`grep 'IGEL OS' /etc/system-release`
        if [ "$igel_os" != "" ]; then
            os=$igel_os
        fi
    fi
fi
if [ "$os" = "" -a -x /usr/bin/lsb_release ]; then
    # We'd like to use -ds but that puts quotes in the output!

is replaced with:

# Before SuSE trying to detect Novell Open Enterprise Server (OES),
# Linux distribution based on SuSE Linux Enterprise Server.
if [ "$os" = "" -a -r /etc/novell-release ]; then
    os=`cat /etc/novell-release | egrep -v '^#'`
fi

# SuSE lsb_release does not provide service pack so prefer SuSE-release file
# However, this file is being deprecated so we will fallback to os-release
# (see below)
if [ "$os" = "" -a -r /etc/SuSE-release ]; then
    os=`cat /etc/SuSE-release | grep -Ev '^#'`
fi
if [ "$os" = "" -a -r /etc/photon-release ]; then
    os=`cat /etc/photon-release`
fi
if [ "$os" = "" -a -r /etc/debian_version ]; then
    ver=`cat /etc/debian_version`
    os="Debian Linux $ver"
    if [ -r /etc/system-release ]; then
        igel_os=`grep 'IGEL OS' /etc/system-release`
        if [ "$igel_os" != "" ]; then
            os=$igel_os
        fi
    fi
fi
if [ "$os" = "" -a -x /usr/bin/lsb_release ]; then
    # We'd like to use -ds but that puts quotes in the output!

The following code:

fi
if [ "$os" = "" -a -r /etc/debian_version ]; then
    ver=`cat /etc/debian_version`
    os="Debian Linux $ver"
    if [ -r /etc/system-release ]; then
        igel_os=`grep 'IGEL OS' /etc/system-release`
        if [ "$igel_os" != "" ]; then
            os=$igel_os
        fi
    fi
fi
if [ "$os" = "" -a -r /etc/mandrake-release ]; then
    os=`cat /etc/mandrake-release`
fi
if [ "$os" = "" -a -r /etc/os-release ]; then
    # Use os-release for SuSE (if SuSE-release wasn't present, above), Container Linux, Google COS
    os_id=`egrep ^ID= /etc/os-release | cut -s -f2 '-d"'`
    if [ "$os_id" = "" ]; then
        os_id=`egrep ^ID= /etc/os-release | cut -f2 -d=`
    fi
    if [ "$os_id" = "sles" -o "$os_id" = "opensuse" -o "$os_id" = "sle_hpc" -o "$os_id" = "coreos" -o "$os_id" = "cos" ]; then
        os=`egrep ^PRETTY_NAME /etc/os-release | cut -f2 '-d"'`
        if [ "$os_id" = "cos" ]; then
            extra=`egrep '(VERSION|BUILD_ID)=' /etc/os-release`
            os="$os $extra"
        fi
    fi

is replaced with:

fi
if [ "$os" = "" -a -r /etc/mandrake-release ]; then
    os=`cat /etc/mandrake-release`
fi
if [ "$os" = "" -a -r /etc/os-release ]; then
    # Use os-release for SuSE (if SuSE-release wasn't present, above), Container Linux, Google COS
    os_id=`grep -E ^ID= /etc/os-release | cut -s -f2 '-d"'`
    if [ "$os_id" = "" ]; then
        os_id=`grep -E ^ID= /etc/os-release | cut -f2 -d=`
    fi
    if [ "$os_id" = "sles" -o "$os_id" = "opensuse" -o "$os_id" = "sle_hpc" -o "$os_id" = "coreos" -o "$os_id" = "cos" ]; then
        os=`grep -E ^PRETTY_NAME /etc/os-release | cut -f2 '-d"'`
        if [ "$os_id" = "cos" ]; then
            extra=`grep -E '(VERSION|BUILD_ID)=' /etc/os-release`
            os="$os $extra"
        fi
    fi

initialise

The following code:

        # See: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

        # Try IMDSv2 first
        TOKEN=`curl --connect-timeout 5 --max-time 10 --fail -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 1800" 2>/dev/null`
        if [ ! -z "$TOKEN" ]; then
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail -H \"X-aws-ec2-metadata-token: $TOKEN\" http://169.254.169.254/latest/meta-data"
        else
            # Try IMDSv1
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail http://169.254.169.254/latest/meta-data"
        fi

        TW_CLOUD_ID=`$TW_CLOUD_IMDS_CMD/instance-id 2>/dev/null | egrep '^i-[0-9a-f]+$'`
        if [ -n "$TW_CLOUD_ID" ]; then
            if [ $TW_DETECT_OPENSTACK -eq 1 ]; then
                # We need to check for OpenStack EC2-compatible metadata

is replaced with:

        # See: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

        # Try IMDSv2 first
        TOKEN=`curl --connect-timeout 5 --max-time 10 --fail -X PUT "http://169.254.169.254/latest/api/token" --header X-aws-ec2-metadata-token-ttl-seconds:1800 2>/dev/null`
        if [ ! -z "$TOKEN" ]; then
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail --header X-aws-ec2-metadata-token:$TOKEN http://169.254.169.254/latest/meta-data"
        else
            # Try IMDSv1
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail http://169.254.169.254/latest/meta-data"
        fi

        TW_CLOUD_ID=`$TW_CLOUD_IMDS_CMD/instance-id 2>/dev/null | grep -E '^i-[0-9a-f]+$'`
        if [ -n "$TW_CLOUD_ID" ]; then
            if [ $TW_DETECT_OPENSTACK -eq 1 ]; then
                # We need to check for OpenStack EC2-compatible metadata

The following code:

        # Try security hardening mode approach first
        TOKEN=`curl --connect-timeout 5 --max-time 10 --fail -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds: 1800" 2>/dev/null`
        if [ ! -z "$TOKEN" ]; then
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail -H \"X-aws-ec2-metadata-token: $TOKEN\" http://100.100.100.200/latest/meta-data"
        else
            # Not in security hardening mode
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail http://100.100.100.200/latest/meta-data"

is replaced with:

        # Try security hardening mode approach first
        TOKEN=`curl --connect-timeout 5 --max-time 10 --fail -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds: 1800" 2>/dev/null`
        if [ ! -z "$TOKEN" ]; then
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail --header X-aliyun-ecs-metadata-token:$TOKEN http://100.100.100.200/latest/meta-data"
        else
            # Not in security hardening mode
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail http://100.100.100.200/latest/meta-data"

getMACAddresses

The following code:

ip -d -o link show 2>/dev/null | egrep -v '\bbridge(_slave)?|vxlan|openvswitch(_slave)?|veth\b'

is replaced with:

ip -d -o link show 2>/dev/null | grep -Ev '\bbridge(_slave)?|vxlan|openvswitch(_slave)?|veth\b'

getHostInfo

The following code:

echo 'kernel:' `uname -r`

if [ "${ram}" != "" ]; then
    echo 'ram:' ${ram}
fi

is replaced with:

echo 'kernel:' `uname -r`

if [[doc:xwiki:IT-Operations-Management.Discovery.BMC-Discovery.DISCO233.PREM-BMC-Discovery.PREM-Changes-to-Discovery-commands. -z $ram && -f /usr/sbin/lparstat ]]; then
    ram=`/usr/sbin/lparstat -i | grep "Online Memory" | awk '{print $4 "KB"}'`
fi

if [ "${ram}" != "" ]; then
    echo 'ram:' ${ram}
fi

The following code:

# zLinux?
if [ -r /proc/sysinfo -a -d /proc/dasd ]; then
    echo "candidate_vendor[]:" `egrep '^Manufacturer:' /proc/sysinfo | awk '{print $2;}'`
    type=`egrep '^Type:' /proc/sysinfo | awk '{print $2;}'`
    model=`egrep '^Model:' /proc/sysinfo | awk '{print $2;}'`
    echo "candidate_model[]: $type-$model"
    echo "zlinux_sequence:" `egrep '^Sequence Code:' /proc/sysinfo | awk '{print $3;}'`
    echo "zlinux_vm_name:" `egrep '^VM00 Name:' /proc/sysinfo | awk '{print $3;}'`
    echo "zlinux_vm_software:" `egrep '^VM00 Control Program:' /proc/sysinfo | awk '{print $4, $5;}'`
fi

is replaced with:

# zLinux?
if [ -r /proc/sysinfo -a -d /proc/dasd ]; then
    echo "candidate_vendor[]:" `grep -E '^Manufacturer:' /proc/sysinfo | awk '{print $2;}'`
    type=`grep -E '^Type:' /proc/sysinfo | awk '{print $2;}'`
    model=`grep -E '^Model:' /proc/sysinfo | awk '{print $2;}'`
    echo "candidate_model[]: $type-$model"
    echo "zlinux_sequence:" `grep -E '^Sequence Code:' /proc/sysinfo | awk '{print $3;}'`
    echo "zlinux_vm_name:" `grep -E '^VM00 Name:' /proc/sysinfo | awk '{print $3;}'`
    echo "zlinux_vm_software:" `grep -E '^VM00 Control Program:' /proc/sysinfo | awk '{print $4, $5;}'`
fi

The following code:

if [ "$TW_CLOUD_PLATFORM" = "AWS" ]; then
        echo "aws_instance_id: $TW_CLOUD_ID"
        # Use instance type as model
        model=`$TW_CLOUD_IMDS_CMD/instance-type 2>/dev/null | egrep '^vpc-[0-9a-f]+$'`
        if [ "$model" != "" ]; then
            echo "model: $model"
        else

is replaced with:

if [ "$TW_CLOUD_PLATFORM" = "AWS" ]; then
        echo "aws_instance_id: $TW_CLOUD_ID"
        # Use instance type as model
        model=`$TW_CLOUD_IMDS_CMD/instance-type 2>/dev/null | grep -E '^vpc-[0-9a-f]+$'`
        if [ "$model" != "" ]; then
            echo "model: $model"
        else

The following code:

        # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | egrep '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

is replaced with:

        # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | grep -E '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

The following code:

        # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | egrep '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

is replaced with:

        # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | grep -E '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

FreeBSD

PATH has changed

  • Was: /bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
  • Now: /bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin

initialise

The following code:

        TW_CLOUD_ID=`$TW_CLOUD_IMDS_CMD/instance-id 2>/dev/null | egrep '^i-[0-9a-f]+$'`
        if [ -n "$TW_CLOUD_ID" ]; then
            # We need to check for OpenStack EC2-compatible metadata
            # https://docs.openstack.org/nova/latest/user/metadata.html#metadata-ec2-format

is replaced with:

        TW_CLOUD_ID=`$TW_CLOUD_IMDS_CMD/instance-id 2>/dev/null | grep -E '^i-[0-9a-f]+$'`
        if [ -n "$TW_CLOUD_ID" ]; then
            # We need to check for OpenStack EC2-compatible metadata
            # https://docs.openstack.org/nova/latest/user/metadata.html#metadata-ec2-format

getHostInfo

The following code:

        # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | egrep '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

is replaced with:

        # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | grep -E '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

VMware ESX

getPackageList

The following code:

COLUMNS=256 dpkg -l '*' 2>/dev/null | egrep '^ii '

is replaced with:

COLUMNS=256 dpkg -l '*' 2>/dev/null | grep -E '^ii '

getIPAddresses

The following code is added:

    # Alibaba public/elastic IP
    if [ "$TW_CLOUD_PLATFORM" = "ALIBABA" ]; then
        public_ipv4_addr=`$TW_CLOUD_IMDS_CMD/eipv4 2>/dev/null`
        if [ ! -z "$public_ipv4_addr" ]; then
            echo "public0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500"
            echo "        inet $public_ipv4_addr netmask 0.0.0.0 broadcast 0.0.0.0 scope tw:internet"
            echo "        ether 00:00:00:00:00:00"
        fi
    fi
fi

getIPAddresses

The following code is added:

    # Alibaba public/elastic IP
    if [ "$TW_CLOUD_PLATFORM" = "ALIBABA" ]; then
        public_ipv4_addr=`$TW_CLOUD_IMDS_CMD/eipv4 2>/dev/null`
        if [ ! -z "$public_ipv4_addr" ]; then
            echo "0: public0: <UP> mtu 1500 state UP"
            echo "    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff"
            echo "    inet $public_ipv4_addr/0 brd 0.0.0.0 scope tw:internet public0"
        fi
    fi
fi

getNetworkInterfaces

The following code is added:

    # Alibaba public interface
    if [ "$TW_CLOUD_PLATFORM" = "ALIBABA" ]; then
        public_ipv4_addr=`$TW_CLOUD_IMDS_CMD/eipv4 2>/dev/null`
        if [ ! -z "$public_ipv4_addr" ]; then
            echo "0: public0: <UP> link/ether 00:00:00:00:00:00"
        fi
    fi
fi

The following code:

echo 'begin details:'
for i in `ip -o link show 2>/dev/null | egrep '^[0-9]+:' | awk -F: '{print $2;}'`
do
    if [ -d /sys/class/net/$i ]; then
        echo begin /sys/class/net/$i:

is replaced with:

echo 'begin details:'
for i in `ip -o link show 2>/dev/null | grep -E '^[0-9]+:' | awk -F: '{print $2;}'`
do
    if [ -d /sys/class/net/$i ]; then
        echo begin /sys/class/net/$i:

getNetworkInterfaces

The following code is added:

    # Alibaba public interface
    if [ "$TW_CLOUD_PLATFORM" = "ALIBABA" ]; then
        public_ipv4_addr=`$TW_CLOUD_IMDS_CMD/eipv4 2>/dev/null`
        if [ ! -z "$public_ipv4_addr" ]; then
            echo "public0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500"
            echo "        ether 00:00:00:00:00:00"
        fi
    fi
fi

The following code:

echo 'begin details:'
for i in `ifconfig -a 2>/dev/null | egrep '^[a-z]' | awk -F: '{print $1;}'`
do
    if [ -d /sys/class/net/$i ]; then
        echo begin /sys/class/net/$i:

is replaced with:

echo 'begin details:'
for i in `ifconfig -a 2>/dev/null | grep -E '^[a-z]' | awk -F: '{print $1;}'`
do
    if [ -d /sys/class/net/$i ]; then
        echo begin /sys/class/net/$i:

getDeviceInfo

The following code:

# Before SuSE trying to detect Novell Open Enterprise Server (OES),
# Linux distribution based on SuSE Linux Enterprise Server.
if [ "$os" = "" -a -r /etc/novell-release ]; then
    os=`cat /etc/novell-release | egrep -v '^#'`
fi

# SuSE lsb_release does not provide service pack so prefer SuSE-release file
# However, this file is being deprecated so we will fallback to os-release
# (see below)
if [ "$os" = "" -a -r /etc/SuSE-release ]; then
    os=`cat /etc/SuSE-release | egrep -v '^#'`
fi
if [ "$os" = "" -a -r /etc/photon-release ]; then
    os=`cat /etc/photon-release`
fi
if [ "$os" = "" -a -x /usr/bin/lsb_release ]; then
    # We'd like to use -ds but that puts quotes in the output!

is replaced with:

# Before SuSE trying to detect Novell Open Enterprise Server (OES),
# Linux distribution based on SuSE Linux Enterprise Server.
if [ "$os" = "" -a -r /etc/novell-release ]; then
    os=`cat /etc/novell-release | grep -Ev '^#'`
fi

# SuSE lsb_release does not provide service pack so prefer SuSE-release file
# However, this file is being deprecated so we will fallback to os-release
# (see below)
if [ "$os" = "" -a -r /etc/SuSE-release ]; then
    os=`cat /etc/SuSE-release | grep -Ev '^#'`
fi
if [ "$os" = "" -a -r /etc/photon-release ]; then
    os=`cat /etc/photon-release`
fi
if [ "$os" = "" -a -r /etc/debian_version ]; then
    ver=`cat /etc/debian_version`
    os="Debian Linux $ver"
    if [ -r /etc/system-release ]; then
        igel_os=`grep 'IGEL OS' /etc/system-release`
        if [ "$igel_os" != "" ]; then
            os=$igel_os
        fi
    fi
fi
if [ "$os" = "" -a -x /usr/bin/lsb_release ]; then
    # We'd like to use -ds but that puts quotes in the output!

The following code:

fi
if [ "$os" = "" -a -r /etc/debian_version ]; then
    ver=`cat /etc/debian_version`
    os="Debian Linux $ver"
    if [ -r /etc/system-release ]; then
        igel_os=`grep 'IGEL OS' /etc/system-release`
        if [ "$igel_os" != "" ]; then
            os=$igel_os
        fi
    fi
fi
if [ "$os" = "" -a -r /etc/mandrake-release ]; then
    os=`cat /etc/mandrake-release`
fi
if [ "$os" = "" -a -r /etc/os-release ]; then
    # Use os-release for SuSE (if SuSE-release wasn't present, above), Container Linux, Google COS
    os_id=`egrep ^ID= /etc/os-release | cut -s -f2 '-d"'`
    if [ "$os_id" = "" ]; then
        os_id=`egrep ^ID= /etc/os-release | cut -f2 -d=`
    fi
    if [ "$os_id" = "sles" -o "$os_id" = "opensuse" -o "$os_id" = "sle_hpc" -o "$os_id" = "coreos" -o "$os_id" = "cos" ]; then
        os=`egrep ^PRETTY_NAME /etc/os-release | cut -f2 '-d"'`
        if [ "$os_id" = "cos" ]; then
            extra=`egrep '(VERSION|BUILD_ID)=' /etc/os-release`
            os="$os $extra"
        fi
    fi

is replaced with:

fi
if [ "$os" = "" -a -r /etc/mandrake-release ]; then
    os=`cat /etc/mandrake-release`
fi
if [ "$os" = "" -a -r /etc/os-release ]; then
    # Use os-release for SuSE (if SuSE-release wasn't present, above), Container Linux, Google COS
    os_id=`grep -E ^ID= /etc/os-release | cut -s -f2 '-d"'`
    if [ "$os_id" = "" ]; then
        os_id=`grep -E ^ID= /etc/os-release | cut -f2 -d=`
    fi
    if [ "$os_id" = "sles" -o "$os_id" = "opensuse" -o "$os_id" = "sle_hpc" -o "$os_id" = "coreos" -o "$os_id" = "cos" ]; then
        os=`grep -E ^PRETTY_NAME /etc/os-release | cut -f2 '-d"'`
        if [ "$os_id" = "cos" ]; then
            extra=`grep -E '(VERSION|BUILD_ID)=' /etc/os-release`
            os="$os $extra"
        fi
    fi

initialise

The following code:

        # See: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

        # Try IMDSv2 first
        TOKEN=`curl --connect-timeout 5 --max-time 10 --fail -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 1800" 2>/dev/null`
        if [ ! -z "$TOKEN" ]; then
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail -H \"X-aws-ec2-metadata-token: $TOKEN\" http://169.254.169.254/latest/meta-data"
        else
            # Try IMDSv1
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail http://169.254.169.254/latest/meta-data"
        fi

        TW_CLOUD_ID=`$TW_CLOUD_IMDS_CMD/instance-id 2>/dev/null | egrep '^i-[0-9a-f]+$'`
        if [ -n "$TW_CLOUD_ID" ]; then
            if [ $TW_DETECT_OPENSTACK -eq 1 ]; then
                # We need to check for OpenStack EC2-compatible metadata

is replaced with:

        # See: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

        # Try IMDSv2 first
        TOKEN=`curl --connect-timeout 5 --max-time 10 --fail -X PUT "http://169.254.169.254/latest/api/token" --header X-aws-ec2-metadata-token-ttl-seconds:1800 2>/dev/null`
        if [ ! -z "$TOKEN" ]; then
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail --header X-aws-ec2-metadata-token:$TOKEN http://169.254.169.254/latest/meta-data"
        else
            # Try IMDSv1
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail http://169.254.169.254/latest/meta-data"
        fi

        TW_CLOUD_ID=`$TW_CLOUD_IMDS_CMD/instance-id 2>/dev/null | grep -E '^i-[0-9a-f]+$'`
        if [ -n "$TW_CLOUD_ID" ]; then
            if [ $TW_DETECT_OPENSTACK -eq 1 ]; then
                # We need to check for OpenStack EC2-compatible metadata

The following code:

        # Try security hardening mode approach first
        TOKEN=`curl --connect-timeout 5 --max-time 10 --fail -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds: 1800" 2>/dev/null`
        if [ ! -z "$TOKEN" ]; then
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail -H \"X-aws-ec2-metadata-token: $TOKEN\" http://100.100.100.200/latest/meta-data"
        else
            # Not in security hardening mode
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail http://100.100.100.200/latest/meta-data"

is replaced with:

        # Try security hardening mode approach first
        TOKEN=`curl --connect-timeout 5 --max-time 10 --fail -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds: 1800" 2>/dev/null`
        if [ ! -z "$TOKEN" ]; then
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail --header X-aliyun-ecs-metadata-token:$TOKEN http://100.100.100.200/latest/meta-data"
        else
            # Not in security hardening mode
            TW_CLOUD_IMDS_CMD="curl --connect-timeout 5 --max-time 10 --fail http://100.100.100.200/latest/meta-data"

getMACAddresses

The following code:

ip -d -o link show 2>/dev/null | egrep -v '\bbridge(_slave)?|vxlan|openvswitch(_slave)?|veth\b'

is replaced with:

ip -d -o link show 2>/dev/null | grep -Ev '\bbridge(_slave)?|vxlan|openvswitch(_slave)?|veth\b'

getHostInfo

The following code:

echo 'kernel:' `uname -r`

if [ "${ram}" != "" ]; then
    echo 'ram:' ${ram}
fi

is replaced with:

echo 'kernel:' `uname -r`

if [[doc:xwiki:IT-Operations-Management.Discovery.BMC-Discovery.DISCO233.PREM-BMC-Discovery.PREM-Changes-to-Discovery-commands. -z $ram && -f /usr/sbin/lparstat ]]; then
    ram=`/usr/sbin/lparstat -i | grep "Online Memory" | awk '{print $4 "KB"}'`
fi

if [ "${ram}" != "" ]; then
    echo 'ram:' ${ram}
fi

The following code:

# zLinux?
if [ -r /proc/sysinfo -a -d /proc/dasd ]; then
    echo "candidate_vendor[]:" `egrep '^Manufacturer:' /proc/sysinfo | awk '{print $2;}'`
    type=`egrep '^Type:' /proc/sysinfo | awk '{print $2;}'`
    model=`egrep '^Model:' /proc/sysinfo | awk '{print $2;}'`
    echo "candidate_model[]: $type-$model"
    echo "zlinux_sequence:" `egrep '^Sequence Code:' /proc/sysinfo | awk '{print $3;}'`
    echo "zlinux_vm_name:" `egrep '^VM00 Name:' /proc/sysinfo | awk '{print $3;}'`
    echo "zlinux_vm_software:" `egrep '^VM00 Control Program:' /proc/sysinfo | awk '{print $4, $5;}'`
fi

is replaced with:

# zLinux?
if [ -r /proc/sysinfo -a -d /proc/dasd ]; then
    echo "candidate_vendor[]:" `grep -E '^Manufacturer:' /proc/sysinfo | awk '{print $2;}'`
    type=`grep -E '^Type:' /proc/sysinfo | awk '{print $2;}'`
    model=`grep -E '^Model:' /proc/sysinfo | awk '{print $2;}'`
    echo "candidate_model[]: $type-$model"
    echo "zlinux_sequence:" `grep -E '^Sequence Code:' /proc/sysinfo | awk '{print $3;}'`
    echo "zlinux_vm_name:" `grep -E '^VM00 Name:' /proc/sysinfo | awk '{print $3;}'`
    echo "zlinux_vm_software:" `grep -E '^VM00 Control Program:' /proc/sysinfo | awk '{print $4, $5;}'`
fi

# Can we get information from the BIOS? We use lshal if available as that

The following code:

     if [ "$TW_CLOUD_PLATFORM" = "AWS" ]; then
        echo "aws_instance_id: $TW_CLOUD_ID"
        # Use instance type as model
        model=`$TW_CLOUD_IMDS_CMD/instance-type 2>/dev/null | egrep '^vpc-[0-9a-f]+$'`
        if [ "$model" != "" ]; then
            echo "model: $model"
        else

is replaced with:

    if [ "$TW_CLOUD_PLATFORM" = "AWS" ]; then
        echo "aws_instance_id: $TW_CLOUD_ID"
        # Use instance type as model
        model=`$TW_CLOUD_IMDS_CMD/instance-type 2>/dev/null | grep -E '^vpc-[0-9a-f]+$'`
        if [ "$model" != "" ]; then
            echo "model: $model"
        else

The following code:

         # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | egrep '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

is replaced with:

        # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | grep -E '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

The following code:

         # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | egrep '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

is replaced with:

        # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | grep -E '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

Windows

runWMIQuery

The following code:

               elseif ($_.IsInstance) {         
                      # Convert to string form matching proxy output
                      $match = ($_.Value | Select-String -Pattern "(\S+)\s+\((\S+)\s+=\s+(.*)\)");
                     if ($match) {
                         "{0}: \\{1}\{2}:{3}.{4}={5}" -f ($_.Name, $env:ComputerName, $namespace, $match.Matches.Groups[1].Value, $match.Matches.Groups[2].Value, $match.Matches.Groups[3].Value)
                     }
                     else {
                         "{0}: [{1}] {2}" -f $_.Name, $_.Value.GetType().Name, $_.Value

is replaced with:

                elseif ($_.IsInstance) {
                    # Convert associators to string form matching proxy output
                    $match = ($_.Value | Select-String -Pattern "(\S+)\s+\((\S+)\s+=\s+(.*)\)");
                    if ($match) {
                        "{0}: \\{1}\{2}:{3}.{4}={5}" -f ($_.Name, $env:ComputerName, $namespace, $match.Matches.Groups[1].Value, $match.Matches.Groups[2].Value, $match.Matches.Groups[3].Value)
                    }
                    # Handle CimInstance object instance properties to match proxy
                    elseif ($_.GetType().Name -eq "CimInstance") {
                        # Convert object to JSON format
                        "{0}: [{1}] JSON:{2}" -f $_.Name, $_.Value.GetType().Name, ($_.Value.CimInstanceProperties | ConvertTo-JSON -Compress)
                    }
                    else {
                        "{0}: [{1}] {2}" -f $_.Name, $_.Value.GetType().Name, $_.Value

getIPAddresses

The following code is added:

# Alibaba public/elastic IP
elseif ($TW_CLOUD_PLATFORM -eq "ALIBABA") {
    try {
        $public_ipv4_addr = Invoke-RestMethod -TimeoutSec 5 -Headers $TW_CLOUD_IMDS_HEADERS -Uri "http://100.100.100.200/latest/meta-data/eipv4" -ErrorAction SilentlyContinue
        if ($public_ipv4_addr) {
            "interface_id: public0";
            "ip_addr: {0}" -f $public_ipv4_addr;
            "netmask: 0.0.0.0";
            "address_type: IPv4";
            "scope: tw:internet";
            "";
        }
    }
    catch {
    }
}

initialise

The following code:

                "X-aliyun-ecs-metadata-token" = $token
            };
            try {
                $global:TW_CLOUD_ID = Invoke-RestMethod -TimeoutSec 5 -Headers $global:TW_CLOUD_IMDS_HEADERS -Uri "http://100.100.100.200/latest/api/token/instance-id" -ErrorAction SilentlyContinue;
            }
            catch {
                # Ignore errors

is replaced with:

                "X-aliyun-ecs-metadata-token" = $token
            };
            try {
                $global:TW_CLOUD_ID = Invoke-RestMethod -TimeoutSec 5 -Headers $global:TW_CLOUD_IMDS_HEADERS -Uri "http://100.100.100.200/latest/meta-data/instance-id" -ErrorAction SilentlyContinue;
            }
            catch {
                # Ignore errors

getNetworkInterfaces

The following code is added:

# Alibaba
elseif ($TW_CLOUD_PLATFORM -eq "ALIBABA") {
    try {
        $public_ipv4_addr = Invoke-RestMethod -TimeoutSec 5 -Headers $TW_CLOUD_IMDS_HEADERS -Uri "http://100.100.100.200/latest/meta-data/eipv4" -ErrorAction SilentlyContinue
        if ($public_ipv4_addr) {
            "interface_id: public0";
            "name: public0";
            "mac_addr: 00:00:00:00:00:00";
            "adapter_type: Ethernet 802.3";
        }
    }
    catch {
    }
}

Solaris

getHostInfo

The following code:

# serial number on the vast majority of Sun/Fujitsu machines. If that is not
# available we try a few obvious fallbacks including any "Chassis Serial Number"
# from prtdiag
if [ -x /opt/SUNWsneep/bin/sneep ]; then
    serial=`/opt/SUNWsneep/bin/sneep 2>/dev/null`
    if [ "$serial" != "unknown" ]; then
        echo "serial: $serial"
    fi

is replaced with:

# serial number on the vast majority of Sun/Fujitsu machines. If that is not
# available we try a few obvious fallbacks including any "Chassis Serial Number"
# from prtdiag
sneepcmd=""
if [ -x /opt/SUNWsneep/bin/sneep ]; then
    sneepcmd=/opt/SUNWsneep/bin/sneep
elif [ -x /usr/sbin/sneep ]; then
    sneepcmd=/usr/sbin/sneep
fi
if [ "$sneepcmd" != "" ]; then
    serial=`$sneepcmd 2>/dev/null`
    if [ "$serial" != "unknown" ]; then
        echo "serial: $serial"
    fi
elif [ -x /usr/sbin/sneep ]; then
    serial=`/usr/sbin/sneep 2>/dev/null`
    if [ "$serial" != "unknown" ]; then
        echo "serial: $serial"
    fi

OpenBSD

PATH has changed

  • Was: /bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
  • Now: /bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin

initialise

The following code:

        TW_CLOUD_ID=`$TW_CLOUD_IMDS_CMD/instance-id 2>/dev/null | egrep '^i-[0-9a-f]+$'`
        if [ -n "$TW_CLOUD_ID" ]; then
            # We need to check for OpenStack EC2-compatible metadata
            # https://docs.openstack.org/nova/latest/user/metadata.html#metadata-ec2-format

is replaced with:

        TW_CLOUD_ID=`$TW_CLOUD_IMDS_CMD/instance-id 2>/dev/null | grep -E '^i-[0-9a-f]+$'`
        if [ -n "$TW_CLOUD_ID" ]; then
            # We need to check for OpenStack EC2-compatible metadata
            # https://docs.openstack.org/nova/latest/user/metadata.html#metadata-ec2-format

getHostInfo

The following code:

        # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | egrep '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

is replaced with:

        # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | grep -E '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

AIX

getIPAddresses

The following code:

    if [ "$wparaddrs" = "" ]; then
        ifconfig -a 2>/dev/null
    else
        ifconfig -a 2>/dev/null | egrep -v "$wparaddrs"
    fi
fi

is replaced with:

    if [ "$wparaddrs" = "" ]; then
        ifconfig -a 2>/dev/null
    else
        ifconfig -a 2>/dev/null | grep -Ev "$wparaddrs"
    fi
fi

getNetworkConnectionList

The following code:

if [ `uname -v` -ge 6 ]; then
    if [ `uname -W` -eq 0 ]; then
        netstat -an -f inet -@ 2>/dev/null | egrep "Global|Proto" | sed -e 's/Global //'
        netstat -an -f inet6 -@ 2>/dev/null | egrep "Global|Proto" | sed -e 's/Global //'
    else
        netstat -an -f inet 2>/dev/null
        netstat -an -f inet6 2>/dev/null

is replaced with:

if [ `uname -v` -ge 6 ]; then
    if [ `uname -W` -eq 0 ]; then
        netstat -an -f inet -@ 2>/dev/null | grep -E "Global|Proto" | sed -e 's/Global //'
        netstat -an -f inet6 -@ 2>/dev/null | grep -E "Global|Proto" | sed -e 's/Global //'
    else
        netstat -an -f inet 2>/dev/null
        netstat -an -f inet6 2>/dev/null

getProcessList

The following code:

if [ `uname -v` -ge 6 ]; then
    ps -eo pid,ppid,uid,user,wpar,args | egrep "Global|PID" | sed -e 's/Global //'
else
    # pipe through cat to remove tty columns limit
    ps -eo pid,ppid,uid,user,args | cat

is replaced with:

if [ `uname -v` -ge 6 ]; then
    ps -eo pid,ppid,uid,user,wpar,args | grep -E "Global|PID" | sed -e 's/Global //'
else
    # pipe through cat to remove tty columns limit
    ps -eo pid,ppid,uid,user,args | cat

getHostInfo

The following code:

fi
if [ -x /usr/sbin/prtconf ]; then
    /usr/sbin/prtconf > /tmp/tideway.$$ 2>/dev/null
    echo 'model:' `egrep '^System Model:' /tmp/tideway.$$ | cut -f2 -d: | sed -e 's/IBM,//'`
    echo 'kernel:' `egrep '^Kernel Type:' /tmp/tideway.$$ | cut -f2 -d:`
    partition_id=`egrep '^LPAR Info:' /tmp/tideway.$$ | cut -f2 -d: | awk '
    {
      if ( ($1  /^[[doc:xwiki:IT-Operations-Management.Discovery.BMC-Discovery.DISCO233.PREM-BMC-Discovery.PREM-Changes-to-Discovery-commands.:digit:]]+$/ ) && ( toupper($2) ! /NULL/ ) ) {
        print $2":"$1//

is replaced with:

fi
if [ -x /usr/sbin/prtconf ]; then
    /usr/sbin/prtconf > /tmp/tideway.$$ 2>/dev/null
    echo 'model:' `grep -E '^System Model:' /tmp/tideway.$$ | cut -f2 -d: | sed -e 's/IBM,//'`
    echo 'kernel:' `grep -E '^Kernel Type:' /tmp/tideway.$$ | cut -f2 -d:`
    partition_id=`grep -E '^LPAR Info:' /tmp/tideway.$$ | cut -f2 -d: | awk '
    {
      if ( ($1  /^[[doc:xwiki:IT-Operations-Management.Discovery.BMC-Discovery.DISCO233.PREM-BMC-Discovery.PREM-Changes-to-Discovery-commands.:digit:]]+$/ ) && ( toupper($2) ! /NULL/ ) ) {
        print $2":"$1//

The following code:

        echo 'partition_id:' $partition_id
    fi
    if [ $wparid -eq 0 ]; then
        serial=`egrep '^Machine Serial Number:' /tmp/tideway.$$ | cut -f2 -d:`
        # Don't output serial number if it isn't available. Also work around
        # bug in prtconf on AIX 5.3 where there's no newline after the serial
        # number output if it isn't available.

is replaced with:

        echo 'partition_id:' $partition_id
    fi
    if [ $wparid -eq 0 ]; then
        serial=`grep -E '^Machine Serial Number:' /tmp/tideway.$$ | cut -f2 -d:`
        # Don't output serial number if it isn't available. Also work around
        # bug in prtconf on AIX 5.3 where there's no newline after the serial
        # number output if it isn't available.

NetBSD

PATH has changed:

  • Was: /bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
  • Now: /bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin

initialise

The following code:

            TW_CLOUD_IMDS_CMD="$CURL --connect-timeout 5 --max-time 10 --fail http://169.254.169.254/latest/meta-data"
        fi

        TW_CLOUD_ID=`$TW_CLOUD_IMDS_CMD/instance-id 2>/dev/null | egrep '^i-[0-9a-f]+$'`
        if [ -n "$TW_CLOUD_ID" ]; then
            # We need to check for OpenStack EC2-compatible metadata
            # https://docs.openstack.org/nova/latest/user/metadata.html#metadata-ec2-format

is replaced with:

            TW_CLOUD_IMDS_CMD="$CURL --connect-timeout 5 --max-time 10 --fail http://169.254.169.254/latest/meta-data"
        fi

        TW_CLOUD_ID=`$TW_CLOUD_IMDS_CMD/instance-id 2>/dev/null | grep -E '^i-[0-9a-f]+$'`
        if [ -n "$TW_CLOUD_ID" ]; then
            # We need to check for OpenStack EC2-compatible metadata
            # https://docs.openstack.org/nova/latest/user/metadata.html#metadata-ec2-format

getHostInfo

The following code:

        # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | egrep '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

is replaced with:

        # Get primary MAC so we can find VPC
        primary_mac=`$TW_CLOUD_IMDS_CMD/mac 2>/dev/null`
        if [ "$primary_mac" != "" ]; then
            scope=`$TW_CLOUD_IMDS_CMD/network/interfaces/macs/$primary_mac/vpc-id 2>/dev/null | grep -E '^vpc-[0-9a-f]+$'`
            if [ "$scope" != "" ]; then
                echo "scope: $scope"
            fi

HP-UX

getProcessList

The following code:

        PS_X_OPT=x
    fi
fi
env UNIX95=1 ps -e${PS_X_OPT}o pid,ppid,uid,user,args 2>/dev/null | egrep -v '^\ *[0-9]\ +[0-9]\ [0-9]\ +srp\ +'

is replaced with:

        PS_X_OPT=x
    fi
fi
env UNIX95=1 ps -e${PS_X_OPT}o pid,ppid,uid,user,args 2>/dev/null | grep -Ev '^\ *[0-9]\ +[0-9]\ [0-9]\ +srp\ +'

getPatchList

The following code:

PRIV_SWLIST swlist -l product 2>/dev/null | egrep -v '^#' | egrep 'PH[A-Z]{2}_[0-9]+' | awk '{print $1, $2;}'

is replaced with:

PRIV_SWLIST swlist -l product 2>/dev/null | grep -Ev '^#' | grep -E 'PH[A-Z]{2}_[0-9]+' | awk '{print $1, $2;}'

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC Helix Discovery 23.3 (On-Premises)