def __init__()

in src/core/src/package_managers/ZypperPackageManager.py [0:0]


    def __init__(self, env_layer, execution_config, composite_logger, telemetry_writer, status_handler):
        super(ZypperPackageManager, self).__init__(env_layer, execution_config, composite_logger, telemetry_writer, status_handler)
        # Repo refresh
        self.repo_clean = 'sudo zypper clean -a'
        self.repo_refresh = 'sudo zypper refresh'
        self.repo_refresh_services = 'sudo zypper refresh --services'

        # Support to get updates and their dependencies
        self.zypper_check = 'sudo LANG=en_US.UTF8 zypper list-updates'
        self.zypper_check_security = 'sudo LANG=en_US.UTF8 zypper list-patches --category security'
        self.single_package_check_versions = 'LANG=en_US.UTF8 zypper search -s <PACKAGE-NAME>'
        self.single_package_upgrade_simulation_cmd = 'sudo LANG=en_US.UTF8 zypper --non-interactive update --dry-run '
        self.zypper_install_security_patches_simulate = 'sudo LANG=en_US.UTF8 zypper --non-interactive patch --category security --dry-run'

        # Install update
        self.single_package_upgrade_cmd = 'sudo zypper --non-interactive update '
        self.zypper_install_security_patches = 'sudo zypper --non-interactive patch --category security'

        # Package manager exit code(s)
        self.zypper_exitcode_ok = 0
        self.zypper_exitcode_zypp_lib_exit_err = 4
        self.zypper_exitcode_no_repos = 6
        self.zypper_exitcode_zypp_locked = 7
        self.zypper_exitcode_zypp_exit_err_commit = 8
        self.zypper_exitcode_reboot_required = 102
        self.zypper_exitcode_zypper_updated = 103
        self.zypper_exitcode_repos_skipped = 106
        self.zypper_success_exit_codes = [self.zypper_exitcode_ok, self.zypper_exitcode_zypper_updated, self.zypper_exitcode_reboot_required]
        self.zypper_retriable_exit_codes = [self.zypper_exitcode_zypp_locked, self.zypper_exitcode_zypp_lib_exit_err, self.zypper_exitcode_repos_skipped]

        # Additional output messages that corresponds with exit code 103
        self.zypper_out_zypper_updated_msg = 'Warning: One of the installed patches affects the package manager itself. Run this command once more to install any other needed patches.'

        # Support to check for processes requiring restart
        self.zypper_ps = "sudo zypper ps -s"

        # Miscellaneous
        self.set_package_manager_setting(Constants.PKG_MGR_SETTING_IDENTITY, Constants.ZYPPER)
        self.zypper_get_process_tree_cmd = 'ps --forest -o pid,cmd -g $(ps -o sid= -p {})'
        self.package_manager_max_retries = 5
        self.zypp_lock_timeout_backup = None

        # auto OS updates
        self.current_auto_os_update_service = None
        self.os_patch_configuration_settings_file_path = ''
        self.auto_update_config_pattern_match_text = ""
        self.apply_updates_identifier_text = ""
        self.installation_state_identifier_text = ""

        # # commands for YaST2 online update configuration
        # self.__init_constants_for_yast2_online_update_configuration()

        self.package_install_expected_avg_time_in_seconds = 240  # As per telemetry data, the average time to install package is around 232 seconds for zypper.