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

GCC version on debian7-arm hosts #770

Closed
seishun opened this issue Jun 26, 2017 · 9 comments
Closed

GCC version on debian7-arm hosts #770

seishun opened this issue Jun 26, 2017 · 9 comments

Comments

@seishun
Copy link
Contributor

seishun commented Jun 26, 2017

I've been looking at Ansible scripts in this repo and I don't quite understand how debian7 boxes are configured.

Here it adds wheezy-backports. Here it installs gcc-4.8. However, there is no gcc-4.8 package in wheezy-backports.

Am I missing something? I asked in IRC and @joaocgreis suggested creating an issue and pinging @jbergstroem, so here I am.

@joaocgreis
Copy link
Member

@seishun I'm not very familiar with the Linux hosts on CI, but I can do some guesswork from what I see. Let's hope I can help more than harm.

From your description, I'd say that you're right and either the Ansible script is broken because it was never even run, or it worked some time in the past (does wheezy-backports remove packages?).

@jbergstroem made a big effort to refactor and move the scripts from setup/ to ansible/, but there are still platforms that were never tested, and it looks like you found one of them. This is probably because all the Raspberry Pis were deployed before, or the scripts have not been refactored yet.

Looking at the old setup/ folder, I see 3 candidates:

  • armv7-wheezy: this is for some armv7 machines we had that were not Raspberry Pis. I believe @rvagg recently moved them to Scaleway, so the ssh config section is outdated.
  • debian-wheezy-gcc: looking at the files inside, this is only Docker.
  • raspberry-pi: now this folder has many debian7-arm so this is probably the one that works (or worked at some point).

The README inside raspberry-pi mentions that the debian7 machines use raspbian-2015-05-07. I found this about a slightly older version on SO: https://raspberrypi.stackexchange.com/a/27968 . So, gcc-4.8 is already there and does not need the backports repo.

So, that makes sense for how the current debian7 machines were deployed. I don't know why the ansible/ folder has that backports repo, but I'd guess it was copied from somewhere else and never tested or meant just as a placeholder for something better later. I also don't know why we support the Raspberry Pi 1 if there is no maintained OS for it.

@seishun if you want to work on #762, it looks like there is some urgency to it, just changing the old scripts in setup/ should do, and we can run those. This would not be an option if you were adding a completely new platform or the ansible/ scripts already worked well for it. If you want to get more involved, refactoring setup/raspberry-pi/ to ansible/ would be great and very welcome (but no small job).

@seishun
Copy link
Contributor Author

seishun commented Jul 1, 2017

Thanks, that makes sense.

It seems Ubuntu 14.04 is another platform where the ansible/ scripts haven't been tested, since it tries to use systemd instead of upstart (and fails). Do you know how Ubuntu 14.04 machines are being deployed now? setup/ubuntu14.04?

It would be great to have a list of platforms along with their currently used method of deployment.

If you want to get more involved, refactoring setup/raspberry-pi/ to ansible/ would be great and very welcome (but no small job).

I think this requires detailed knowledge about how it should work, which I don't have (yet). I'd rather entrust this to someone with more experience.

@joaocgreis
Copy link
Member

I have already fixed Ubuntu 14.04: #735 . The only thing left needed for that PR to land is one final test with the changes that were made during review. @seishun if you run it and it works well, let me know and I'll land it.

To answer your question: I used that PR to deploy the machine that is building node-chakracore nightlies. So, since it was not used before, all machines currently in CI have been deployed with setup/ubuntu14.04.

@seishun
Copy link
Contributor Author

seishun commented Jul 5, 2017

@joaocgreis I see. I assume once that PR lands, all further deployments to Ubuntu 14.04 will be done using the scripts under ansible, so changes relevant to #762 should be done there rather than in setup/ubuntu14.04, correct?

@joaocgreis
Copy link
Member

@seishun that is correct.

@seishun
Copy link
Contributor Author

seishun commented Jul 16, 2017

@joaocgreis I got it working on Ubuntu 14.04 (see #797), now I'm looking into Centos 6. It looks like the ansible/ scripts haven't been tested on Centos 6 because I get the following error:

TASK [baselayout : disable sftp] *******************************************************************************************************
fatal: [test-softlayer-centos6-x64-1]: FAILED! => {"changed": false, "failed": true, "msg": "Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!"}

If I install libselinux-python manually, then the following happens:

TASK [baselayout : repo : add scl devtoolset] ******************************************************************************************
fatal: [test-softlayer-centos6-x64-1]: FAILED! => {"changed": false, "failed": true, "msg": "missing required arguments: name"}

Judging by the comments in the file, it seems ansible/roles/baselayout/tasks/partials/repo/centos6.yml is unfinished.

How would you suggest to proceed with the Centos 6 changes? I don't feel qualified to finish the refactoring.

@jbergstroem
Copy link
Member

@seishun i think the centos 6 fail is a result of a recent change in ansible. Lets create another issue for that.

@seishun
Copy link
Contributor Author

seishun commented Jul 18, 2017

@jbergstroem Alright, created an issue: #801.

@rvagg
Copy link
Member

rvagg commented Apr 2, 2018

I think this is solved now via #1199 and #1204

@rvagg rvagg closed this as completed Apr 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants