-1. Create a ticket by sending mail to OPNFV LF Helpdesk first, opnfv-helpdesk@rt.linuxfoundation.org.
-2. Ensure DNS is setup for your public IP addresses: DNS A records and PTR records need to be matching.
-3. Create a local user on server you want to connect to OPNFV Jenkins. (named **jenkins** for example)
-4. Download slave.jar using https://build.opnfv.org/ci/jnlpJars/slave.jar and place it
-to somewhere so jenkins user created in previous step can access.
-5. Create a directory /home/jenkins/opnfv_slave_root.
-6. Contact LF by sending mail to opnfv-helpdesk@rt.linuxfoundation.org as
-getting the server connected requires help from LF.
-7. Provide needed information to LF including the IP of the server, name of the slave, slave root,
-and your Public PGP key in order for LF to pass credentials to you securely.
-Please see the notes section for details regarding how to pass your Public PGP Key.
- Slave IP: x.x.x.x
-
- Slave name: company-build
-
- Slave Root: /home/jenkins/opnfv_slave_root
-
- PGP Key: (attached, or exported to key server)
-8. LF will provide you the key/token you need to use.
-9. Try to see if you can establish connection towards OPNFV Jenkins by using below command.
-
-``java -jar slave.jar -jnlpUrl https://build.opnfv.org/ci/computer/<slave_name>/slave-agent.jnlp -secret <token>``
-
-10. Navigate to OPNFV Jenkins and look for your slave.
-It should have some executors in “Idle” state if the connection is successful.
-11. Once you reach this step, you have the server connection to OPNFV Jenkins completed.
-You can script the command you used above so the connection between slave and Jenkins can be kept open.
+ 1. Create a user named **jenkins** on the machine you want to connect to OPNFV Jenkins and give the user sudo rights.
+ 2. Install needed software on the machine you want to connect to OPNFV Jenkins as slave.
+ - openjdk 7
+ - monit
+ 3. If the slave will be used for running virtual deployments, Functest, and Yardstick, install below software and make jenkins user the member of the groups.
+ - docker
+ - libvirt
+ 4. Create slave root in Jenkins user home directory.
+ ``mkdir -p /home/jenkins/opnfv/slave_root``
+ 5. Clone OPNFV Releng Git repository.
+ ``mkdir -p /home/jenkins/opnfv/repos``
+
+ ``cd /home/jenkins/opnfv/repos``
+
+ ``git clone https://gerrit.opnfv.org/gerrit/p/releng.git``
+ 6. Contact LF by sending mail to `OPNFV LF Helpdesk <opnfv-helpdesk@rt.linuxfoundation.org>`_ and request creation of a slave on OPNFV Jenkins. Include below information in your mail.
+ - Slave root (/home/jenkins/opnfv/slave_root)
+ - Public IP of the slave (You can get the IP by executing ``curl http://icanhazip.com/``)
+ - PGP Key (attached to the mail or exported to a key server)
+ 7. Once you get confirmation from LF stating that your slave is created on OPNFV Jenkins, check if the firewall on LF is open for the server you are trying to connect to Jenkins.
+ ``sudo /home/jenkins/opnfv/repos/releng/utils/jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF> -f``
+
+ - If you receive an error, follow the steps listed on the command output.
+ 8. Run the same script in order to get monit script created. You should see **INFO: Connected** in the console log.
+ ``sudo /home/jenkins/opnfv/repos/releng/utils/jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF> -t``
+
+ - If you receive an error similar to the one shown `on this link <http://hastebin.com/ozadagirax.avrasm>`_, you need to check your firewall and allow outgoing connections for the port.
+ 9. Kill the Java slave.jar process.
+ 10. Edit monit configuration and enable http interface. The file to edit is /etc/monit/monitrc on Ubuntu systems. Uncomment below lines.
+ set httpd port 2812 and
+ use address localhost # only accept connection from localhost
+ allow localhost # allow localhost to connect to the server and
+ 11 Restart monit service.
+ - Without systemd:
+
+ ``sudo service monit restart``
+ - With systemd: you have to enable monit service first and then restart it.
+
+ ``sudo systemctl enable monit``
+
+ ``sudo systemctl restart monit``
+ 12 Check to see if jenkins comes up as managed service in monit.
+ ``sudo monit status``
+ 13 Connect slave to OPNFV Jenkins using monit.
+ ``sudo monit start jenkins``
+ 14 Check slave on OPNFV Jenkins to verify the slave is reported as connected.
+ - The slave on OPNFV Jenkins should have some executors in “Idle” state if the connection is successful.