Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aixPB: Stop overwriting /usr/bin/perl with freeware on AIX #1979

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sxa
Copy link
Member

@sxa sxa commented Feb 26, 2021

Draft PR to document what I've done for my own purposes if nothing else in case I forget since I'm not working today :-)

By default AIX has /usr/bin/perl pointing to /usr/opt/perl5/bin/perl5.28.1. Our playbooks currently override this to the /opt/freeware one - this PR reverts that in order to use a standard AIX setup as far as possible. Particularly with the removal of perl as a requirement for the overall test frameworks I believe this may not be necessary. I have reset the symlink on test-osuosl-aix71-ppc64-1 to see if it causes any problems - we need to make sure it doesn't before merging this (at which point we'll need to manually switch all the machines back to using the default. Some test Grinders as follows (although obviously it can run other stuff from the main pipelines) as it has the ci.role.test label:

Checklist
  • commit message has one of the standard prefixes
  • FAQ.md updated if appropriate
  • other documentation is changed or added (if applicable)
  • playbook changes run through VPC or QPC (if you have access)
  • for inventory.yml changes, bastillion/nagios/jenkins updated accordingly

It should point to /usr/opt/perl5/bin/perl5.28.1
@sxa sxa added the os:aix label Feb 26, 2021
@sxa sxa self-assigned this Feb 26, 2021
@sxa sxa changed the title aixPB: Stop overwriting /usr/bin/perl with freeware on aixPB: Stop overwriting /usr/bin/perl with freeware on AIX Mar 1, 2021
@karianna karianna added this to the March 2021 milestone Mar 1, 2021
@sxa
Copy link
Member Author

sxa commented Mar 2, 2021

extended.system had a couple of failures - rerunning individual tests:

@sxa
Copy link
Member Author

sxa commented Mar 2, 2021

Running elsewhere as Grinders: ConcurrentLoadTest_5m_1 MiniMix_5m_1
Running on test-osuosl-aix71-ppc64-1 again with perl pointing back to /opt/freeware/bin/perl: ConcurrentLoadTest_5m_1 MiniMix_5m_1
Those fails but rather confusingly the next run worked: ConcurrentLoadTest_5m_1
Now completely failing to reproduce the failures so running a new full extended.system again on the machine https://ci.adoptopenjdk.net/job/Grinder/7386/

@Haroon-Khel
Copy link
Contributor

@sxa Any update on this?

@Haroon-Khel Haroon-Khel modified the milestones: March 2021, April 2021 Apr 6, 2021
@sxa
Copy link
Member Author

sxa commented Apr 6, 2021

No. As it's not causing a problem for anyone at the moment it's nowhere near the top of my priority list, but I'm happy of you want to take over and do some more testing on it

@Haroon-Khel Haroon-Khel modified the milestones: April 2021, May 2021 May 18, 2021
@Haroon-Khel Haroon-Khel modified the milestones: May 2021, June 2021 Jun 21, 2021
@sxa sxa modified the milestones: June 2021, July 2021 Jul 5, 2021
@Haroon-Khel Haroon-Khel modified the milestones: July 2021, August Aug 3, 2021
@aixtools
Copy link
Contributor

FYI: On the IBM hosted server (-1 as an example):

p159a01:/ # rpm -qa perl
perl-5.30.3-2.ppc
p159a01:/ # ls -l /usr/bin/perl
lrwxrwxrwx 1 root system 29 Apr 12 17:39 /usr/bin/perl -> /usr/opt/perl5/bin/perl5.28.1
p159a01:/ # lslpp -L | grep perl
  perl.libext               2.3.5.32    C     F    Perl Library Extensions
  perl.rte                  5.28.1.2    C     F    Perl Version 5 Runtime
  perl                      5.30.3-2    C     R    The Perl programming language.
  • The above system config seems to be what you would expect from the discussion above.
  • Looking further at build-osuosl-aix71-ppc64-1 - not...
root@p8-aix2-ojdk01:[/root]rpm -qa | grep perl
perl-5.30.3-1.ppc
root@p8-aix2-ojdk01:[/root]ls -l /usr/bin/perl
lrwxrwxrwx 1 root system 22 Feb 18  2021 /usr/bin/perl -> /opt/freeware/bin/perl
root@p8-aix2-ojdk01:[/root]lslpp -L | grep perl
  perl.libext               2.3.0.15    C     F    Perl Library Extensions
  perl.rte                5.10.1.250    C     F    Perl Version 5 Runtime
  perl                      5.30.3-1    C     R    The Perl programming language.
  • Note, on the osuosl (aix71, 7100-04-04-1717) the IBM perl is much older than the test-ibm-aix71-ppc64-1 (aix71, 7100-05-06-2016)
  • What is desired?

@sxa
Copy link
Member Author

sxa commented Sep 7, 2021

What is desired?

As long as it's adequate for running everything I don't really mind even if it's not exactly the same version.

@sxa sxa modified the milestones: August 2021, September 2021 Sep 23, 2021
@sxa sxa modified the milestones: September 2021, December 2021 Dec 1, 2021
@sxa sxa modified the milestones: December 2021, 2022-01 (January) Jan 6, 2022
@aixtools
Copy link
Contributor

  • Update: atm - /usr/bin/perl all point to an AIXToolbox version, not the IBM version.
  • Proposal: assign me, and after release week next week I'll start testing.
  • Please provide an URL for what needs to be tested (or is the complete extended.functional required?

@aixtools
Copy link
Contributor

aixtools commented Mar 16, 2022

I'd like to test that OSS perl is not needed - by just removing it (it it can be removed on it's own) - from adopt02 aka build-02.

-- update: OSS AIXToolbox git thinks it needs OSS perl. I know it does not (as I made the same packaging error years ago - perl is needed to build git, not for operations.

  • As such, the only change will be to remove any link/path that puts OSS perl first.
  • Don't want to break anything (so maybe making the change on build-01 is better, since it is not part of ci.role.test).
  • Awaiting feedback before proceeding.

@smlambert
Copy link
Contributor

Particularly with the removal of perl as a requirement for the overall test frameworks I believe this may not be necessary.

TKG was rewritten in Java so no longer requires special Perl modules to be installed. Many tests still use Perl. System tests in particular, and systemtest/STF prereqs state that they require Perl 5.6.1 or later. For other tests (including functional), the prereq states Perl 5.10.1 or above.

The thorough level of testing for this change would be all of the 9 required release targets, though its likely safe to drop the 2 perf targets.

@karianna
Copy link
Contributor

karianna commented Sep 7, 2022

@sxa needs a rebase

@sxa
Copy link
Member Author

sxa commented Aug 1, 2024

I'd like to test that OSS perl is not needed - by just removing it (it it can be removed on it's own) - from adopt02 aka build-02.

I suspect we can trial this on a test box (Maybe adopt04 since we've been using it for other things and JDK21 is known to build on that machine so would be a good test).

So if we can remove it (or maybe just rename the perl executable as an easily-reversible change) then run a build job with this in the configuration

    "NODE_LABEL": "test-osuosl-aix72-ppc64-2",
    "ADDITIONAL_TEST_LABEL": "test-osuosl-aix72-ppc64-2",

then I think we'll probably cover everything that's needed to test this. I wouldn't expect this to be specific to the version of java. We can also remove ci.role.test from the jenkins machine labels in order to reduce the risk of other jobs hitting it while we're testing this.

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.

5 participants