Add NET_ADMIN to multicast for pimd (#2776)

This commit is contained in:
Pascal Vizeli 2021-04-01 20:58:58 +02:00 committed by GitHub
parent 40bb3a7581
commit ed594d653f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

View File

@ -6,8 +6,8 @@ import docker
from ..const import DOCKER_CPU_RUNTIME_ALLOCATION, ENV_TIME, MACHINE_ID from ..const import DOCKER_CPU_RUNTIME_ALLOCATION, ENV_TIME, MACHINE_ID
from ..coresys import CoreSysAttributes from ..coresys import CoreSysAttributes
from ..docker.const import Capabilities
from ..hardware.const import PolicyGroup from ..hardware.const import PolicyGroup
from .const import Capabilities
from .interface import DockerInterface from .interface import DockerInterface
_LOGGER: logging.Logger = logging.getLogger(__name__) _LOGGER: logging.Logger = logging.getLogger(__name__)

View File

@ -1,8 +1,10 @@
"""HA Cli docker object.""" """HA Cli docker object."""
import logging import logging
from typing import List
from ..const import ENV_TIME from ..const import ENV_TIME
from ..coresys import CoreSysAttributes from ..coresys import CoreSysAttributes
from .const import Capabilities
from .interface import DockerInterface from .interface import DockerInterface
_LOGGER: logging.Logger = logging.getLogger(__name__) _LOGGER: logging.Logger = logging.getLogger(__name__)
@ -23,6 +25,11 @@ class DockerMulticast(DockerInterface, CoreSysAttributes):
"""Return name of Docker container.""" """Return name of Docker container."""
return MULTICAST_DOCKER_NAME return MULTICAST_DOCKER_NAME
@property
def capabilities(self) -> List[str]:
"""Generate needed capabilities."""
return [Capabilities.NET_ADMIN.value]
def _run(self) -> None: def _run(self) -> None:
"""Run Docker image. """Run Docker image.
@ -44,6 +51,7 @@ class DockerMulticast(DockerInterface, CoreSysAttributes):
network_mode="host", network_mode="host",
detach=True, detach=True,
security_opt=self.security_opt, security_opt=self.security_opt,
cap_add=self.capabilities,
extra_hosts={"supervisor": self.sys_docker.network.supervisor}, extra_hosts={"supervisor": self.sys_docker.network.supervisor},
environment={ENV_TIME: self.sys_config.timezone}, environment={ENV_TIME: self.sys_config.timezone},
) )