Closed Bug 1042950 Opened 5 years ago Closed 5 years ago

Install libzmq on Flame Jenkins slaves

Categories

(Firefox OS Graveyard :: Infrastructure, defect)

defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jgriffin, Unassigned)

References

Details

It looks like we're about ready to stand up trial runs of MarionetteJS tests on Flames.  However, the Jenkins nodes that they will be run on need an additional library, libzmq.

For Ubuntu, this can be done via:

$ sudo apt-get install libzmq3-dev

Can we have this done on one or more nodes that we can begin running these tests on?
If you want to add it as an automated setup step, a more cross platform way to do it would be to download the source and compile it. See this patch for an example of how to do that:
https://bug1042183.bugzilla.mozilla.org/attachment.cgi?id=8460362

The other benefit of this is we can use the latest version of libzmq.

You can use the command 'pkg-config libzmq --exists' to test whether or not it is already installed on a given system.
It might also be worth investigating if we can use something like the Custom Tools plugin (https://wiki.jenkins-ci.org/display/JENKINS/Custom+Tools+Plugin) to automate the installation of this tool on slaves.
Eventually we want the slaves to be puppetized, so we can easily add new libs...but that's beyond the scope of this bug.
Dylan, mind taking this?
Flags: needinfo?(dwong)
Yeah sure. I'll install it on 16 and 17 and someone can add an appropriate label to them to run the tests on? if more nodes are needed let me know.
Flags: needinfo?(dwong)
(In reply to Dylan Chun Wong [:dwong] from comment #5)
> Yeah sure. I'll install it on 16 and 17 and someone can add an appropriate
> label to them to run the tests on? if more nodes are needed let me know.

Sounds good to me; "js_harness" or something similar might be an appropriate, easy-to-grok label?
(In reply to Stephen Donner [:stephend] from comment #6)
> (In reply to Dylan Chun Wong [:dwong] from comment #5)
> > Yeah sure. I'll install it on 16 and 17 and someone can add an appropriate
> > label to them to run the tests on? if more nodes are needed let me know.
> 
> Sounds good to me; "js_harness" or something similar might be an
> appropriate, easy-to-grok label?

Are we planning on having nodes dedicated to the JavaScript tests?  If so, I would simply use 'javascript' as the label, however is there a reason we can't install the dependencies on all the nodes and allow these tests to run on any node marked as UI?
I was thinking the best way to do it would be to have a jenkins setup step install the library.. that way you could run it on any node, if libzmq isn't detected, the job itself would install the library. The link in comment 1 provides a rough outline of how to do that.
(In reply to Andrew Halberstadt [:ahal] from comment #8)
> I was thinking the best way to do it would be to have a jenkins setup step
> install the library.. that way you could run it on any node, if libzmq isn't
> detected, the job itself would install the library. The link in comment 1
> provides a rough outline of how to do that.

Rather than do it in a Jenkins build step, the plugin mentioned in comment 2 would centralise the commands to install the library, and allow jobs to indicate they require the library in their environment. It's worth investigating, but I would agree that having a step to install the library and running the tests on any of our slaves would be better than restricting them to specific slaves/devices.
(In reply to Dave Hunt (:davehunt) from comment #9)
> Rather than do it in a Jenkins build step, the plugin mentioned in comment 2
> would centralise the commands to install the library, and allow jobs to
> indicate they require the library in their environment.

Oh, I didn't really understand what that was.. that seems like it would be even better!
Yesterday I installed the package on the aforementioned nodes, but I will investigate the plugin more.
This is a use case for puppetizing the Jenkins slaves...bug 1033496.
Hi, I realized I should have installed them on another node, as 16,17 are running perf tests. So I will install the necessary library on nodes 23 and 24, though we currently lack network connectivity at MTV.
(In reply to Dylan Chun Wong [:dwong] from comment #13)
> Hi, I realized I should have installed them on another node, as 16,17 are
> running perf tests. So I will install the necessary library on nodes 23 and
> 24, though we currently lack network connectivity at MTV.

Hey Dylan - can you pick this back up, and/or have someone help you?  Thanks!
Flags: needinfo?(dwong)
Oh, apologies for not updating the bug earlier. We have the libraries installed and the discussion has moved to Bug 1046264.
Flags: needinfo?(dwong)
See Also: → 1042183
Component: WebQA → Infrastructure
Product: Testing → Firefox OS
Resolved according to comment 15. Please reopen if there's more work to be done here.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.