Skip to content

Commit d6d3bb6

Browse files
author
Gavin Williams
authored
Merge pull request #1077 from elastic/confine_elasticsearch-user_providers
Fix more failing master tests
2 parents 31e35a5 + 090a31f commit d6d3bb6

File tree

6 files changed

+33
-47
lines changed

6 files changed

+33
-47
lines changed

.travis.yml

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
sudo: required
2-
group: deprecated-2017Q4
2+
# group: deprecated-2017Q4
33
services:
44
- docker
55
cache:
@@ -52,75 +52,39 @@ jobs:
5252
env:
5353
- BEAKER_PUPPET_COLLECTION=puppet6
5454
- TASK=beaker:centos-6-x64:acceptance
55-
- env:
56-
- BEAKER_PUPPET_COLLECTION=puppet6
57-
- TASK=beaker:centos-6-x64:acceptance[5.6.16]
5855
- env:
5956
- BEAKER_PUPPET_COLLECTION=puppet6
6057
- TASK=beaker:centos-7-x64:acceptance
61-
- env:
62-
- BEAKER_PUPPET_COLLECTION=puppet6
63-
- TASK=beaker:centos-7-x64:acceptance[5.6.16]
6458
- env:
6559
- BEAKER_PUPPET_COLLECTION=puppet6
6660
- TASK=beaker:centos-8-x64:acceptance
67-
- env:
68-
- BEAKER_PUPPET_COLLECTION=puppet6
69-
- TASK=beaker:centos-8-x64:acceptance[5.6.16]
7061
- env:
7162
- BEAKER_PUPPET_COLLECTION=puppet6
7263
- TASK=beaker:amazonlinux-1-x64:acceptance
73-
- env:
74-
- BEAKER_PUPPET_COLLECTION=puppet6
75-
- TASK=beaker:amazonlinux-1-x64:acceptance[5.6.16]
7664
- env:
7765
- BEAKER_PUPPET_COLLECTION=puppet6
7866
- TASK=beaker:oracle-6-x64:acceptance
79-
- env:
80-
- BEAKER_PUPPET_COLLECTION=puppet6
81-
- TASK=beaker:oracle-6-x64:acceptance[5.6.16]
8267
- env:
8368
- BEAKER_PUPPET_COLLECTION=puppet6
8469
- TASK=beaker:oracle-7-x64:acceptance
85-
- env:
86-
- BEAKER_PUPPET_COLLECTION=puppet6
87-
- TASK=beaker:oracle-7-x64:acceptance[5.6.16]
8870
- env:
8971
- BEAKER_PUPPET_COLLECTION=puppet6
9072
- TASK=beaker:debian-8-x64:acceptance
91-
- env:
92-
- BEAKER_PUPPET_COLLECTION=puppet6
93-
- TASK=beaker:debian-8-x64:acceptance[5.6.16]
9473
- env:
9574
- BEAKER_PUPPET_COLLECTION=puppet6
9675
- TASK=beaker:debian-9-x64:acceptance
97-
- env:
98-
- BEAKER_PUPPET_COLLECTION=puppet6
99-
- TASK=beaker:debian-9-x64:acceptance[5.6.16]
10076
- env:
10177
- BEAKER_PUPPET_COLLECTION=puppet6
10278
- TASK=beaker:debian-10-x64:acceptance
103-
- env:
104-
- BEAKER_PUPPET_COLLECTION=puppet6
105-
- TASK=beaker:debian-10-x64:acceptance[5.6.16]
10679
- env:
10780
- BEAKER_PUPPET_COLLECTION=puppet6
10881
- TASK=beaker:ubuntu-server-1404-x64:acceptance
109-
- env:
110-
- BEAKER_PUPPET_COLLECTION=puppet6
111-
- TASK=beaker:ubuntu-server-1404-x64:acceptance[5.6.16]
11282
- env:
11383
- BEAKER_PUPPET_COLLECTION=puppet6
11484
- TASK=beaker:ubuntu-server-1604-x64:acceptance
115-
- env:
116-
- BEAKER_PUPPET_COLLECTION=puppet6
117-
- TASK=beaker:ubuntu-server-1604-x64:acceptance[5.6.16]
11885
- env:
11986
- BEAKER_PUPPET_COLLECTION=puppet6
12087
- TASK=beaker:ubuntu-server-1804-x64:acceptance
121-
- env:
122-
- BEAKER_PUPPET_COLLECTION=puppet6
123-
- TASK=beaker:ubuntu-server-1804-x64:acceptance[5.6.16]
12488
- stage: snapshots
12589
env:
12690
- TASK=beaker:ubuntu-server-1404-x64:snapshot

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ group :test do
88
gem 'xmlrpc'
99

1010
gem 'ci_reporter_rspec'
11-
gem 'facter'
11+
gem 'facter', "~> 2.4"
1212
gem 'pry'
1313
gem 'puppet-lint'
1414
gem 'puppet-strings'

Rakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ beaker_node_sets.each do |node|
140140
args.with_defaults(:version => '6.8.6', :filter => nil)
141141
task.pattern = 'spec/acceptance/tests/acceptance_spec.rb'
142142
task.rspec_opts = []
143-
task.rspec_opts << '--format documentation' if ENV['CI'].nil?
143+
task.rspec_opts << '--format documentation'
144144
task.rspec_opts << "--example '#{args[:filter]}'" if args[:filter]
145145
ENV['ELASTICSEARCH_VERSION'] ||= args[:version]
146146
Rake::Task['artifact:fetch'].invoke(ENV['ELASTICSEARCH_VERSION'])

lib/puppet/provider/elasticsearch_user/elasticsearch_users.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
:parent => Puppet::Provider::ElasticUserCommand
66
) do
77
desc 'Provider for OSS X-Pack user resources.'
8+
confine :exists => "#{homedir}/bin/elasticsearch-users"
89

910
has_feature :manages_plaintext_passwords
1011

lib/puppet/provider/elasticsearch_user/users.rb

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,16 @@
55
:parent => Puppet::Provider::ElasticUserCommand
66
) do
77
desc 'Provider for X-Pack file (users) user resources.'
8-
confine :false => (Puppet::FileSystem.exist? "#{homedir}/bin/elasticsearch-users")
8+
9+
# Prefer the newer 'elasticsearch-users' command provider
10+
# if the 'elasticsearch_users' command exists.
11+
# The logic looks a bit backwards here, but that's because
12+
# Puppet evals the 'confine' statement early on.
13+
# So we could hit false-positives due to the package
14+
# being installed in the same Puppet run.
15+
confine :true => begin
16+
false if File.exist?("#{homedir}/bin/elasticsearch-users")
17+
end
918

1019
has_feature :manages_plaintext_passwords
1120

spec/spec_helper_tls.rb

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ def gen_certs(num_certs, path)
66
ca_key = OpenSSL::PKey::RSA.new 2048
77

88
# CA Cert
9-
ca_name = OpenSSL::X509::Name.parse 'CN=ca/DC=example'
9+
ca_name = OpenSSL::X509::Name.parse 'CN=ca/DC=example/DC=com'
1010
ca_cert = OpenSSL::X509::Certificate.new
1111
ca_cert.serial = serial
1212
serial += 1
@@ -19,16 +19,16 @@ def gen_certs(num_certs, path)
1919
extension_factory = OpenSSL::X509::ExtensionFactory.new
2020
extension_factory.subject_certificate = ca_cert
2121
extension_factory.issuer_certificate = ca_cert
22-
ca_cert.add_extension extension_factory.create_extension(
23-
'subjectAltName', ['localhost', '127.0.0.1'].map { |d| "DNS: #{d}" }.join(',')
24-
)
22+
# ca_cert.add_extension extension_factory.create_extension(
23+
# 'subjectAltName', ['localhost', '127.0.0.1'].map { |d| "DNS: #{d}" }.join(',')
24+
# )
2525
ca_cert.add_extension extension_factory.create_extension(
2626
'subjectKeyIdentifier', 'hash'
2727
)
2828
ca_cert.add_extension extension_factory.create_extension(
2929
'basicConstraints', 'CA:TRUE', true
3030
)
31-
ca_cert.sign ca_key, OpenSSL::Digest::SHA1.new
31+
ca_cert.sign ca_key, OpenSSL::Digest::SHA256.new
3232
ret[:ca] = {
3333
:cert => {
3434
:pem => ca_cert.to_pem,
@@ -38,7 +38,7 @@ def gen_certs(num_certs, path)
3838

3939
num_certs.times do |i|
4040
key, cert, serial = gen_cert_pair serial, ca_cert
41-
cert.sign ca_key, OpenSSL::Digest::SHA1.new
41+
cert.sign ca_key, OpenSSL::Digest::SHA256.new
4242
ret[:clients] << {
4343
:key => {
4444
:pem => key.to_pem,
@@ -58,7 +58,11 @@ def gen_cert_pair(serial, ca_cert)
5858
serial += 1
5959
# Node Key
6060
key = OpenSSL::PKey::RSA.new 2048
61-
node_name = OpenSSL::X509::Name.parse 'CN=localhost/DC=example'
61+
node_name = OpenSSL::X509::Name.parse 'CN=localhost/DC=example/DC=com'
62+
63+
# prepare SANS list
64+
sans = ['localhost.localdomain', 'localhost', 'localhost.example.com']
65+
sans_list = sans.map { |domain| "DNS:#{domain}" }
6266

6367
# Node Cert
6468
cert = OpenSSL::X509::Certificate.new
@@ -75,6 +79,10 @@ def gen_cert_pair(serial, ca_cert)
7579
csr_extension_factory.subject_certificate = cert
7680
csr_extension_factory.issuer_certificate = ca_cert
7781

82+
cert.add_extension csr_extension_factory.create_extension(
83+
'subjectAltName',
84+
sans_list.join(',')
85+
)
7886
cert.add_extension csr_extension_factory.create_extension(
7987
'basicConstraints',
8088
'CA:FALSE'
@@ -83,6 +91,10 @@ def gen_cert_pair(serial, ca_cert)
8391
'keyUsage',
8492
'keyEncipherment,dataEncipherment,digitalSignature'
8593
)
94+
cert.add_extension csr_extension_factory.create_extension(
95+
'extendedKeyUsage',
96+
'serverAuth,clientAuth'
97+
)
8698
cert.add_extension csr_extension_factory.create_extension(
8799
'subjectKeyIdentifier', 'hash'
88100
)

0 commit comments

Comments
 (0)