Server IP : 195.201.23.43 / Your IP : 3.144.176.149 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/uaclient/entitlements/ |
Upload File : |
import logging from typing import Any, Dict, Optional, Tuple from uaclient import api, event_logger, exceptions, messages, system, util from uaclient.entitlements.base import UAEntitlement from uaclient.entitlements.entitlement_status import ApplicationStatus LOG = logging.getLogger(util.replace_top_level_logger_name(__name__)) event = event_logger.get_event_logger() class LandscapeEntitlement(UAEntitlement): name = "landscape" title = messages.LANDSCAPE_TITLE description = messages.LANDSCAPE_DESCRIPTION help_doc_url = messages.urls.LANDSCAPE_HOME_PAGE help_text = messages.LANDSCAPE_HELP_TEXT def enable_steps(self) -> int: return 1 def disable_steps(self) -> int: return 1 def _perform_enable(self, progress: api.ProgressWrapper) -> bool: cmd = ["landscape-config"] + self.extra_args if self.assume_yes and "--silent" not in cmd: cmd += ["--silent"] LOG.debug("Executing: %r", cmd) progress.progress( util.redact_sensitive_logs( messages.EXECUTING_COMMAND.format(command=" ".join(cmd)) ) ) try: system.subp(cmd, pipe_stdouterr=self.assume_yes) except exceptions.ProcessExecutionError as e: LOG.exception(e) if self.assume_yes: progress.emit("info", e.stderr.strip()) raise exceptions.LandscapeConfigFailed( stdout=e.stdout.strip(), stderr=e.stderr.strip() ) return False return True def _perform_disable(self, progress: api.ProgressWrapper) -> bool: cmd = ["landscape-config", "--disable"] progress.progress( messages.EXECUTING_COMMAND.format(command=" ".join(cmd)) ) try: system.subp(cmd) except exceptions.ProcessExecutionError as e: LOG.error(e) progress.emit("info", str(e).strip()) progress.emit("info", messages.LANDSCAPE_CONFIG_REMAINS) return True def application_status( self, ) -> Tuple[ApplicationStatus, Optional[messages.NamedMessage]]: if ( self.are_required_packages_installed() and system.is_systemd_unit_active("landscape-client") ): return (ApplicationStatus.ENABLED, None) else: return ( ApplicationStatus.DISABLED, messages.LANDSCAPE_SERVICE_NOT_ACTIVE, ) def enabled_warning_status( self, ) -> Tuple[bool, Optional[messages.NamedMessage]]: # This check wrongly gives warning when non-root # This will become obsolete soon: #2864 if util.we_are_currently_root(): try: system.subp( ["landscape-config", "--is-registered", "--silent"] ) except exceptions.ProcessExecutionError: return ( True, messages.LANDSCAPE_NOT_REGISTERED, ) return False, None def process_contract_deltas( self, orig_access: Dict[str, Any], deltas: Dict[str, Any], allow_enable: bool = False, ) -> bool: # overriding allow_enable to always be False for this entitlement # effectively prevents enableByDefault from ever happening return super().process_contract_deltas( orig_access, deltas, allow_enable=False )Private