AIX Open Source

 View Only
Expand all | Collapse all

Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

  • 1.  Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted Fri June 16, 2023 04:34 AM

    Good day team,

    I went to upgrade dnf and python3 (Ref: Migrating to python 3.9 for AIX Toolbox python3 ecosystem) using "dnf update dnf python3" however I am getting the below error (as I have got AWX running on AIX 7.3).

    @Andrey Klyachkin it looks like the supervisor rpm needs to be tweaked :-)

    # oslevel -s
    7300-00-02-2220
    # rpm -qa | egrep 'superv|awx|ngin|redis'
    supervisor-4.2.0-2aix.noarch
    nginx-1.21.4-2.ppc
    redis-5.0.9-1aix.ppc
    ansible-awx-17.1.0-2aix.ppc
    # dnf update dnf python3
    AIX generic repository                                                                                                                                       9.0 kB/s | 2.7 kB     00:00
    AIX generic repository                                                                                                                                       4.4 MB/s |  19 MB     00:04
    AIX noarch repository                                                                                                                                         16 kB/s | 2.7 kB     00:00
    AIX noarch repository                                                                                                                                        2.4 MB/s | 2.4 MB     00:01
    AIX 7.3 specific repository                                                                                                                                   15 kB/s | 2.6 kB     00:00
    AIX 7.3 specific repository                                                                                                                                  510 kB/s | 296 kB     00:00
    Error:
     Problem 1: package supervisor-4.2.0-2aix.noarch requires /opt/freeware/bin/python3_64, but none of the providers can be installed
      - cannot install both python3-3.9.16-1.ppc and python3-3.7.15-2.ppc
      - cannot install both python3-3.9.16-1.ppc and python3-3.7.11-1.ppc
      - cannot install both python3-3.9.16-1.ppc and python3-3.7.12-1.ppc
      - cannot install both python3-3.9.16-1.ppc and python3-3.7.15-1.ppc
      - package python3-dnf-4.2.17-64_53.ppc requires python3 >= 3.9.15, but none of the providers can be installed
      - package dnf-4.2.17-64_53.ppc requires python3-dnf = 4.2.17-64_53, but none of the providers can be installed
      - cannot install the best update candidate for package dnf-4.2.17-64_51.ppc
      - problem with installed package supervisor-4.2.0-2aix.noarch
     Problem 2: cannot install the best update candidate for package python3-3.7.15-2.ppc
      - package python3.7-3.7.16-1.ppc requires python3 > 3.7.15, but none of the providers can be installed
      - package supervisor-4.2.0-2aix.noarch requires /opt/freeware/bin/python3_64, but none of the providers can be installed
      - cannot install both python3-3.9.16-1.ppc and python3-3.7.15-2.ppc
      - cannot install both python3-3.9.16-1.ppc and python3-3.7.11-1.ppc
      - cannot install both python3-3.9.16-1.ppc and python3-3.7.12-1.ppc
      - cannot install both python3-3.9.16-1.ppc and python3-3.7.15-1.ppc
      - package ansible-awx-17.1.0-2aix.ppc requires supervisor, but none of the providers can be installed
      - problem with installed package ansible-awx-17.1.0-2aix.ppc
    (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

    Many thanks, Steve



    ------------------------------
    Steve Munday
    AIX, IBM i, HMC, PowerVM
    ------------------------------


  • 2.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    Posted Fri June 16, 2023 05:49 AM

     bad mistake...you should read more carefully

    Migration activity to python3.9 is in progress. Repodata will get updated in a couple of days.


    ------------------------------
    I regret starting this entire conversation
    ------------------------------



  • 3.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted Fri June 16, 2023 06:01 AM

    I'll wait and see if time heals this one then :-)



    ------------------------------
    Steve Munday
    AIX, IBM i, HMC, PowerVM
    ------------------------------



  • 4.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    Posted Fri June 16, 2023 06:14 AM

    In python3 (3.9) , 32bit binaries are put into a separate directory "/opt/freeware/libexec". So now there is no need to differentiate 64bit & 32bit python3 binaries (like _64 , _32) in /opt/freeware/bin. So there is no "python3_64" binary shipped in python3-3.9.X rpm. 

    Here the supervisor rpm needs a rebuild with the new python3. 



    ------------------------------
    Ayappan P
    ------------------------------



  • 5.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted Mon June 19, 2023 03:08 AM

    Hi Steve,

    I'll wait a month more till all problems with the migration to Python3.9 in the toolbox are settled and then try to build a new AWX version with Python 3.9. 



    ------------------------------
    Andrey Klyachkin

    https://www.power-devops.com
    ------------------------------



  • 6.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted Mon June 19, 2023 04:20 AM

    Morning Andrey,

    Thank-you for putting this on your list of things to do.

    Out of interest will this still be AWX 17 but with a re-built supervisor module or will you also bump up (a little) the AWX version at the same time?

    Many thanks, Steve



    ------------------------------
    Steve Munday
    AIX, IBM i, HMC, PowerVM
    ------------------------------



  • 7.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted Mon June 19, 2023 04:37 AM

    Morning Steve,

    it will be AWX 17 again. For any newer version I will need a working cryptography python module and newer ansible version. It requires working Rust compiler on AIX. Even if I got compiled cryptography module two months ago, it didn't work as expected. So I was waiting for the change of Python in AIX Toolbox to check if it will work with newer Python version.

    The next challenge is that newer AWX versions work with so called Execution Environments - small container images with Ansible and collections. They exist only for x86 platform. Needless to say they can't be ported 1:1 to AIX, because we don't have podman-like on AIX (even if it is technically possible).

    That's why I wouldn't expect a newer AWX version in the nearest future. It is possible but it takes time.



    ------------------------------
    Andrey Klyachkin

    https://www.power-devops.com
    ------------------------------



  • 8.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted Mon June 19, 2023 04:43 AM

    Andrey,

    Hi, that's quite a shopping list of changes isn't it so fully understand we'll be sticking with AWX v17 which is working just fine for me I have to say :-)

    All the best, Steve



    ------------------------------
    Steve Munday
    AIX, IBM i, HMC, PowerVM
    ------------------------------



  • 9.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted Thu July 20, 2023 11:35 AM

    Andrey,

    Hi, any news on when we might expect to see a revised "supervisor" rpm be made available please?

    Many thanks, Steve



    ------------------------------
    Steve Munday
    AIX, IBM i, HMC, PowerVM
    ------------------------------



  • 10.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    Posted Tue August 01, 2023 02:20 AM

    Just try to install AWX 17 on AIX 7.3 and here is showstopper.

    Any news?

    TASK [install our packages] ********************************************************************************************************
    fatal: [localhost]: FAILED! => {"changed": false, "failures": [], "msg": "Depsolve Error occured: \n Problem: problem with installed package rpm-python3-4.15.1-64_3.ppc\n  - package rpm-python3-4.15.1-64_3.ppc requires python3 >= 3.9.15, but none of the providers can be installed\n  - package supervisor-4.2.0-2aix.noarch requires /opt/freeware/bin/python3_64, but none of the providers can be installed\n  - cannot install both python3-3.9.16-1.ppc and python3-3.7.11-1.ppc\n  - cannot install both python3-3.9.16-1.ppc and python3-3.7.12-1.ppc\n  - cannot install both python3-3.9.16-1.ppc and python3-3.7.15-1.ppc\n  - cannot install both python3-3.9.16-1.ppc and python3-3.7.15-2.ppc\n  - conflicting requests\n  - cannot install both python3-3.9.16-2.ppc and python3-3.7.11-1.ppc\n  - cannot install both python3-3.9.16-2.ppc and python3-3.7.12-1.ppc\n  - cannot install both python3-3.9.16-2.ppc and python3-3.7.15-1.ppc\n  - cannot install both python3-3.9.16-2.ppc and python3-3.7.15-2.ppc\n  - cannot install both python3-3.9.17-1.ppc and python3-3.7.11-1.ppc\n  - cannot install both python3-3.9.17-1.ppc and python3-3.7.12-1.ppc\n  - cannot install both python3-3.9.17-1.ppc and python3-3.7.15-1.ppc\n  - cannot install both python3-3.9.17-1.ppc and python3-3.7.15-2.ppc\n  - cannot install both python3-3.7.11-1.ppc and python3-3.9.17-1.ppc\n  - cannot install both python3-3.7.12-1.ppc and python3-3.9.17-1.ppc\n  - cannot install both python3-3.7.15-1.ppc and python3-3.9.17-1.ppc\n  - cannot install both python3-3.7.15-2.ppc and python3-3.9.17-1.ppc", "rc": 1, "results": []}
    


    ------------------------------
    Nihad Ajanovic
    ------------------------------



  • 11.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    Posted Mon December 18, 2023 10:18 AM

    Tried to install AWX 17 on IBM AIX 7.2 TL5  and AIX 7.3 TL2 and get the same error .

    TASK [copy our required packages] ***********************************************************************************************************************************************************************************************************
    ok: [localhost] => (item=linux_compat-0.1.2-1.aix7.2.ppc.rpm)
    ok: [localhost] => (item=redis-5.0.9-1aix.aix7.2.ppc.rpm)
    ok: [localhost] => (item=supervisor-4.2.0-2aix.aix7.2.noarch.rpm)
    ok: [localhost] => (item=xmlsec1-1.2.28-2.aix7.2.ppc.rpm)
    ok: [localhost] => (item=xmlsec1-openssl-1.2.28-2.aix7.2.ppc.rpm)

    TASK [install our packages] *****************************************************************************************************************************************************************************************************************
    fatal: [localhost]: FAILED! => {"changed": false, "failures": [], "msg": "Depsolve Error occurred: \n Problem: problem with installed package rpm-python3-4.15.1-64_4.ppc\n  - package rpm-python3-4.15.1-64_4.ppc requires python3 >= 3.9.15, but none of the providers can be installed\n  - package rpm-python3-4.15.1-64_3.ppc requires python3 >= 3.9.15, but none of the providers can be installed\n  - package supervisor-4.2.0-2aix.noarch requires /opt/freeware/bin/python3_64, but none of the providers can be installed\n  - cannot install both python3-3.9.16-1.ppc and python3-3.7.11-1.ppc\n  - cannot install both python3-3.9.16-1.ppc and python3-3.7.12-1.ppc\n  - cannot install both python3-3.9.16-1.ppc and python3-3.7.15-1.ppc\n  - cannot install both python3-3.9.16-1.ppc and python3-3.7.15-2.ppc\n  - conflicting requests\n  - cannot install both python3-3.9.16-2.ppc and python3-3.7.11-1.ppc\n  - cannot install both python3-3.9.16-2.ppc and python3-3.7.12-1.ppc\n  - cannot install both python3-3.9.16-2.ppc and python3-3.7.15-1.ppc\n  - cannot install both python3-3.9.16-2.ppc and python3-3.7.15-2.ppc\n  - cannot install both python3-3.9.17-1.ppc and python3-3.7.11-1.ppc\n  - cannot install both python3-3.9.17-1.ppc and python3-3.7.12-1.ppc\n  - cannot install both python3-3.9.17-1.ppc and python3-3.7.15-1.ppc\n  - cannot install both python3-3.9.17-1.ppc and python3-3.7.15-2.ppc\n  - cannot install both python3-3.9.18-1.ppc and python3-3.7.11-1.ppc\n  - cannot install both python3-3.9.18-1.ppc and python3-3.7.12-1.ppc\n  - cannot install both python3-3.9.18-1.ppc and python3-3.7.15-1.ppc\n  - cannot install both python3-3.9.18-1.ppc and python3-3.7.15-2.ppc\n  - cannot install both python3-3.7.11-1.ppc and python3-3.9.18-1.ppc\n  - cannot install both python3-3.7.12-1.ppc and python3-3.9.18-1.ppc\n  - cannot install both python3-3.7.15-1.ppc and python3-3.9.18-1.ppc\n  - cannot install both python3-3.7.15-2.ppc and python3-3.9.18-1.ppc", "rc": 1, "results": []}

    PLAY RECAP **********************************************************************************************************************************************************************************************************************************
    localhost                  : ok=11   changed=6    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0



    ------------------------------
    Mohammad Shareef
    ------------------------------



  • 12.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted Mon December 18, 2023 10:34 AM

    Hi Mohammad,

    it doesn't work on AIX 7.3. I plan to port it one day, but there is no timeline.



    ------------------------------
    Andrey Klyachkin

    https://www.power-devops.com
    ------------------------------



  • 13.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    Posted Mon December 18, 2023 10:38 AM

    i tried it on  AIX 7.2 TL5  aswell but the same error on  AIX 7.2 TL5 .



    ------------------------------
    Mohammad Shareef
    ------------------------------



  • 14.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted Tue December 19, 2023 08:25 AM
      |   view attached

    Mohammad,

    Hi, the "trick" is to limit certain packages so that python3.9 doesn't get auto-installed.  I had an issue (earlier in this Thread) where I'd gone ahead and updated Ansible and Python which meant AWX wasn't able to run any jobs.

    Once I'd worked out the correct package versions I set about clearing down my existing rpm environment and starting over, carefully stepping through the installation of (a suitable level of) DNF and then the additional packages needed for AWX.

    Here are the steps I took (my AIX is 7.3.1.1) to rebuild everything and hope they might help you resolve your issue.

    1. Run the destroyRPMS script (see attached) which will wipe out all the rpm packages (understand the risks before running it)
    2. Force a re-install of rpm.rte (my version is 4.15.1.2009)
    3. Install a version of DNF that doesn't need python3.9 (./install_dnf.sh -d) (my version is dnf-4.2.17-64_3.noarch)
    4. Install Ansible (my version is ansible-2.9.14)
    5. Install versionlock (my version is python3-dnf-plugin-versionlock-4.0.16-64_50)
    6. Add key packages to versionlock (dnf versionlock add ansible dnf dnf-automatic dnf-data openldap)
    7. Exclude python3.9 from being installed (dnf versionlock exclude python3.9)
    8. Install kerbros and rsyslog as per Andrey's instructions
    9. Install AWX as per Andrey's instructions

    NOTE

    The DNF tarball I used had "Jan 09 07:59:27 2022 dnf-4.2.17-64_3.aix7.1.noarch.rpm" within it.  Checking the IBM site I believe the following is the tarball you'll want to pull down.

    https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/ezinstall/ppc/dnf_bundle_aix_73_v4.tar

    Good luck.

    Regards, Steve



    ------------------------------
    Steve Munday
    AIX, IBM i, HMC, PowerVM
    ------------------------------

    Attachment(s)

    txt
    destroyRPMS.txt   5 KB 1 version


  • 15.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    Posted Wed December 20, 2023 07:17 AM

    Hi Steve.

    The latest Toolbox bundle is now "ESD-Toolbox_for_Linux_Apps_Common_7.1-7.3_112023_LKT010326.tar.gz" (available on ESS).
    Which contains the new python3.9 packages and upgrades Ansible from v2.9 to ansible-core v2.14.2.

    However, I'm currently in the same situation with regard to the supervisor and python 3.9 compatibility issue & unable to get AWX to install.

    Background:

    • I was working with a client who had no direct/indirect internet access for the on-line repos and we wanted an Asnible evironment on AIX with the option to use AWX.
    • I'd modified Andrey's AWX build to get it working on AIX v7.3 TL1
      • I started with the DNF offline repos from the toolkit image you'd used
      • Modified the build files to
        • Allow AIX v7.3
        • Use dnf module instead of yum
        • I seem to remember I still had to manually install a few packages with dnf that were failing in the playbook
      • After this AWX worked quite happily.

    On my testing environment I wanted to trial the upgrade from AIX v7.3 TO01 SO02 to AIX v7.3 TL02 SP01.

    • I had previously hit an issue on another system when updating to AIX v7.3 TL02 with DNF as the python & DNF files need to be upgraded to v3.9 before applying the TL02 updates otherwise they break - it took quite a bit of work to resolve that issue

    • So, for my testing Ansible/AWX system I took another track:
    1. Upgrade the system with the latest toolbox GZ tarball first:
      1. Removing the old files from the local repo
      2. Extract new repo files from the tarball into original location
      3. dnf check-update
      4. dnf update 
        - This fails as it does not like python 3.7 & 3.9 being installed at same time
      5. dnf update --allowerasing
        - This does work but not only removes the python 3.7 packages but also supervisor & AWX!
    2. Upgrade AIX to v7.3 TL02 SP01
    • So some plusses and minuses:
      • As far as DNF is concerned this approach works
      • However I'm now in a situation where I have lost AWX!
      • Anible has been upgraded to use the "core" package instead of the out dated"2.9" build from the previous toolbox.
      • AIX is running at the latest and the local DNF repo is up to date

    If anyone can point us to a AIX compiled version of supervisor that works with python 3.9 that'd be fantastic :^)



    ------------------------------
    Rich Jefferies
    ------------------------------



  • 16.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted Wed December 20, 2023 07:36 AM

    Hi Rich and Steve,

    thank you very much that you published your workarounds and expertise with AWX on AIX! This is a great story of community work! 

    Regarding supervisor for python3.9, I did it several months ago for Steve and you can find it here. I hope it still works :-)



    ------------------------------
    Andrey Klyachkin

    https://www.power-devops.com
    ------------------------------



  • 17.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    Posted Wed December 20, 2023 12:54 PM

    Hi Andrey.

    The new supervisor RPM works, thanks.

    However I now hit another issue.

    • For some reason I'd lost the "postgres" user and group - so had to manually re-create those
    • When trying to create the postgres DB structures it now errors as it expects to have python 3.7 modules present
      exec(): 0509-036 Cannot load program /var/lib/awx/venv/awx/bin/python3 because of the following errors:
              0509-150   Dependent module libpython3.7m.so could not be loaded.
              0509-022 Cannot load module libpython3.7m.so.
              0509-026 System error: A file or directory in the path name does not exist.
    • If I re-symbolically link "/var/lib/awx/venv/awx/bin/python3" to "/usr/opt/python3/bin/python3.9" I get a different error:
      File "/usr/bin/awx-manage", line 5, in <module>
              from awx import manage
          ModuleNotFoundError: No module named 'awx'

    So, unless I try to reinstall python v3.7 it seems like I'd need new packages for python 3.9 in "/var/lib/awx/venv/awx/bin/"



    ------------------------------
    Rich Jefferies
    ------------------------------



  • 18.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    Posted 14 days ago
    Hi Andrey
     
    I would like to please have your help in the following case when trying to install AWX 17:
     
    OS: AIX 7200-05-07
    Python version: 3.9
     
    -------------------------------------------------- -----
    error: Failed dependencies:
             /opt/freeware/bin/python3_64 is needed by supervisor-4.2.0-2aix.noarch
    -------------------------------------------------- -----
     
    As indicated in version 3.9 of python, a binary file with the name python3_64 is not installed in the /opt/freeware/bin path.
     
    I would like to know if, like in AIX 7.3, there is a supervisor rpm file for this scenario with AIX 7.2 so that it can be installed with version 3.9 of python?
     
    Thanks for your support.
    Victor Guzman


    ------------------------------
    Victor Guzman
    ------------------------------



  • 19.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted 12 days ago

    Victor,

    Hi, good morning.

    When I started with AWX I followed https://community.ibm.com/community/user/power/discussion/installing-ansible-awx-on-aix-72-1 as my starting point.  I was already on AIX 7.3 so didn't have the _32 vs. _64 bit packages to contend with which appears to be what you're hitting at the moment.

    From memory, at AIX 7.2, AWX (17.1) would have been be using Python3 rather than python3.9 so have you tried installing using the "base" AWX on AIX 7.2 before moving up through the python versions?

    Also, a word of caution, AWX 17.1 (on AIX) can't handle Ansible-Core at the moment so I needed to remain on python3.7 to keep AWX working whilst on AIX 7.3.  Andrey is fully aware of this, the issue is how AWX moved "on" and started using Execution Environments which adds extra complexity to the AWX porting to AIX.

    All the best, Steve



    ------------------------------
    Steve Munday
    AIX, IBM i, HMC, PowerVM
    ------------------------------



  • 20.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted Thu December 21, 2023 04:03 AM

    Rich,

    Hi, whatever you do "do not" move to ansible-core v2.14.2 if you want AWX v17.1 to work as that's the bit that finally had me re-work my whole rpm environment.

    The issue is that ansible-core v2.14.2 expects jinja v3 however whilst AWX will "work" in the sense you can connect no jobs will be able to run because AWX issues the following message:

    ERROR: Ansible requires Jinja2 3.0 or newer on the controller. Current version: 2.10.1

    AWX uses an (internally) packaged version of jinja2 v2 which you can't override.  @Andrey Klyachkin is aware and has it on his list of things to re-package.

    It's due to this that I had to put in place the various "blocks" so that I remained on old(er) Ansible etc.

    Hope that's of some help.

    Regards, Steve



    ------------------------------
    Steve Munday
    AIX, IBM i, HMC, PowerVM
    ------------------------------



  • 21.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    Posted Thu December 21, 2023 09:31 AM

    Thanks Steve .

    Followed your steps and was able to successfully install AWX on aix 7.3.

    1. Run the destroyRPMS script (see attached) which will wipe out all the rpm packages (understand the risks before running it)
    2. Force a re-install of rpm.rte (my version is 4.15.1.2009)
    3. aix 7.3 comes with python 3.9 pre-installed so i uninstalled it before starting with your next steps.
    4. Install a version of DNF that doesn't need python3.9 (./install_dnf.sh -d) (my version is dnf-4.2.17-64_3.noarch)
    5. Install Ansible (my version is ansible-2.9.14)
    6. Install versionlock (my version is python3-dnf-plugin-versionlock-4.0.16-64_50)
    7. Add key packages to versionlock (dnf versionlock add ansible dnf dnf-automatic dnf-data openldap)
    8. Exclude python3.9 from being installed (dnf versionlock exclude python3.9)
    9. Install kerbros and rsyslog as per Andrey's instructions
    10. Install AWX as per Andrey's instructions
    11. Had  to comment out dnf update in the packages02 playbook 


    ------------------------------
    Mohammad Shareef
    ------------------------------



  • 22.  RE: Migrating to Python3.9 causes issue with supervisor-4.2.0-2aix.noarch

    IBM Champion
    Posted Fri December 22, 2023 01:42 PM

    Mohammad,

    That is great to hear, good spot re: dnf update in the packages02 playbook :-)

    All the best, Steve



    ------------------------------
    Steve Munday
    AIX, IBM i, HMC, PowerVM
    ------------------------------