Project

General

Profile

Actions

Task #4756

closed

Deploy Ubuntu 18.10 Jenkins agents

Added by Davide Pesavento over 5 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Category:
Build
Target version:
Start date:
10/18/2018
Due date:
% Done:

100%

Estimated time:

Description

Ubuntu 18.10 will be released on October 18, 2018. 64-bit Ubuntu 18.10 agents should be set up soon after this date.

Actions #1

Updated by Md Ashiqur Rahman over 5 years ago

I believe I should wait till the official vagrant box for this version gets released?

Actions #2

Updated by Alex Afanasyev over 5 years ago

No. We no longer use official boxes (specifically, Ubuntu ones), as they are not really designed to be used (honestly, I have no clue why they exist, as they are not usable). Eric created custom boxes, I think he left instructions on how to do it or just email him.

Actions #3

Updated by Junxiao Shi over 5 years ago

Eric created custom boxes, I think he left instructions on how to do it or just email him.

Eric uses boxcutter. His scripts are at https://github.com/eric135/ndn-jenkins-ubuntu. Boxcutter no longer offers built images so Eric has to build his own.

I would suggest bento instead. They publish built images. Bento is the base of yoursunny's NFD devbox and it works well.

Actions #4

Updated by Eric Newberry over 5 years ago

Hi everyone. I figured I'd offer my input on this:

There were multiple reasons why I created custom boxes. For one, I couldn't find any good 17.10 boxes at the time, given the recency of that release. Second, when running the integration testing suite on Vagrant, a good chunk of time was spent installing Ubuntu dependency packages. Therefore, I created boxes with the dependency packages pre-installed to speed up the integration testing environment, as well as the deployment of new Jenkins agents.

I based my boxes on boxcutter because we had had good luck with their boxes in the past. Additionally, they provided straightforward instructions on how to build their boxes, as well as user-friendly ways to modify the box configuration scripts. I've never really taken a look at bento, but they may provide the same.

Does bento provide any benefit over boxcutter when creating custom boxes? Particularly enough to justify the effort needed to switch the custom boxes away from boxcutter.

Actions #5

Updated by Junxiao Shi over 5 years ago

Does bento provide any benefit over boxcutter when creating custom boxes?

bento publishes pre-built boxes. There's no need to build a custom box.

Actions #6

Updated by Junxiao Shi over 5 years ago

I created boxes with the dependency packages pre-installed to speed up the integration testing environment

This can cause integ to run with older dependencies, which is undesirable. This is also inapplicable to Jenkins, where boxes are persistent.

Actions #7

Updated by Davide Pesavento over 5 years ago

Junxiao Shi wrote:

This can cause integ to run with older dependencies, which is undesirable.

Disagree. That's really not an issue. Ubuntu doesn't release any major upgrade of any packages (that we care about) during the life cycle of one distro version, they only publish bug and security fixes, which make virtually zero difference for us. Speeding up integration test runs is more important that running the absolute latest version.

On the other hand, I agree that the argument of reusing the same custom box for jenkins and the integration tests doesn't apply in this case, because it seems that we've usually run integ on LTS releases, and 18.10 is not an LTS release.

Actions #8

Updated by Eric Newberry over 5 years ago

Junxiao Shi wrote:

I created boxes with the dependency packages pre-installed to speed up the integration testing environment

This can cause integ to run with older dependencies, which is undesirable. This is also inapplicable to Jenkins, where boxes are persistent.

The integ tests script updates all the packages to avoid this. However, if the box is kept up-to-date, the package upgrade delays will be greatly reduced.

Actions #9

Updated by Md Ashiqur Rahman over 5 years ago

Update: the previous box is having issues with DNS resolver. So switched to this: https://app.vagrantup.com/lasp/boxes/ubuntu18.10.

[ Old ] I took the box from https://app.vagrantup.com/generic/boxes/ubuntu1810. It's up and running on maestro. I'll add it to Jenkins by today.

Actions #10

Updated by Davide Pesavento over 5 years ago

  • Status changed from New to In Progress
Actions #11

Updated by Md Ashiqur Rahman over 5 years ago

Added for NFD and ndn-cxx. Running on test job for ndn-tools. Should this be added to all jobs that currently have 18.04 support?

Actions #12

Updated by Md Ashiqur Rahman over 5 years ago

  • % Done changed from 0 to 20
Actions #13

Updated by Davide Pesavento over 5 years ago

Md Ashiqur Rahman wrote:

Should this be added to all jobs that currently have 18.04 support?

Yes, unless there are build failures.

Actions #14

Updated by Md Ashiqur Rahman over 5 years ago

So far, for ndn-cxx and NFD, the builds have passed 18.10

Actions #15

Updated by Md Ashiqur Rahman over 5 years ago

Added to all projects. I've also deployed 2nd agent at UA. 2 more at the FIU site should provide a good redundancy.

Actions #16

Updated by Davide Pesavento over 5 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 20 to 100

Great, thanks! I think we're done here.

Actions #17

Updated by Junxiao Shi over 5 years ago

  • Status changed from Closed to Feedback

I notice that both Ubuntu 18.10 slaves are deployed on the same site. This does not fulfill resiliency requirements and does not prevent downtime due to single site failure. At least one slave needs to be deployed on a different site.

Actions #18

Updated by Davide Pesavento over 5 years ago

  • Status changed from Feedback to Closed

Yes, but they're both on maestro (UA) which is also the Jenkins master, so if that machine or site goes offline for any reason, everything else will go down as well. Deploying at different sites won't help in this case.

Actions

Also available in: Atom PDF