Select Your Language

Infrastructure and Management

Cloud Computing

Storage

Runtimes

Integration and Automation

  • Comments
  • Upgrade RHEL7.9 to 8.x with leapp using Ansible

    Posted on

    Hello,
    I'm trying to automate the upgrade process with ansible and when I try to run the following task I get some errors:

    Task:

    - hosts: upgrade
      tasks:
        - name: Generate leapp preupgrade report
          ansible.builtin.raw: leapp preupgrade
          ignore_errors: false
          register: leapp_preupgrade
          become: true
    

    Errors:

    ==> Processing phase `configuration_phase`
    ====> * ipu_workflow_config
            IPU workflow config actor
    ==> Processing phase `FactsCollection`
    ====> * scancpu
            Scan CPUs of the machine.
    ====> * source_boot_loader_scanner
            Scans the boot loader configuration on the source system.
    ====> * tcp_wrappers_config_read
            Parse tcp_wrappers configuration files /etc/hosts.{allow,deny}.
    ====> * storage_scanner
            Provides data about storage settings.
    ====> * scan_custom_repofile
            Scan the custom /etc/leapp/files/leapp_upgrade_repositories.repo repo file.
    ====> * removed_pam_modules_scanner
            Scan PAM configuration for modules that are not available in RHEL-8.
    ====> * scan_files_for_target_userspace
            Scan the source system and identify files that will be copied into the target userspace when it is created.
    ====> * network_manager_read_config
            Provides data about NetworkManager configuration.
    ====> * scan_kernel_cmdline
            No documentation has been provided for the scan_kernel_cmdline actor.
    ====> * system_facts
            Provides data about many facts from system.
    Process Process-199:
    Traceback (most recent call last):
      File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap
        self.run()
      File "/usr/lib64/python2.7/multiprocessing/process.py", line 114, in run
        self._target(*self._args, **self._kwargs)
      File "/usr/lib/python2.7/site-packages/leapp/repository/actor_definition.py", line 72, in _do_run
        actor_instance.run(*args, **kwargs)
      File "/usr/lib/python2.7/site-packages/leapp/actors/__init__.py", line 335, in run
        self.process(*args)
      File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/systemfacts/actor.py", line 36, in process
        self.produce(systemfacts.get_sysctls_status())
      File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/systemfacts/libraries/systemfacts.py", line 170, in get_sysctls_status
        return SysctlVariablesFacts(sysctl_variables=_get_sysctls())
      File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/systemfacts/libraries/systemfacts.py", line 22, in inner
        return list(f(*args, **kwargs))
      File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/systemfacts/libraries/systemfacts.py", line 143, in _get_sysctls
        for sc in run(['sysctl', '-a'], split=True)['stdout']:"
      File "/usr/lib/python2.7/site-packages/leapp/libraries/stdlib/__init__.py", line 188, in run
        result=result
    CalledProcessError: Command ['sysctl', '-a'] failed with exit code 1.
    ============================================================================================="
    Actor system_facts unexpectedly terminated with exit code: 1 - Please check the above details"
    =============================================================================================
    ============================================================
                               ERRORS                           
    ============================================================
    2022-04-13 16:21:34.524115 [ERROR] Actor: source_boot_loader_scanner"
    Message: Failed to call `grubby` to list available boot entries."
    Summary:"
        Details: Command ['grubby', '--info', 'ALL'] failed with exit code 1."
        Stderr: Process Process-183:"
                Traceback (most recent call last):"
                  File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap"
                    self.run()"
                  File "/usr/lib64/python2.7/multiprocessing/process.py", line 114, in run"
                    self._target(*self._args, **self._kwargs)"
                  File "/usr/lib/python2.7/site-packages/leapp/repository/actor_definition.py", line 72, in _do_run"
                    actor_instance.run(*args, **kwargs)"
                  File "/usr/lib/python2.7/site-packages/leapp/actors/__init__.py", line 335, in run"
                    self.process(*args)"
                  File "/usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/sourcebootloaderscanner/actor.py", line 18, in process"
                    scan_source_boot_loader_configuration()"
                  File "/usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/sourcebootloaderscanner/libraries/sourcebootloaderscanner.py", line 54, inscan_source_boot_loader_configuration",
                    entries=scan_boot_entries()"
                  File "/usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/sourcebootloaderscanner/libraries/sourcebootloaderscanner.py", line 17, inscan_boot_entries",
                    grubby_output = run(CMD_GRUBBY_INFO_ALL, split=True)"
                  File "/usr/lib/python2.7/site-packages/leapp/libraries/stdlib/__init__.py", line 181, in run"
                    stdin=stdin, env=env, encoding=encoding)"
                  File "/usr/lib/python2.7/site-packages/leapp/libraries/stdlib/call.py", line 217, in _call"
                    os.execvpe(command[0], command, env=environ)"
                  File "/usr/lib64/python2.7/os.py", line 353, in execvpe"
                    _execvpe(file, args, env)"
                  File "/usr/lib64/python2.7/os.py", line 380, in _execvpe"
                    func(fullname, *argrest)
                OSError: [Errno 2] No such file or directory
    ============================================================
                           END OF ERRORS                        
    ============================================================
    Debug output written to /var/log/leapp/leapp-preupgrade.log
    ============================================================
                               REPORT                           
    ============================================================
    A report has been generated at /var/log/leapp/leapp-report.json
    A report has been generated at /var/log/leapp/leapp-report.txt
    ============================================================
                           END OF REPORT                        
    ============================================================
    Answerfile has been generated at /var/log/leapp/answerfile
    

    Do you have any idea why this happens? I've also tried to run the command

    leapp preupgrade
    with the modules
    ansible.builtin.command
    and
    ansible.builtin.shell
    .
    When I run the command manually on the server via an ssh connection, I get a full report without any errors.
    Someone has already tried to this kind of job with Ansible. the only reference I've found using leapp with ansible is this role: https://github.com/mrjoshuap/ansible-leapp.

    Thanks for any help ;)

    by

    points

    Responses

    Red Hat

    Quick Links

    Help

    Site Info

    Related Sites

    © 2025 Red Hat, Inc.