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

PPC BE release machine/PPC BE in standard releases #377

Closed
10 tasks done
mhdawson opened this issue Apr 1, 2016 · 28 comments
Closed
10 tasks done

PPC BE release machine/PPC BE in standard releases #377

mhdawson opened this issue Apr 1, 2016 · 28 comments
Assignees
Labels

Comments

@mhdawson
Copy link
Member

mhdawson commented Apr 1, 2016

We had been using fedora machines for testing PPC BE but after discussion that is not appropriate for the release machines. There are limited choices available today on OSUOSL so we are going to look at using ubuntu 14.04.

That will mean that the binaries won't necessarily run on earlier releases but given the dependency on the 4.8.3 compiler users who want a supported configuration will likely be running on recent distro's. As long as the binaries will run on rhel7.1 in addition to ubuntu 14.04 I think it will be acceptable. We can always adjust if there is a real need from the community for support of earlier versions.

The required steps to complete this would be:

  • provision ubuntu 14.04 machine at osuosl
  • build on ubuntu 14.04
  • validate binary runs on rhel7.1
  • Update ansible files to install additional required modules
  • move test machines over to ubuntu 14.04 for BE and add to jenkins
  • provision ubuntu 14.04 BE release machine + add to jenkins
  • validate tests run/pass as they are on fedora
  • add release jobs/scripts etc
  • add to subsequent releases
  • update download page to point to releases in download directory and update wording on download page
@mhdawson
Copy link
Member Author

mhdawson commented Apr 1, 2016

Created an ubuntu 14.04 machine quite a while ago but 64 bit compiles were failing. Took a while to get back to looking at it but the problem seems to have been:

  • 32 bit is still the default for 14.04 for PPC (different from other platforms)
  • even compiling hello world failed
  • you need g++-multilib to get the 64 bit components (for x86 this would give you the 32 bit components instead)

After adding g++-multilib I have successfully build/run the tests and they all passed.

@mhdawson
Copy link
Member Author

mhdawson commented Apr 1, 2016

I just ran citgm-all on one of our PPC BE RHEL 7.0 machines. Nothing unexpected so seems like its reasonable to build on ubuntu 14.04 and get RHEL support as well.

@mhdawson
Copy link
Member Author

mhdawson commented Apr 7, 2016

PR here for required core ansible updates: #382

@mhdawson
Copy link
Member Author

mhdawson commented Apr 7, 2016

Hooked up one ubu 14 be test machine and validated builds/tests ok under CI:

https://ci.nodejs.org/job/node-test-commit-plinux-mdawson/

Looks ok so next step is to switch over the existing be test machines from fedora to ubuntu

@mhdawson
Copy link
Member Author

building new test and release machine now

@mhdawson
Copy link
Member Author

second test machine moved over (test-osuosl-ubuntu14-ppc64_be-2), build to validate all is ok: https://ci.nodejs.org/job/node-test-commit-plinux/2022/nodes=ppcbe-ubuntu1404/

@mhdawson
Copy link
Member Author

Noticed I had not move all the config over from my earlier test job to force 64 bit on be, added that and new runs to validate:
https://ci.nodejs.org/job/node-test-commit-plinux/2023/
https://ci.nodejs.org/job/node-test-commit-plinux/2024/

@mhdawson
Copy link
Member Author

I've added a release machine https://ci-release.nodejs.org/computer/release-osuosl-ubuntu14-ppc64_be-1/ but left it offline for final clean/config by @jbergstroem since I don't have access to keys for release machines

@mhdawson
Copy link
Member Author

@rvagg, @thealphanerd volunteered to do the next steps:

  • add release jobs/scripts etc
  • add to subsequent releases

