Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@vinzenz
Copy link
Member

@vinzenz vinzenz commented Jan 8, 2019

This patch introduces the actor convenience api for actors and
repository libraries and provides an easy access to the functions that
actors have access to.

Such as:

  • Producing messages
  • Consuming messages
  • Retrieving files or directory paths
    • files that are bundled with the actor itself
    • shared files on repository level
  • Access to the currently running actor instance
  • Access to the logger of the currently running actor instance
  • Reporting errors

Signed-off-by: Vinzenz Feenstra [email protected]

@radomil
Copy link
Contributor

radomil commented Jan 9, 2019

LGTM

@vinzenz vinzenz requested a review from pirat89 January 10, 2019 08:40
Copy link
Member

@pirat89 pirat89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anyway, tests are missing so I suggest to keep it opened until tests will be added. Additionally - about the folder thing, there is only one use of folder inside actors, so fix in actors looks easy as well.

return os.getenv("LEAPP_COMMON_FILES", "").split(":")

def get_folder_path(self, name):
def _get_folder_path(self, directories, name):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why we are mixing folder and directory (not only here)? I prefer to use directory equivalent everywhere. So _get_dir_path, ....

@pirat89 pirat89 dismissed their stale review January 10, 2019 15:38

Original issues have been fixed, so taking change requirement back

@vinzenz vinzenz added the wip label Jan 11, 2019
This patch introduces the actor convenience api for actors and
repository libraries and provides an easy access to the functions that
actors have access to.

Such as:
- Producing messages
- Consuming messages
- Retrieving files or directory paths
    - files that are bundled with the actor itself
    - shared files on repository level
- Access to the currently running actor instance
- Access to the logger of the currently running actor instance
- Reporting errors

Signed-off-by: Vinzenz Feenstra <[email protected]>
@pirat89
Copy link
Member

pirat89 commented Jan 22, 2019

Discussed in person. There are missing tests just for request_answer function. As we need this PR really already, we will take it just with all those tests we have now as it's enough now and an issue will be created to add those missing tests later.

@pirat89 pirat89 merged commit f0036b2 into oamg:master Jan 22, 2019
MichalHe pushed a commit to MichalHe/leapp that referenced this pull request Aug 12, 2021
In some cases, the package can be installed only as part of a module
and we cannot put it directly into transaction (e.g. python3-nss)
Until this case is sorted, we will print a warning instead of failing
whole transaction.

Issue: oamg#406
MichalHe pushed a commit to MichalHe/leapp that referenced this pull request Aug 12, 2021
## Packaging
- Add dependency on python2-leapp and leapp-framework
- Add python-requests as dependency (oamg#407)
- Drop leapp sos plugin (it's part of the sos rpm in RHEL 7.7+)
- Remove dependency on Jinja2 related packages (oamg#407)

## Fixes
- Do not mount pseudo and unsupposrted FS to overlayfs (e.g. proc)
- Evaluate PES events transitively to create correct data for the upgrade transaction
- Fix boot order on EFI systems
- Fix checking of kernel drivers (oamg#400)
- Fix failures caused by local rpms added into the upgrade transaction
- Fix getting mount information with mountpoints with spaces in the path
- Fix handling of XFS without ftype for every such mounted FS
- Fix issue with random booting into old RHEL 7 kernel after the upgrade
- Fix issues on systems with statically mapped IPs in /etc/hosts
- Fix issues with device mapper and udev in a container
- Fix issues with failing rpm transaction calculation because of duplicate instructions for dnf
- Fix various issues related to RHSM (e.g. https://bugzilla.redhat.com/show_bug.cgi?id=1702691)
- Fix yum repository scan in case of repositories with invalid URL
- Inhibit the upgrade if multiple kernel-devel rpms are installed
- Inhibit the upgrade when links on root dir '/' are not absolute to save the world
- Parse correctly kernel cmdline inside the initrd (oamg#383) (fixes various issues on s390x)
- Print warnings instead of a hard failure when expected rpms cannot be found (e.g. python3-nss inside an rpm module) (oamg#405)
- Remove java11-openjdk-headless during the upgrade (https://bugzilla.redhat.com/show_bug.cgi?id=1820172)
- Throw a nice error when invalid locale is set (oamg#430)

## Enhancements
- Add initial multipath support (it doesn't handle all cases yet)
- Changed upgrade paths: RHEL-ALT 7.6 -> 8.2; RHEL 7.8 -> 8.2
- Check if the latest installed kernel is booted before the upgrade
- Check that the system satisfies minimum memory requirements for the upgrade (oamg#413)
- Dump `grub2-editenv list` output to help with issues related to the default kernel for the boot
- Improved report related to KDE/GNOME
- Inhibit the upgrade for ipa-server (oamg#481)
- Inhibit the upgrade on EFI systems when efibootmgr is not installed
- Inhibit the upgrade on FIPS systems
- Inhibit the upgrade when the raised dialogs are missing answers (oamg#589)
- Introduce new ways of using custom repositories during the transaction
- Make report messages more explicit about Dialogs (oamg#600)
- Migrate SpamAssassin
- Migrate cups-filters
- Migrate sane-backend
- Modify vim configuration to keep the original behaviour
- Report changes in wireshark
- Support the upgrade without the use of subscription-manager
- The name and baseurl field in the CustomTargetRepository message are optional now
- Use the new framework mechanism to inhibit the upgrade without reporting errors
- Various texts are improved based on the feedback

## Additional changes interesting for devels
- Add new functions in the config library to get envars related to leapp
- Add support for testing with Beta and HTB systems
- LEAPP_SKIP_CHECK_OS_RELEASE has been renamed to LEAPP_DEVEL_SKIP_CHECK_OS_RELEASE
- Provide info about kernel cmdline via KernelCmdline message
- The IPUConfig message contains information about booted kernel
- The code is mostly Py2/Py3 compatible now and all PRs are tested on Py2 and Py3 compatibility (linters, unit-tests)
- The config.version library contains is_rhel_alt() for detection of RHEL-ALT
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants