Update Jenkins executors to Ubuntu 18.04

- Upgrade global jjb to v0.57.4
- Upgrade packer to v0.7.0
- Use the Ansible approach to install most required services

Change-Id: I1a56db63e14d847971131eef96828004c6ae4478
diff --git a/packer/templates/basebuild_1804.json b/packer/templates/basebuild_1804.json
new file mode 100644
index 0000000..668b282
--- /dev/null
+++ b/packer/templates/basebuild_1804.json
@@ -0,0 +1,88 @@
+{
+    "variables": {
+        "ansible_roles_path": ".galaxy",
+        "aws_access_key": null,
+        "aws_security_key": null,
+        "arch": "x86_64",
+        "cloud_user_data": null,
+        "distro": null,
+        "instance_type": "t2.medium",
+        "security_group_id": null,
+        "source_ami_filter_name": null,
+        "source_ami_filter_owner": null,
+        "source_ami_filter_product_code": "",
+        "subnet_id": null,
+        "ssh_user": null
+    },
+    "builders": [
+        {
+            "name": "aws",
+            "access_key": "{{user `aws_access_key`}}",
+            "ami_name": "{{user `distro`}} - basebuild - {{user `arch`}} - {{isotime \"20060102-1504\"}}",
+            "instance_type": "{{user `instance_type`}}",
+            "region": "us-west-2",
+            "secret_key": "{{user `aws_security_key`}}",
+            "security_group_id": "{{user `security_group_id`}}",
+            "source_ami_filter": {
+                "filters": {
+                    "name": "{{user `source_ami_filter_name`}}",
+                    "product-code": "{{user `source_ami_filter_product_code`}}",
+                    "architecture": "{{user `arch`}}",
+                    "root-device-type": "ebs",
+                    "virtualization-type": "hvm"
+                },
+                "most_recent": true,
+                "owners": ["{{user `source_ami_filter_owner`}}"]
+            },
+            "ssh_username": "{{user `ssh_user`}}",
+            "subnet_id": "{{user `subnet_id`}}",
+            "type": "amazon-ebs",
+            "user_data_file": "{{user `cloud_user_data`}}"
+        }
+    ],
+    "provisioners": [
+      {
+          "type": "shell-local",
+          "command": "./common-packer/ansible-galaxy.sh {{user `ansible_roles_path`}}"
+      },
+      {
+          "type": "ansible",
+          "user": "{{user `ssh_user`}}",
+          "playbook_file": "provision/local-builder.yaml",
+          "ansible_env_vars": [
+              "ANSIBLE_NOCOWS=1",
+              "ANSIBLE_PIPELINING=False",
+              "ANSIBLE_HOST_KEY_CHECKING=False",
+              "ANSIBLE_ROLES_PATH={{user `ansible_roles_path`}}",
+              "ANSIBLE_CALLBACK_WHITELIST=profile_tasks",
+              "ANSIBLE_STDOUT_CALLBACK=debug"
+          ]
+      },
+      {
+          "type": "ansible",
+          "user": "{{user `ssh_user`}}",
+          "playbook_file": "./common-packer/provision/local-docker.yaml",
+          "ansible_env_vars": [
+              "ANSIBLE_NOCOWS=1",
+              "ANSIBLE_PIPELINING=False",
+              "ANSIBLE_HOST_KEY_CHECKING=False",
+              "ANSIBLE_ROLES_PATH={{user `ansible_roles_path`}}",
+              "ANSIBLE_CALLBACK_WHITELIST=profile_tasks",
+              "ANSIBLE_STDOUT_CALLBACK=debug"
+          ]
+      },
+      {
+          "type": "ansible",
+          "user": "{{user `ssh_user`}}",
+          "playbook_file": "provision/onf-playbook.yaml",
+          "ansible_env_vars": [
+              "ANSIBLE_NOCOWS=1",
+              "ANSIBLE_PIPELINING=False",
+              "ANSIBLE_HOST_KEY_CHECKING=False",
+              "ANSIBLE_ROLES_PATH={{user `ansible_roles_path`}}",
+              "ANSIBLE_CALLBACK_WHITELIST=profile_tasks",
+              "ANSIBLE_STDOUT_CALLBACK=debug"
+          ]
+      }
+  ]
+}