tree 0f1cde0348ff775c6a3e3dd8021dab9ad997041d
parent 043360d02f5b5d8baaeb5e6b0caacc7521c0f93d
author Potin Lai <potin.lai@quantatw.com> 1669094836 +0800
committer Ed Tanous <ed@tanous.net> 1669675199 +0000

managers: fix interface patch and delete of pid object

Only set createNewObject to true when corresponding interface not found
in the object.

Tested on Bletchley:

- Add new StepwiseController called SWTest
Body in JSON format
```
{
    "Oem": {
        "OpenBmc": {
            "Fan": {
                "StepwiseControllers": {
                    "SWTest": {
                        "Direction": "Floor",
                        "Inputs": [
                            "MB_U402_THERM_LOCAL"
                        ],
                        "NegativeHysteresis": 1.0,
                        "PositiveHysteresis": 2.0,
                        "Steps": [
                            {
                                "Output": 0.0,
                                "Target": 48.0
                            },
                            {
                                "Output": 15.0,
                                "Target": 49.0
                            }
                        ],
                        "Zones": [
                            {
                                "@odata.id": "/redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan/FanZones/Zone0"
                            }
                        ]
                    }
                }
            }
        }
    }
}
```
Checking object from dbus
```
root@bletchley:~# busctl introspect xyz.openbmc_project.EntityManager \
> /xyz/openbmc_project/inventory/system/chassis/Bletchley_Chassis/SWTest \
> xyz.openbmc_project.Configuration.Stepwise
NAME                                       TYPE      SIGNATURE RESULT/VALUE            FLAGS
.Delete                                    method    -         -                       -
.Class                                     property  s         "Floor"                 emits-change writable
.Inputs                                    property  as        1 "MB U402 THERM LOCAL" emits-change writable
.Name                                      property  s         "SWTest"                emits-change writable
.NegativeHysteresis                        property  d         1                       emits-change writable
.Output                                    property  ad        2 0 15                  emits-change writable
.PositiveHysteresis                        property  d         2                       emits-change writable
.Reading                                   property  ad        2 48 49                 emits-change writable
.Type                                      property  s         "Stepwise"              emits-change writable
.Zones                                     property  as        1 "Zone0"               emits-change writable
```

- Patch SWTest properties
Body in JSON format
```
{
    "Oem": {
        "OpenBmc": {
            "Fan": {
                "StepwiseControllers": {
                    "SWTest": {
                        "NegativeHysteresis": 3.0,
                        "PositiveHysteresis": 4.0
                    }
                }
            }
        }
    }
}
```
Checking object from dbus
```
root@bletchley:~# busctl introspect xyz.openbmc_project.EntityManager \
> /xyz/openbmc_project/inventory/system/chassis/Bletchley_Chassis/SWTest \
> xyz.openbmc_project.Configuration.Stepwise
NAME                                       TYPE      SIGNATURE RESULT/VALUE            FLAGS
.Delete                                    method    -         -                       -
.Class                                     property  s         "Floor"                 emits-change writable
.Inputs                                    property  as        1 "MB U402 THERM LOCAL" emits-change writable
.Name                                      property  s         "SWTest"                emits-change writable
.NegativeHysteresis                        property  d         3                       emits-change writable
.Output                                    property  ad        2 0 15                  emits-change writable
.PositiveHysteresis                        property  d         4                       emits-change writable
.Reading                                   property  ad        2 48 49                 emits-change writable
.Type                                      property  s         "Stepwise"              emits-change writable
.Zones                                     property  as        1 "Zone0"               emits-change writable
```

- Delete SWTest object
Body in JSON format
```
{
    "Oem": {
        "OpenBmc": {
            "Fan": {
                "StepwiseControllers": {
                    "SWTest": null
                }
            }
        }
    }
}
```
Object deleted from dbus
```
root@bletchley:~# busctl introspect xyz.openbmc_project.EntityManager \
> /xyz/openbmc_project/inventory/system/chassis/Bletchley_Chassis/SWTest \
> xyz.openbmc_project.Configuration.Stepwise
Failed to introspect object /xyz/openbmc_project/inventory/system/chassis/Bletchley_Chassis/SWTest of service xyz.openbmc_project.EntityManager: Unknown object '/xyz/openbmc_project/inventory/system/chassis/Bletchley_Chassis/SWTest'.
```

Signed-off-by: Potin Lai <potin.lai@quantatw.com>
Change-Id: I482e942ee3c76dca17af522765d8b3aa9dc8678b
