Initial JJB configuration

Push the initial basic JJB configuration

Change-Id: I9590b20a31d94c4dbadb20781fb15b685538deed
Signed-off-by: Linux Foundation Administrators <collab-it+onlab@linuxfoundation.org>
diff --git a/.coafile b/.coafile
new file mode 100644
index 0000000..3f6f8f4
--- /dev/null
+++ b/.coafile
@@ -0,0 +1,33 @@
+[GitCommit]
+bears = GitCommitBear
+ignore_length_regex = Signed-off-by,
+    Also-by,
+    Co-authored-by,
+    http://,
+    https://
+
+[JSON]
+bears = JSONFormatBear
+files = **/*.json
+ignore = .*/**
+indent_size = 2
+
+[YAML]
+bears = YAMLLintBear
+files = jjb/**/*.yaml
+document_start = True
+yamllint_config = yamllint.conf
+
+[ShellCheck]
+bears = ShellCheckBear,SpaceConsistencyBear
+files = jenkins-scripts/**/*.sh,
+    jjb/**/*.sh,
+    scripts/**/*.sh
+ignore = jenkins-scripts/*-local-env.sh,
+    jjb/global-jjb/shell/*.sh,
+    jjb/include-docker-push.sh,
+    jjb/include-update-pom-versions.sh,
+    jjb/testsuite/testsuite-docker.sh,
+shell = bash
+indent_size = 4
+use_spaces = yeah
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..5eb4e67
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,25 @@
+root = true
+
+[*]
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+indent_style = space
+
+[*.json]
+indent_size = 2
+
+[*.rst]
+indent_size = 4
+
+[*.markdown]
+indent_size = 4
+max_line_length = 80
+
+[*.sh]
+indent_size = 4
+max_line_length = 80
+
+[*.yaml]
+indent_size = 4
+
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..bffd428
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "jjb/global-jjb"]
+	path = jjb/global-jjb
+	url = https://github.com/lfit/releng-global-jjb.git
diff --git a/jenkins.ini.example b/jenkins.ini.example
new file mode 100644
index 0000000..959f06b
--- /dev/null
+++ b/jenkins.ini.example
@@ -0,0 +1,13 @@
+[job_builder]
+ignore_cache=True
+keep_descriptions=False
+include_path=.:scripts:~/git/
+recursive=True
+
+[jenkins]
+query_plugins_info=False
+#user=jenkins
+#password=1234567890abcdef1234567890abcdef
+url=http://localhost:8080
+##### This is deprecated, use job_builder section instead
+#ignore_cache=True
diff --git a/jjb/ci-management/ci-management.yaml b/jjb/ci-management/ci-management.yaml
new file mode 100644
index 0000000..cc187c2
--- /dev/null
+++ b/jjb/ci-management/ci-management.yaml
@@ -0,0 +1,15 @@
+---
+- project:
+    archive-artifacts: '**/*.log'
+    branch: 'master'
+    build-timeout: '60'
+    build-node: 'centos7-basebuild-1c-1g'
+
+    jobs:
+      - '{project-name}-ci-jobs'
+
+    name: ci-management-jobs
+    project: 'ci-management'
+    project-name: 'ci-management'
+
+    jjb-version: 2.0.0
diff --git a/jjb/defaults.yaml b/jjb/defaults.yaml
new file mode 100644
index 0000000..90de0f0
--- /dev/null
+++ b/jjb/defaults.yaml
@@ -0,0 +1,41 @@
+---
+# GLOBAL jenkins defaults
+
+- defaults:
+    name: global
+
+    # lftools
+    lftools-version: <1.0.0
+
+    # lf-infra-defaults
+    jenkins-ssh-credential: 'cord-jenkins-ssh'
+
+    # build discards
+    build-days-to-keep: 30
+
+    # Timeout in minutes
+    # TODO deprecate this (should be project template specific)
+    build-timeout: 360
+    # TODO this should be the most common executor
+    build-node: centos7-basebuild-1c-1g
+
+    # default gerrit server definition
+    gerrit-server-name: 'CORD Gerrit'
+
+    archive-artifacts: ''
+
+    # Set default maven version used for everything
+    mvn-version: 'mvn33'
+
+    # Default maven goals
+    mvn-goals: 'clean install'
+    mvn-opts: ''
+
+    # Maven / Java
+    cord-infra-mvn-opts: |
+        --show-version
+        --batch-mode
+        -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+        -Djenkins
+        -Dmaven.repo.local=/tmp/r
+        -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
diff --git a/jjb/global-jjb b/jjb/global-jjb
new file mode 160000
index 0000000..779110b
--- /dev/null
+++ b/jjb/global-jjb
@@ -0,0 +1 @@
+Subproject commit 779110b5cd63f3eabb63598a1be79d9b9ba85464
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..dbeedd8
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,21 @@
+[tox]
+minversion = 1.6
+envlist = coala,docs,pep8
+skipsdist = true
+
+[testenv:coala]
+basepython = python3
+deps =
+    coala
+    coala-bears
+commands =
+    python3 -m nltk.downloader punkt maxent_treebank_pos_tagger averaged_perceptron_tagger
+    coala --non-interactive
+
+# [testenv:docs]
+# deps = sphinx
+# commands = sphinx-build -b html -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
+
+[testenv:pep8]
+deps = flake8
+commands = flake8 scripts/
diff --git a/yamllint.conf b/yamllint.conf
new file mode 100644
index 0000000..32d76ab
--- /dev/null
+++ b/yamllint.conf
@@ -0,0 +1,8 @@
+extends: default
+
+rules:
+  empty-lines:
+    max-end: 1
+  line-length:
+    max: 120
+