summaryrefslogtreecommitdiffstats
path: root/xyz/openbmc_project/Control/Service/README.md
blob: fd9f92c754914fb4985f6fdb9f59e33407fdbbbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Service Management

## Overview
Applications must use service manager daemon to configure services like
phosphor-ipmi-net, web, SSH etc. service in the system, instead of
directly controlling the same using 'systemd' or 'iptables'. This way client
applications doesn't need to change to configure services, when the
implementations differ.

### Attributes Interface
Service manager daemon, will create objects for configurable service
in the system under object path `/xyz/openbmc_project/Control/Service/<object>`.
Each service object can be handled through 'org.freedesktop.DBus.ObjectManager'.
Service object will expose following properties.

#### xyz.openbmc_project.Control.Service.Attributes interface
##### properties
* State - State of the service. Enabled / Disabled.
* Port - Port number to which the service is configured to listen.
* Channel - Supported network interface objects, to which port has to bind.

## Note
Implementations can elect to implement service manager daemon either through
'systemctl' (override.conf) or implement the same through 'iptables' logic, of
disabling the port, updating the port etc.

## Example usage:
Webserver can update the RMCP+ port number from default 623 to different one,
by updating the `Port` property value under path `/xyz/openbmc_project/Control/
Service/netipmid` through interface `xyz.openbmc_project.Control.Service.
Attributes`.

## Systemd (override.conf) implementation
In order to update the property value, `override.conf` file under `/etc/systemd
/system/<Service unit name>/` has to be updated and service unit has to be
restarted through `org.freedesktop.systemd1`.
OpenPOWER on IntegriCloud