NetApp - api_container.service (systemd unit)
NetApp Solution · Config document · referenced from Unified Manager and API Services
The systemd unit on the host that runs the API Services container: it boots the root tree under /chroot/api with systemd-nspawn and restarts it whenever it stops.
| Item | Value |
|---|---|
| Path on the host | /etc/systemd/system/api_container.service |
| Runs on | dc1-a-vcocm002.adm.example.net |
| Enabled with | systemctl add-wants multi-user api_container |
| Operating system | RHEL 7.4 |
The file
[Unit] Description=API Container [Service] LimitNOFILE=100000 ExecStart=/usr/bin/systemd-nspawn --keep-unit --machine=api_container --directory=/chroot/api -b -j Restart=always [Install] Also=dbus.service
| Option | Meaning |
|---|---|
--keep-unit | Do not create a transient scope; the container stays inside this service unit |
--machine=api_container | The name machinectl knows it by |
--directory=/chroot/api | The root tree |
-b | Boot: run the tree's own init |
-j | Link the container's journal into the host's |
LimitNOFILE=100000 | File descriptor limit for everything inside |
There is no --network-veth, --private-network or --private-users: the container uses the host's network stack and the host's user IDs. There is no WantedBy= either, which is why the unit was hooked into multi-user.target with add-wants instead of systemctl enable. The older notes of the Unified Manager container have the same unit as ocm_container.service, without --keep-unit.
Checked against Active IQ Unified Manager 9.18
| As built | Today |
|---|---|
| OnCommand API Services 2.0 | End of support. The last version, 2.2, reached end of availability on 2020-05-14 and end of version support on 2021-04-30 |
| A separate REST front end for the monitoring system | The REST APIs of Unified Manager and its API gateway, which passes ONTAP REST calls through with Unified Manager credentials |
The unit depends on a product that no longer exists. The systemd-nspawn options themselves were not part of the research.