blob: 827e6898ef2222219392226489fafa8bcd7b429a [file] [log] [blame]
- name: nic 1 current host state path group
class: group
group: path
members:
- meta: PATH
path: /xyz/openbmc_project/state/host1
- meta: PATH
path: /xyz/openbmc_project/state/host2
- name: current host state property
class: group
group: property
type: string
members:
- interface: xyz.openbmc_project.State.Host
meta: PROPERTY
property: CurrentHostState
- name: nic 1 main mode monitor
class: watch
watch: property
paths: nic 1 current host state path group
properties: current host state property
callback: check if fulfill nic main mode requirement
- name: nic 1 aux mode monitor
class: watch
watch: property
paths: nic 1 current host state path group
properties: current host state property
callback: check if fulfill nic aux mode requirement
- name: check if fulfill nic main mode requirement
class: condition
condition: count
paths: nic 1 current host state path group
properties: current host state property
callback: switch nic 1 to main mode
countop: ">="
countbound: 1
op: "=="
bound: xyz.openbmc_project.State.Host.HostState.Running
- name: check if fulfill nic aux mode requirement
class: condition
condition: count
paths: nic 1 current host state path group
properties: current host state property
callback: switch nic 1 to aux mode
countop: "=="
countbound: 2
op: "=="
bound: xyz.openbmc_project.State.Host.HostState.Off
- name: switch nic 1 to main mode
class: callback
callback: method
service: org.freedesktop.systemd1
path: /org/freedesktop/systemd1
interface: org.freedesktop.systemd1.Manager
method: StartUnit
args:
- value: switch-nic-to-main-mode@1.service
type: string
- value: replace
type: string
- name: switch nic 1 to aux mode
class: callback
callback: method
service: org.freedesktop.systemd1
path: /org/freedesktop/systemd1
interface: org.freedesktop.systemd1.Manager
method: StartUnit
args:
- value: switch-nic-to-aux-mode@1.service
type: string
- value: replace
type: string