Since he does have access to the release machines(which I'm assuming is necessary, at least for testing things out). If that is something he can do could you confirm its ok for him to go ahead and point him at the PR for when le was added as I assume it will be a good template for adding be.

@MylesBorins
Copy link
Contributor

@mhdawson can you please assign this issue to me to follow up on

@mhdawson
Copy link
Member Author

@thealphanerd I tried assigning it to you but was not able for some reason

@mhdawson mhdawson assigned Trott and mhdawson and unassigned Trott and mhdawson Apr 12, 2016
@MylesBorins
Copy link
Contributor

perhaps it is because I have not submitted a commit on this repo...

@mhdawson mhdawson self-assigned this Apr 12, 2016
@jbergstroem
Copy link
Member

Ok, I've:

  • made sure we have hte right keyset for access
  • downloaded icu to /home/iojs/node-icu
  • added key pair so it can access [and upload] to node-www
  • Edit: enabled the slave through jenkins.

@mhdawson
Copy link
Member Author

@jbergstroem thanks, marked the step for setting up the release machine as complete.

@mhdawson mhdawson added the build label Apr 22, 2016
@MylesBorins
Copy link
Contributor

MylesBorins commented Apr 22, 2016

Just clarifying the next steps that will likely need to be done

  • Create temporary fork of release job
  • enable ppcbe-ubuntu1404-release-64
  • create successful build
  • run tests to ensure that build works (with help from @mhdawson)
  • enable ppcbe-ubuntu1404-release-64 in production release job
  • in first release that uses updated production release job run tests to ensure that build works (with help from @mhdawson)
  • Update website to support new build

@rvagg does that sounds reasonable?
@jbergstroem any complaints to me cloning the build job? I'd run the build exclusively as "test" and like only enable the single platform we are targeting

@mhdawson
Copy link
Member Author

mhdawson commented May 4, 2016

Myles had create a test release job but there were issues in that it looks like it was running out of memory. I investigated and with @jbergstroem figured out the issue was the concurrency setting (see #385). Binary was successfully built/published here: https://nodejs.org/download/nightly/v5.11.1-nightly2016050299920480ae/

Next step is to validate the binaries look ok.

@mhdawson
Copy link
Member Author

mhdawson commented May 5, 2016

Ran the core tests and citgm on the binaries.

  1. CITGM and only modules marked flaky or the known eslint ppc test issue due to the phantomjs dependency in the eslint test had issues
  2. The core tests passed except with a small number which fail in the same way on the corresponding x86 build. I believe they are related to either running dev tests on release binary or being a 5.x nightly.
  3. Install and test of the heapdump modules (which requires compilation as it is a native addon) was successful.

So the net is that the binary looks good.

@mhdawson
Copy link
Member Author

mhdawson commented May 5, 2016

So I believe next step is to enable in the release job, see the nighties be generated and then included in next release. Hoping we can do that as soon as current security releases go out.

@mhdawson
Copy link
Member Author

mhdawson commented May 6, 2016

Looks like the security releases went out @rvagg @jbergstroem any objections to adding ppc be to the release job so we start to get regular nightlies ?

@jbergstroem
Copy link
Member

I'm ok with it.

@rvagg
Copy link
Member

rvagg commented May 9, 2016

ubuntu 14.04 makes me ok so +1

@jbergstroem
Copy link
Member

We've retired the fedora20 release slave. it remains to be deleted from our test environment though.

@mhdawson
Copy link
Member Author

mhdawson commented May 9, 2016

Ok, added to regular release job, we'll track how it goes over the next few days

@mhdawson
Copy link
Member Author

Nightlies for 7 and 5 built ok last night, did a simple sanity check and they look ok.

@jbergstroem
Copy link
Member

Great! perhaps ping the website team to update links for upcoming releases?

@rvagg
Copy link
Member

rvagg commented May 11, 2016

fine by me

@mhdawson
Copy link
Member Author

@thealphanerd had volunteered to put together the PR for the website, expect it soon

@mhdawson
Copy link
Member Author

mhdawson commented Jun 7, 2016

Ok this is done, closing

@mhdawson mhdawson closed this as completed Jun 7, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants