Merge branch 'master' into patch-1
This commit is contained in:
commit
6204d7dc3f
13 changed files with 150 additions and 9 deletions
67
.ci/jobs/defaults.yml
Normal file
67
.ci/jobs/defaults.yml
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
##### GLOBAL METADATA
|
||||||
|
|
||||||
|
- meta:
|
||||||
|
cluster: devops-ci
|
||||||
|
|
||||||
|
##### JOB DEFAULTS
|
||||||
|
|
||||||
|
- job:
|
||||||
|
project-type: matrix
|
||||||
|
logrotate:
|
||||||
|
daysToKeep: 30
|
||||||
|
numToKeep: 100
|
||||||
|
parameters:
|
||||||
|
- string:
|
||||||
|
name: branch_specifier
|
||||||
|
default: master
|
||||||
|
description: the Git branch specifier to build (<branchName>, <tagName>,
|
||||||
|
<commitId>, etc.)
|
||||||
|
properties:
|
||||||
|
- github:
|
||||||
|
url: https://github.com/elastic/ansible-elasticsearch/
|
||||||
|
- inject:
|
||||||
|
properties-content: HOME=$JENKINS_HOME
|
||||||
|
concurrent: true
|
||||||
|
node: master
|
||||||
|
scm:
|
||||||
|
- git:
|
||||||
|
name: origin
|
||||||
|
credentials-id: f6c7695a-671e-4f4f-a331-acdce44ff9ba
|
||||||
|
reference-repo: /var/lib/jenkins/.git-references/ansible-elasticsearch.git
|
||||||
|
branches:
|
||||||
|
- ${branch_specifier}
|
||||||
|
url: git@github.com:elastic/ansible-elasticsearch.git
|
||||||
|
basedir: elasticsearch
|
||||||
|
wipe-workspace: 'False'
|
||||||
|
axes:
|
||||||
|
- axis:
|
||||||
|
type: slave
|
||||||
|
name: label
|
||||||
|
values:
|
||||||
|
- linux
|
||||||
|
- axis:
|
||||||
|
name: VERSION
|
||||||
|
filename: elasticsearch/test/matrix.yml
|
||||||
|
type: yaml
|
||||||
|
- axis:
|
||||||
|
name: OS
|
||||||
|
filename: elasticsearch/test/matrix.yml
|
||||||
|
type: yaml
|
||||||
|
- axis:
|
||||||
|
name: TEST_TYPE
|
||||||
|
filename: elasticsearch/test/matrix.yml
|
||||||
|
type: yaml
|
||||||
|
vault:
|
||||||
|
role_id: cff5d4e0-61bf-2497-645f-fcf019d10c13
|
||||||
|
wrappers:
|
||||||
|
- ansicolor
|
||||||
|
- timeout:
|
||||||
|
type: absolute
|
||||||
|
timeout: 360
|
||||||
|
fail: true
|
||||||
|
- timestamps
|
||||||
|
publishers:
|
||||||
|
- email:
|
||||||
|
recipients: infra-root+build@elastic.co
|
||||||
26
.ci/jobs/elastic+ansible-elasticsearch+master.yml
Normal file
26
.ci/jobs/elastic+ansible-elasticsearch+master.yml
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
- job:
|
||||||
|
name: elastic+ansible-elasticsearch+master
|
||||||
|
display-name: elastic / ansible-elasticsearch - master
|
||||||
|
description: Master branch testing with test kitchen
|
||||||
|
triggers:
|
||||||
|
- timed: H H(02-04) * * *
|
||||||
|
builders:
|
||||||
|
- shell: |-
|
||||||
|
#!/usr/local/bin/runbld
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
export RBENV_VERSION='2.3.0'
|
||||||
|
export PATH="$HOME/.rbenv/bin:$PATH"
|
||||||
|
eval "$(rbenv init -)"
|
||||||
|
rbenv local $RBENV_VERSION
|
||||||
|
|
||||||
|
export ES_XPACK_LICENSE_FILE="$(pwd)/license.json"
|
||||||
|
echo "Getting xpack_license from secrets service"
|
||||||
|
set +x
|
||||||
|
VAULT_TOKEN=$( curl -s -X POST -H "Content-Type: application/json" -L -d "{\"role_id\":\"$VAULT_ROLE_ID\",\"secret_id\":\"$VAULT_SECRET_ID\"}" $VAULT_ADDR/v1/auth/approle/login | jq -r '.auth.client_token' )
|
||||||
|
curl -s -L -H "X-Vault-Token:$VAULT_TOKEN" $VAULT_ADDR/v1/secret/devops-ci/ansible-elasticsearch/xpack_license | jq -r '.data.value' > ${ES_XPACK_LICENSE_FILE}
|
||||||
|
set -x
|
||||||
|
echo "Finished getting xpack_license from secrets service"
|
||||||
|
make setup
|
||||||
|
make verify VERSION=$VERSION PATTERN=$TEST_TYPE-$OS
|
||||||
39
.ci/jobs/elastic+ansible-elasticsearch+pull-request.yml
Normal file
39
.ci/jobs/elastic+ansible-elasticsearch+pull-request.yml
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
---
|
||||||
|
- job:
|
||||||
|
name: elastic+ansible-elasticsearch+pull-request
|
||||||
|
display-name: elastic / ansible-elasticsearch - pull-request
|
||||||
|
description: Pull request testing with test kitchen
|
||||||
|
project-type: matrix
|
||||||
|
parameters: []
|
||||||
|
scm:
|
||||||
|
- git:
|
||||||
|
branches:
|
||||||
|
- $ghprbActualCommit
|
||||||
|
refspec: +refs/pull/*:refs/remotes/origin/pr/*
|
||||||
|
triggers:
|
||||||
|
- github-pull-request:
|
||||||
|
github-hooks: true
|
||||||
|
org-list:
|
||||||
|
- elastic
|
||||||
|
allow-whitelist-orgs-as-admins: true
|
||||||
|
cancel-builds-on-update: true
|
||||||
|
status-context: devops-ci
|
||||||
|
builders:
|
||||||
|
- shell: |-
|
||||||
|
#!/usr/local/bin/runbld
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
export RBENV_VERSION='2.3.0'
|
||||||
|
export PATH="$HOME/.rbenv/bin:$PATH"
|
||||||
|
eval "$(rbenv init -)"
|
||||||
|
rbenv local $RBENV_VERSION
|
||||||
|
|
||||||
|
export ES_XPACK_LICENSE_FILE="$(pwd)/license.json"
|
||||||
|
echo "Getting xpack_license from secrets service"
|
||||||
|
set +x
|
||||||
|
VAULT_TOKEN=$( curl -s -X POST -H "Content-Type: application/json" -L -d "{\"role_id\":\"$VAULT_ROLE_ID\",\"secret_id\":\"$VAULT_SECRET_ID\"}" $VAULT_ADDR/v1/auth/approle/login | jq -r '.auth.client_token' )
|
||||||
|
curl -s -L -H "X-Vault-Token:$VAULT_TOKEN" $VAULT_ADDR/v1/secret/devops-ci/ansible-elasticsearch/xpack_license | jq -r '.data.value' > ${ES_XPACK_LICENSE_FILE}
|
||||||
|
set -x
|
||||||
|
echo "Finished getting xpack_license from secrets service"
|
||||||
|
make setup
|
||||||
|
make verify VERSION=$VERSION PATTERN=$TEST_TYPE-$OS
|
||||||
|
|
@ -75,7 +75,8 @@ platforms:
|
||||||
image: debian:8
|
image: debian:8
|
||||||
privileged: true
|
privileged: true
|
||||||
provision_command:
|
provision_command:
|
||||||
- echo "deb http://http.debian.net/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
|
- echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
|
||||||
|
- echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf
|
||||||
- apt-get update && apt-get -y install -t jessie-backports openjdk-8-jre-headless
|
- apt-get update && apt-get -y install -t jessie-backports openjdk-8-jre-headless
|
||||||
- apt-get update && apt-get -y install python python-dev python-pip build-essential libyaml-dev python-yaml curl wget net-tools
|
- apt-get update && apt-get -y install python python-dev python-pip build-essential libyaml-dev python-yaml curl wget net-tools
|
||||||
- sed -ri 's/^#?PermitRootLogin .*/PermitRootLogin yes/' /etc/ssh/sshd_config
|
- sed -ri 's/^#?PermitRootLogin .*/PermitRootLogin yes/' /etc/ssh/sshd_config
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,8 @@ The simplest configuration therefore consists of:
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
roles:
|
roles:
|
||||||
- role: elastic.elasticsearch
|
- role: elastic.elasticsearch
|
||||||
es_instance_name: "node1"
|
vars:
|
||||||
|
es_instance_name: "node1"
|
||||||
```
|
```
|
||||||
|
|
||||||
The above installs a single node 'node1' on the hosts 'localhost'.
|
The above installs a single node 'node1' on the hosts 'localhost'.
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,9 @@ es_package_name: "elasticsearch"
|
||||||
es_version_lock: false
|
es_version_lock: false
|
||||||
es_use_repository: true
|
es_use_repository: true
|
||||||
es_templates_fileglob: "files/templates/*.json"
|
es_templates_fileglob: "files/templates/*.json"
|
||||||
es_apt_key: "https://artifacts.elastic.co/GPG-KEY-elasticsearch"
|
es_repo_base: "https://artifacts.elastic.co"
|
||||||
es_apt_url: "deb https://artifacts.elastic.co/packages/{{ es_repo_name }}/apt stable main"
|
es_apt_key: "{{ es_repo_base }}/GPG-KEY-elasticsearch"
|
||||||
|
es_apt_url: "deb {{ es_repo_base }}/packages/{{ es_repo_name }}/apt stable main"
|
||||||
es_apt_url_old: "deb http://packages.elastic.co/elasticsearch/{{ es_repo_name }}/debian stable main"
|
es_apt_url_old: "deb http://packages.elastic.co/elasticsearch/{{ es_repo_name }}/debian stable main"
|
||||||
es_start_service: true
|
es_start_service: true
|
||||||
es_java_install: true
|
es_java_install: true
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
es_xpack_users_command: "elasticsearch-users"
|
es_xpack_users_command: "elasticsearch-users"
|
||||||
es_other_package_name: "elasticsearch-oss"
|
es_other_package_name: "elasticsearch-oss"
|
||||||
es_other_repo_name: "{{ 'oss-' + es_major_version }}"
|
es_other_repo_name: "{{ 'oss-' + es_major_version }}"
|
||||||
es_other_apt_url: "deb https://artifacts.elastic.co/packages/{{ 'oss-' + es_major_version }}/apt stable main"
|
es_other_apt_url: "deb {{ es_repo_base }}/packages/{{ 'oss-' + es_major_version }}/apt stable main"
|
||||||
|
|
||||||
- name: Detect if es_version is before X-Pack was open and included
|
- name: Detect if es_version is before X-Pack was open and included
|
||||||
set_fact:
|
set_fact:
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
set_fact:
|
set_fact:
|
||||||
es_repo_name: "{{ 'oss-' + es_major_version }}"
|
es_repo_name: "{{ 'oss-' + es_major_version }}"
|
||||||
es_other_repo_name: "{{ es_major_version }}"
|
es_other_repo_name: "{{ es_major_version }}"
|
||||||
es_other_apt_url: "deb https://artifacts.elastic.co/packages/{{ es_major_version }}/apt stable main"
|
es_other_apt_url: "deb {{ es_repo_base }}/packages/{{ es_major_version }}/apt stable main"
|
||||||
es_package_name: "elasticsearch-oss"
|
es_package_name: "elasticsearch-oss"
|
||||||
es_other_package_name: "elasticsearch"
|
es_other_package_name: "elasticsearch"
|
||||||
when:
|
when:
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@
|
||||||
with_items:
|
with_items:
|
||||||
- "{{data_dirs}}"
|
- "{{data_dirs}}"
|
||||||
|
|
||||||
|
|
||||||
#Copy the config template
|
#Copy the config template
|
||||||
- name: Copy Configuration File
|
- name: Copy Configuration File
|
||||||
become: yes
|
become: yes
|
||||||
|
|
@ -93,6 +92,7 @@
|
||||||
stat:
|
stat:
|
||||||
path: "{{ sysd_script }}"
|
path: "{{ sysd_script }}"
|
||||||
register: sysd_stat_result
|
register: sysd_stat_result
|
||||||
|
check_mode: no
|
||||||
|
|
||||||
- name: Remove if it is a normal file
|
- name: Remove if it is a normal file
|
||||||
become: yes
|
become: yes
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@
|
||||||
delay: 1
|
delay: 1
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
until: "'status' in snapshots and snapshots.status == 200"
|
until: "'status' in snapshots and snapshots.status == 200"
|
||||||
|
check_mode: no
|
||||||
|
|
||||||
- name: use the custom package url instead of the repository
|
- name: use the custom package url instead of the repository
|
||||||
set_fact:
|
set_fact:
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
stat:
|
stat:
|
||||||
path: '{{ conf_dir }}/x-pack/users'
|
path: '{{ conf_dir }}/x-pack/users'
|
||||||
register: old_users_file
|
register: old_users_file
|
||||||
|
check_mode: no
|
||||||
|
|
||||||
- name: Copy the old users file from the old depreacted location
|
- name: Copy the old users file from the old depreacted location
|
||||||
copy:
|
copy:
|
||||||
|
|
@ -31,6 +32,7 @@
|
||||||
register: current_file_users
|
register: current_file_users
|
||||||
when: manage_file_users
|
when: manage_file_users
|
||||||
changed_when: False
|
changed_when: False
|
||||||
|
check_mode: no
|
||||||
|
|
||||||
- name: set fact users_to_remove
|
- name: set fact users_to_remove
|
||||||
set_fact: users_to_remove={{ current_file_users.stdout_lines | difference (es_users.file.keys()) }}
|
set_fact: users_to_remove={{ current_file_users.stdout_lines | difference (es_users.file.keys()) }}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@
|
||||||
status_code: 200
|
status_code: 200
|
||||||
register: user_list_response
|
register: user_list_response
|
||||||
when: manage_native_users
|
when: manage_native_users
|
||||||
|
check_mode: no
|
||||||
|
|
||||||
- name: set fact reserved_users equals user_list_response.json
|
- name: set fact reserved_users equals user_list_response.json
|
||||||
set_fact: reserved_users={{ user_list_response.json | filter_reserved }}
|
set_fact: reserved_users={{ user_list_response.json | filter_reserved }}
|
||||||
|
|
@ -138,6 +139,7 @@
|
||||||
status_code: 200
|
status_code: 200
|
||||||
register: role_list_response
|
register: role_list_response
|
||||||
when: manage_native_roles
|
when: manage_native_roles
|
||||||
|
check_mode: no
|
||||||
|
|
||||||
- name: set fact reserved roles
|
- name: set fact reserved roles
|
||||||
set_fact: reserved_roles={{ role_list_response.json | filter_reserved }}
|
set_fact: reserved_roles={{ role_list_response.json | filter_reserved }}
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
changed_when: False
|
changed_when: False
|
||||||
environment:
|
environment:
|
||||||
ES_PATH_CONF: "{{ conf_dir }}"
|
ES_PATH_CONF: "{{ conf_dir }}"
|
||||||
|
check_mode: no
|
||||||
|
|
||||||
- name: Create Bootstrap password for elastic user
|
- name: Create Bootstrap password for elastic user
|
||||||
become: yes
|
become: yes
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
[elasticsearch-{{ es_repo_name }}]
|
[elasticsearch-{{ es_repo_name }}]
|
||||||
name=Elasticsearch repository for {{ es_repo_name }} packages
|
name=Elasticsearch repository for {{ es_repo_name }} packages
|
||||||
baseurl=https://artifacts.elastic.co/packages/{{ es_repo_name }}/yum
|
baseurl={{ es_repo_base }}/packages/{{ es_repo_name }}/yum
|
||||||
gpgcheck=1
|
gpgcheck=1
|
||||||
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
|
gpgkey={{ es_repo_base }}/GPG-KEY-elasticsearch
|
||||||
enabled=1
|
enabled=1
|
||||||
autorefresh=1
|
autorefresh=1
|
||||||
type=rpm-md
|
type=rpm-md
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue