summaryrefslogtreecommitdiffstats
path: root/src/pybind/mgr/orchestrator/_interface.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/pybind/mgr/orchestrator/_interface.py')
-rw-r--r--src/pybind/mgr/orchestrator/_interface.py80
1 files changed, 79 insertions, 1 deletions
diff --git a/src/pybind/mgr/orchestrator/_interface.py b/src/pybind/mgr/orchestrator/_interface.py
index e9a6c3f07..042572ec1 100644
--- a/src/pybind/mgr/orchestrator/_interface.py
+++ b/src/pybind/mgr/orchestrator/_interface.py
@@ -359,7 +359,83 @@ class Orchestrator(object):
"""
raise NotImplementedError()
- def remove_host(self, host: str, force: bool, offline: bool) -> OrchResult[str]:
+ def hardware_light(self, light_type: str, action: str, hostname: str, device: Optional[str] = None) -> OrchResult[Dict[str, Any]]:
+ """
+ Light a chassis or device ident LED.
+
+ :param light_type: led type (chassis or device).
+ :param action: set or get status led.
+ :param hostname: the name of the host.
+ :param device: the device id (when light_type = 'device')
+ """
+ raise NotImplementedError()
+
+ def hardware_powercycle(self, hostname: str, yes_i_really_mean_it: bool = False) -> OrchResult[str]:
+ """
+ Reboot a host.
+
+ :param hostname: the name of the host being rebooted.
+ """
+ raise NotImplementedError()
+
+ def hardware_shutdown(self, hostname: str, force: Optional[bool] = False, yes_i_really_mean_it: bool = False) -> OrchResult[str]:
+ """
+ Shutdown a host.
+
+ :param hostname: the name of the host to shutdown.
+ """
+ raise NotImplementedError()
+
+ def hardware_status(self, hostname: Optional[str] = None, category: Optional[str] = 'summary') -> OrchResult[str]:
+ """
+ Display hardware status.
+
+ :param category: category
+ :param hostname: hostname
+ """
+ raise NotImplementedError()
+
+ def node_proxy_summary(self, hostname: Optional[str] = None) -> OrchResult[Dict[str, Any]]:
+ """
+ Return node-proxy summary
+
+ :param hostname: hostname
+ """
+ raise NotImplementedError()
+
+ def node_proxy_fullreport(self, hostname: Optional[str] = None) -> OrchResult[Dict[str, Any]]:
+ """
+ Return node-proxy full report
+
+ :param hostname: hostname
+ """
+ raise NotImplementedError()
+
+ def node_proxy_firmwares(self, hostname: Optional[str] = None) -> OrchResult[Dict[str, Any]]:
+ """
+ Return node-proxy firmwares report
+
+ :param hostname: hostname
+ """
+ raise NotImplementedError()
+
+ def node_proxy_criticals(self, hostname: Optional[str] = None) -> OrchResult[Dict[str, Any]]:
+ """
+ Return node-proxy criticals report
+
+ :param hostname: hostname
+ """
+ raise NotImplementedError()
+
+ def node_proxy_common(self, category: str, hostname: Optional[str] = None) -> OrchResult[Dict[str, Any]]:
+ """
+ Return node-proxy generic report
+
+ :param hostname: hostname
+ """
+ raise NotImplementedError()
+
+ def remove_host(self, host: str, force: bool, offline: bool, rm_crush_entry: bool) -> OrchResult[str]:
"""
Remove a host from the orchestrator inventory.
@@ -828,6 +904,7 @@ def daemon_type_to_service(dtype: str) -> str:
'crashcollector': 'crash', # Specific Rook Daemon
'container': 'container',
'agent': 'agent',
+ 'node-proxy': 'node-proxy',
'snmp-gateway': 'snmp-gateway',
'elasticsearch': 'elasticsearch',
'jaeger-agent': 'jaeger-agent',
@@ -860,6 +937,7 @@ def service_to_daemon_types(stype: str) -> List[str]:
'crash': ['crash'],
'container': ['container'],
'agent': ['agent'],
+ 'node-proxy': ['node-proxy'],
'snmp-gateway': ['snmp-gateway'],
'elasticsearch': ['elasticsearch'],
'jaeger-agent': ['jaeger-agent'],