[AETHER-831] - Setup Jenkins process via Ansible playbook

Change-Id: I6a3ae4d3025b41d851219a9762436988201d4add
diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml
new file mode 100644
index 0000000..6a2f161
--- /dev/null
+++ b/molecule/default/converge.yml
@@ -0,0 +1,12 @@
+---
+# jenkins molecule/default/verify.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Converge
+  hosts: all
+  tasks:
+    - name: "Include jenkins"
+      include_role:
+        name: "jenkins"
diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml
new file mode 100644
index 0000000..09fa8b4
--- /dev/null
+++ b/molecule/default/molecule.yml
@@ -0,0 +1,20 @@
+---
+# jenkins molecule/default/molecule.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+dependency:
+  name: galaxy
+driver:
+  name: docker
+platforms:
+  - name: "ubuntu-18.04-priv"
+    image: "quay.io/paulfantom/molecule-systemd:ubuntu-18.04"
+    privileged: true
+    volumes:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+provisioner:
+  name: ansible
+verifier:
+  name: ansible
diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml
new file mode 100644
index 0000000..207edad
--- /dev/null
+++ b/molecule/default/verify.yml
@@ -0,0 +1,53 @@
+---
+# jenkins molecule/default/verify.yml
+#
+# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Verify
+  hosts: all
+  vars:
+    jenkins_localhost: "127.0.0.1:8080"
+    jenkins_admin_username: "admin"
+    jenkins_admin_password: "changeme"
+    jenkins_job_builder_conf: "/tmp/jenkins.conf"
+  tasks:
+    - name: Check Jenkins instance accessibility
+      uri:
+        url: "http://{{ jenkins_localhost }}/cli/"
+        method: GET
+        return_content: "yes"
+        timeout: 5
+        body_format: raw
+        follow_redirects: "no"
+        status_code: 200,403
+      register: result
+      until: (result.status == 403 or result.status == 200)
+          and (result.content.find("Please wait while") == -1)
+      retries: 60
+      delay: 5
+    - name: Install pip
+      apt:
+        name: python3-pip
+    - name: Install jenkins job builder
+      pip:
+        name: jenkins-job-builder
+    - name: Create file with Jenkins conf for JJB
+      copy:
+        dest: "{{ jenkins_job_builder_conf }}"
+        mode: 0400
+        content: |
+          [jenkins]
+          user={{ jenkins_admin_username }}
+          password={{ jenkins_admin_password }}
+          url=http://localhost:8080
+
+    - name: List jobs via JJB tools
+      command: "jenkins-jobs --conf {{ jenkins_job_builder_conf }} list"
+      register: plugins_contents
+      changed_when: false
+
+    - name: Assert we are able to access Jenkins with admin username and password.
+      assert:
+        that:
+          - "'INFO:root:Matching jobs: 0' in  plugins_contents.stderr"