## Parameters stored in defaults.yaml
-Configure the following parameters in the ci-management repo's defaults.yaml
-file.
+Configure the following parameters in the ci-management repo's
+defaults.yaml file.
-**gerrit-server-name**: The name of the Gerrit Server as defined in Gerrit
-Trigger global configuration.
+**gerrit-server-name**: The name of the Gerrit Server as defined
+in Gerrit Trigger global configuration.
-**jenkins-ssh-credential**: The name of the Jenkins Credential to use for ssh
-connections.
+**jenkins-ssh-credential**: The name of the Jenkins Credential to
+use for ssh connections.
-If you are using GitHub then configure the following parameters in defaults.yaml
+If you are using GitHub then configure the following parameters
+in defaults.yaml
**git-url**: Set this to the base URL of your GitHub repo. In
-general this should be <https://github.com>. If you are using GitHub
-Enterprise, or some other GitHub-style system, then it should be
-whatever your installation base URL is.
+general this should be <https://github.com>. If you are using
+GitHub Enterprise, or some other GitHub-style system, then it
+should be whatever your installation base URL is.
-**git-clone-url**: This is the clone prefix used by GitHub jobs. Set this to
-either the same thing as **git-url** or the
+**git-clone-url**: This is the clone prefix used by GitHub jobs.
+Set this to either the same thing as **git-url** or the
'git@github.com:' including the trailing ':'
-**github-org**: The name of the GitHub organization.
+**github-org**: The name of the GitHub organization interpolated
+into the scm config.
+
+**github_pr_org**: The name of the GitHub organization. All members
+of this organization will be able to trigger any job using the
+`lf-infra-github-pr` macro.
+
+**github_pr_whitelist**: List of GitHub members you wish to be able to
+trigger any job that uses the `lf-infra-github-pr-trigger` macro.
+
+**github_pr_admin_list**: List of GitHub members that will have admin
+privileges on any job using the `lf-infra-github-pr-trigger`
+macro.
defaults.yaml:
jenkins-ssh-credential: opendaylight-jenkins-ssh
gerrit-server-name: OpenDaylight
github-org: lfit
+ github_pr_whitelist:
+ - jpwku
+ - tykeal
+ - zxiiro
+ github_pr_admin_list:
+ - tykeal
```
## Config File Management
**branch**: is the git branch to build from.
**jjb-version**: is the version of JJB to install in the build minion.
+## Deploying packer-jobs
+
+The packer job group contains jobs to build custom minion images. The minimal
+configuration needed to deploy the packer jobs is as follows which deploys the
+**{project-name}-packer-jobs** job group as defined in **lf-ci-jobs.yaml**.
+
+ci-management.yaml:
+
+```
+- project:
+ name: packer-jobs
+
+ jobs:
+ - '{project-name}-packer-jobs'
+
+ project: ci-management
+ project-name: ci-management
+ branch: master
+ build-node: centos7-basebuild-2c-1g
+
+ platforms:
+ - centos
+ - ubuntu-14.04
+ - ubuntu-16.04
+
+ templates:
+ - devstack
+ - docker
+ - gbp
+ - java-builder
+ - mininet
+
+ exclude:
+ - platforms: centos
+ templates: gbp
+ - platforms: centos
+ templates: mininet
+```
+
+Required parameters:
+
+**project**: is the project repo as defined in source control.
+**project-name**: is a custom name to call the job in Jenkins.
+**build-node**: is the name of the builder to use when building (Jenkins label).
+**platforms**: is a list of supported platforms.
+**templates**: is a list of supported templates.
+
+Optional parameters:
+
+**branch**: is the git branch to build from.
+**packer-version**: is the version of packer to install in the build minion,
+when packer is not available.
+**exclude**: is a combination of platforms and templates which are not required
+to build.
+
## Deploying Python jobs
We provide the following Python jobs templates: