tree b473e83c2aa554be9e62b5c65350478a25729e36
parent e258e51fd256c275cd58a104a6bcb379ff1534f9
author Ninad Palsule <ninadpalsule@us.ibm.com> 1680274140 -0500
committer Ninad Palsule <ninadpalsule@us.ibm.com> 1682647068 -0500

Added new dbus interface to query console info

obmc-console recipe configure consoles by setting the socket-id
field in the console server config file. obmc-console server use this
socket id to build a abract socket name and register new service
"xyz.openbmc_project.Console.Access". The leaf of the object path will
be socket-id configured. It also exposes the unix abstract socket name
through SocketName property. The socket name is sent as a byte stream as
abstract socket contains null character at the start.

*** For example if recipe configured socket-id as "console0" the
*** following object is exported through dbus interface

    # Tree for "console0" console.
    $ busctl tree xyz.openbmc_project.Console.console0
    `-/xyz
      `-/xyz/openbmc_project
        `-/xyz/openbmc_project/console
          `-/xyz/openbmc_project/console/console0

    # Get SocketName property for console0 object
    $ busctl get-property xyz.openbmc_project.Console.console0 /xyz/openbmc_project/console/console0 xyz.openbmc_project.Console.Access SocketName
    ay 22 0 111 98 109 99 45 99 111 110 115 111 108 101 46 99 111 110 115 111 108 101 48

    # Tree for "hypervisor" console
    $ busctl tree xyz.openbmc_project.Console.hypervisor
    `-/xyz
      `-/xyz/openbmc_project
        `-/xyz/openbmc_project/console
          `-/xyz/openbmc_project/console/hypervisor

    # Get SocketName property for hypervisor object
    $ busctl get-property xyz.openbmc_project.Console.hypervisor /xyz/openbmc_project/console/hypervisor xyz.openbmc_project.Console.Access SocketName
    ay 24 0 111 98 109 99 45 99 111 110 115 111 108 101 46 104 121 112 101 114 118 105 115 111 114

    # Note that this is an example of two consoles one is 'console0' and
    # second is 'hypervisor'. I have formated the output to easy viewing.
    # We also have one extra service for console that is coming from the
    # service exist today to get/set the tty device baud rate.
    $ busctl call  xyz.openbmc_project.ObjectMapper \
        /xyz/openbmc_project/object_mapper xyz.openbmc_project.ObjectMapper \
        GetSubTree sias /xyz/openbmc_project/console 0 1 \
        xyz.openbmc_project.Console.Access
    a{sa{sas}}
    2
    "/xyz/openbmc_project/console/console0" \
        1
        "xyz.openbmc_project.Console.console0"
           4 "org.freedesktop.DBus.Introspectable"
             "org.freedesktop.DBus.Peer"
             "org.freedesktop.DBus.Properties"
             "xyz.openbmc_project.Console.Access"
    "/xyz/openbmc_project/console/hypervisor"
        2
        "xyz.openbmc_project.Console.hypervisor"
           4 "org.freedesktop.DBus.Introspectable"
             "org.freedesktop.DBus.Peer"
             "org.freedesktop.DBus.Properties"
             "xyz.openbmc_project.Console.Access"
        "xyz.openbmc_project.console"
          4 "org.freedesktop.DBus.Introspectable"
            "org.freedesktop.DBus.Peer"
            "org.freedesktop.DBus.Properties"
            "xyz.openbmc_project.Console.Access"

Tested:
    Tested on the rainer system with busctl command and integration
    with bmcweb

Related commits:
    1) phosphor-dbus-interface: https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/61486
    2) obmc-console: https://gerrit.openbmc.org/c/openbmc/obmc-console/+/62496
    3) bmcweb: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/62525

Change-Id: Ifb70ce5585c3937f3abd904ffbae51ca67f58724
Signed-off-by: Ninad Palsule <ninadpalsule@us.ibm.com>
