From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.5 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A272FC47082 for ; Tue, 8 Jun 2021 01:23:11 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D9015610A2 for ; Tue, 8 Jun 2021 01:23:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D9015610A2 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=openbmc-bounces+openbmc=archiver.kernel.org@lists.ozlabs.org Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4FzXYT5qFQz307L for ; Tue, 8 Jun 2021 11:23:09 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20161025 header.b=VhY1VL3G; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=google.com (client-ip=2607:f8b0:4864:20::1031; helo=mail-pj1-x1031.google.com; envelope-from=wltu@google.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20161025 header.b=VhY1VL3G; dkim-atps=neutral Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com [IPv6:2607:f8b0:4864:20::1031]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4FzXXx3k94z2yWN for ; Tue, 8 Jun 2021 11:22:39 +1000 (AEST) Received: by mail-pj1-x1031.google.com with SMTP id k22-20020a17090aef16b0290163512accedso900430pjz.0 for ; Mon, 07 Jun 2021 18:22:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=DoCqT57PWogse9MEhitLfrLcui5pryRHTkU2T4zomfc=; b=VhY1VL3GhRKi73XB9hfRPx+w8yOwUn8NHC/yFMX/TNATb9iFCJTVijztWq9pqjwCmO 282TOPJDReOWswGV+ZeT4R7elldgov2cdbP9N4vA48GS6Qbr5szC63xJWv0uz+GKFREn EZ50FuGbXLcVNQHYW5cpOYoDKKzKgHBipneSFdJzN2C/zNU8Eq7ZnXGqYCtDRP0iuuQk XfrykoWhdm8XltYOOWQXRLKXbQmBkvYcGKmreELyiduTSFfvGAjBiho41cSz54dp2e2q /SYytvq3VSx4wqQ6HRpU8+3mIN/tP8Y6wG8UxH4w+6fs2tKTGSM+wZnjfrrBJUBvt4jm P4aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=DoCqT57PWogse9MEhitLfrLcui5pryRHTkU2T4zomfc=; b=jMvEmgZDD2ocXygff5kty5rCO4c6ay7fV/Bb5hEQZw+tmPJmL80qElceBOjjkpupUp BkQvKT/T22EuKyGz75eqwnTKfOEPYKt4pMmUAUgiaEBAydZjIBETRkx8FucyraFudQtS 8MkYOxRuLS+0l7/bZDQT05taNAc5r3+9Wbp5viHa2Atj4UmgVKJPunWiXssZtqAyQOep pCYAeNx16Wk24tGxnr+PrU6UCs4FNCZm1Lh4HvcKP5d1alZbTmRyF/8qCMEM/8Ja6Dhp yY36y5IIlI4MOxU/YU+Nk3zwuNN1oDUsLPLVuO8aP9PRX4hyxvNDNkhLUMevhTjOLAie PKbw== X-Gm-Message-State: AOAM532sUOGF5Y6Aro4dBGqkeoN+5ygxqaQ0kAd527jOmRtbwot1opQg fYAD76V2oqse3f9tys05Okj/Gm1vo1OyVVaqjiypiiOjhZ91Qg== X-Google-Smtp-Source: ABdhPJzPLUOYwYTx1pr1WJVqtw8fbM4Cdah5Vds2VZuZsfHj3yPNmdkjsv59gXBEDML+8kq7MBHN+kDGFgMMjjtmjOw= X-Received: by 2002:a17:90a:cf12:: with SMTP id h18mr22561670pju.131.1623115355072; Mon, 07 Jun 2021 18:22:35 -0700 (PDT) MIME-Version: 1.0 From: Willy Tu Date: Mon, 7 Jun 2021 18:22:23 -0700 Message-ID: Subject: [Bmcweb/Redfish] Chassis Physical Connectivity Support on bmcweb To: OpenBMC Maillist Content-Type: multipart/alternative; boundary="0000000000002b991c05c436fe98" X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jie Yang , Ed Tanous , Derek Chan Errors-To: openbmc-bounces+openbmc=archiver.kernel.org@lists.ozlabs.org Sender: "openbmc" --0000000000002b991c05c436fe98 Content-Type: text/plain; charset="UTF-8" Hi all, I am thinking about adding better support for Physical Connectivity between Boards/Chassises in bmcweb. Since Inventory.Board is treated as a chassis, I want to have a way to better connect the different boards with the existing ContainedBy/Contains. I was thinking of using xyz.openbmc_project.Association to do it. Since it is a list with fixed order, we can use the first chassis it finds for ContainedBy and the rest for Contains. For the root Chassis, it will have itself as the first Chassis and then just not include it. Is this something we can work with? or do we need something more complicated to support chassis relationship? ---- Another question that is kind of related. I am also thinking about using Physical Location for each Chassis. It is already using `xyz.openbmc_project.Inventory.Decorator.LocationCode` as the ServiceLabel https://github.com/openbmc/bmcweb/blob/90e97e1d26b78d899a543831a8051dacbbdde71a/redfish-core/lib/chassis.hpp#L295-L331 With that in mind, I am wondering how LocationCode is configured with EntityManager? Since the number of FRUs is dynamic, there is no way to tell which location the FRU is connected to without a mapping. I am wondering how that can be done with Entity Manager. I was thinking of doing something like getEntityName in IPMI OEM handler which utilizes a json file for the mapping from entity instance to location. This is a simple way of doing it within EntityManager, but I am not sure if we want to do it this way. Maybe something related? https://gerrit.openbmc-project.xyz/c/openbmc/entity-manager/+/42971 Best, Willy Tu --0000000000002b991c05c436fe98 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi all,

I am thinking about adding= better support for Physical Connectivity between Boards/Chassises in bmcwe= b. Since Inventory.Board is treated as a chassis, I want to have a way to b= etter connect the different boards with the existing ContainedBy/Contains.<= /span>

I was thinking of using xyz.openbmc_project.A= ssociation to do it. Since it is a list with fixed order, we can use the fi= rst chassis it finds for=C2=A0ContainedBy and the rest for Contains. For th= e root Chassis, it will have itself as the first Chassis and then just not = include it.

Is this something we can work with? or= do we need something more complicated to support chassis relationship?
<= br>
----

Another question that is kind of r= elated.
I am also thinking about using Physical Location for each = Chassis.
It is already using `xyz.openbmc_project.Inventory.Decorator.= LocationCode` as the ServiceLabel https://github.com/openbmc/bmcweb/blob/90e97e1d26b78d899a543= 831a8051dacbbdde71a/redfish-core/lib/chassis.hpp#L295-L331


<= /span>
With that in mind, I am wondering how LocationCode is confi= gured with EntityManager? Since the number of FRUs is dynamic, there is no = way to tell which location the FRU is connected to without a mapping. I am = wondering how that can be done with Entity Manager.

I was thinking of doing something=C2=A0like=C2=A0getEntityName=C2=A0in IPMI OEM handler which utilize= s a json file for the mapping from entity instance to location. This is a s= imple way of doing it within EntityManager, but I am not sure if we want to= do it this way.

Maybe something related?
h= ttps://gerrit.openbmc-project.xyz/c/openbmc/entity-manager/+/42971
<= /span>

Best,

Willy Tu
--0000000000002b991c05c436fe98--