Custom Buildfarm - Nodes not automatically added

asked 2019-05-10 08:24:58 -0500

StSt_Robotics gravatar image

updated 2019-05-13 04:25:03 -0500

Hello, dear ROS-community.

tl;dr for the post: When conducting the buildfarm_deployment scripts, usually there should be some machines automatically added into jenkins which are labeled with e.g. "agent_on_master" or similar. This does not happen automatically with my implementation and I guess it is because of some configuration error.

In the last couple of weeks, I tried to set up a customized buildfarm for my company, according to the official documentations of the Buildfarm-Deployment https://github.com/ros-infrastructure... and regarding the configurations on https://github.com/ros-infrastructure...

With a lot of time invested and a lot of read forum posts, I decided, that I needed to bring my problem to you guys and figure out, if there is any chance of getting it done at all.

Goal: We want to be able to set up a jenkins server with the possibility of doing CI for our packages, also regarding the fully automated query of new commits to certain packages. We figured, it should be doable with the ROS-Buildfarm and the customizable features, as well as the configurable jobs of the ros_buildfarm_deployment.

Setup: As it is written in the documentations, we created three virtual machines, one for each application (Master, Repository, Agent), which particularily should not be made with LXC-containers (interesting fact: docker does not work properly from inside LXC it seems). The machines have proper resources (like specified), regarding to CPU and memory as well as disk space. They run Ubuntu 16.04.5 LTS, xenial.

Step by Step: I made changes to the different files in the buildfarm-configurations like specified and then put the buildfarm_deployment_config folder on all three machines and ran the setup with installation and reconfiguration. There were no puppet-errors written to the terminal when the ./reconfigure.bash command was finished.

Error and Guesswork : The configurations were made without professional knowledge about the whole topic of puppet, jenkins etc., so what I would guess is, that there is some stupid mistake to be found in those configs which finally leads to my error. The agent and repo machines are not to be found initialized in the Jenkins-UI on the left side in build processor status, or in the node overview, which does lead to problems for continuing the setup with the official ros-buildfarm stuff from https://github.com/ros-infrastructure... (I would have liked to show you an image of the jenkins overview but it does not work without at least 5 Karma, for spam protection reasons I guess...)

Why this leads to me posting here is also quiet easy to understand: as there are lots of different jobs to be created by the ros-buildfarm-deployment later on, they usually only work with the correspondance of the correct machines and creating the right nodes manually does not work so well unfortunately (it lead to an authentification error when trying to activate the node). I would like to have the whole buildfarm_deployment process finished correctly as I move on with figuring out the different jobs (devel-job, pre-release-job, etc.)

At ... (more)

edit retag flag offensive close merge delete

Comments

1

Your post is quite long. I understand you feel you need to provide sufficient information, and I thank you for that, but if possible, please summarise your main questions at the top of your question.

That will provide a "reading guide" if you will for people reading the rest of your question, or, if they'd already know the answer, allow them to skip the rest of your question.

gvdhoorn gravatar image gvdhoorn  ( 2019-05-10 08:42:43 -0500 )edit

I added a tl;dr which I hope makes the subjected question clearer. Thanks for your suggestion.

StSt_Robotics gravatar image StSt_Robotics  ( 2019-05-13 04:25:30 -0500 )edit

When a dependency of a puppet resource fails, that resource is not even attempted. If your agent_on_master is missing, we should figure out which resources failed to configure properly.

There were no puppet-errors written to the terminal when the ./reconfigure.bash command was finished.

Puppet isn't always clear about when it errors. There is a PR to improve the user experience of finding errors in the configuration process https://github.com/ros-infrastructure...

The configure_git_user.groovy script runs to set a git user configuration for Jenkins's git operations. If there are no other (err) lines in your puppet.log then that one must have stopped the agent_on_master from configuring properly. If there are other (err) lines can you please share them as well.

nuclearsandwich gravatar image nuclearsandwich  ( 2019-05-26 10:04:33 -0500 )edit