logstash-output-monasca_log_api 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d1e91621424342ccdb63fce8add3e0d58b5e34f6c405617029c92abcbfe9eca1
4
- data.tar.gz: 97420bf52db1d33df4e1bdb8e9a0a1d7a6af67b2113dfbe98c0f0c561b0db70d
3
+ metadata.gz: 2918083346fa89acd52556a11d62ee24abd18fc5de741b9c62291af8e10274a3
4
+ data.tar.gz: 0deba3dc9e237fc3de78886bf3dba5246b32bbf820de2bb6bdbe39ce7d677718
5
5
  SHA512:
6
- metadata.gz: dd047f4c651ce14df0df96795dfba9add0e07448b34212ae809b61c2a310b9d1f8c1e5b96f8f5e56b4f5d300f9bd6b449d67206677e4dce7673382514c98a169
7
- data.tar.gz: 5d2bece23b0eab84235ad406c8db682a8bab27471fe55393ee1d90a12fb24eaf3d5f19c57196f160471d304457abd220da1d9b3df4a54c8fc0397e6566be5327
6
+ metadata.gz: d73469c5689f5ffe8f8256c35c9bb47f20e1886e02cf3bab06a8fa8c9abad160ed80728cab9ae5ed14b20f1fc26a8f1ac615a5e8f1e5c3db14db210a8f073f43
7
+ data.tar.gz: 5ff8983cf4ae6798198646a9d8ad60fd35fd56354ddb160167d276ba5738a08dfd68792f0d10fff31a26591581b4a8300b88e77fd989951c973e456f1d977d76
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  This module is a logstash-output-plugin for the Monasca Log Api.
6
6
 
7
- Compatible logstash version: [Logstash 2.3.4](https://download.elastic.co/logstash/logstash/logstash-2.3.4.tar.gz)
7
+ Compatible logstash version: [Logstash 7.x](https://www.elastic.co/downloads/logstash)
8
8
 
9
9
  ## Get latest stable version
10
10
  https://rubygems.org/gems/logstash-output-monasca_log_api
@@ -25,13 +25,31 @@ module LogStash::Outputs
25
25
  attr_accessor :id, :expires_at, :keystone_client
26
26
 
27
27
  def request_new_token(username, user_domain_name, password, project_name, project_domain_name)
28
- token = @keystone_client
29
- .authenticate(username, user_domain_name, password, project_name, project_domain_name)
30
- set_token(token[:token], token[:expires_at])
28
+ attempt = 0
29
+ begin
30
+ @logger.info("Connecting to keystone, attempt no. #{attempt}")
31
+ token = @keystone_client
32
+ .authenticate(username, user_domain_name, password, project_name, project_domain_name)
33
+ set_token(token[:token], token[:expires_at])
34
+ rescue => e
35
+ attempt += 1
36
+ sleep_for = get_sleep_time(attempt)
37
+ @logger.error("Sending event to keystone threw exception, "\
38
+ "will sleep for #{sleep_for} seconds.",
39
+ :exceptionew => e)
40
+
41
+ Stud.stoppable_sleep(sleep_for)
42
+ retry
43
+ end
31
44
  @logger.info('New token requested')
32
45
  @logger.debug("token=#{@id}, expire_at=#{@expires_at}")
33
46
  end
34
47
 
48
+ def get_sleep_time(attempt)
49
+ sleep_for = attempt**2
50
+ sleep_for <= 60 ? sleep_for : 60
51
+ end
52
+
35
53
  def set_token(id, expires_at)
36
54
  @id = id
37
55
  @expires_at = expires_at
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-output-monasca_log_api'
3
- s.version = '2.0.0'
3
+ s.version = '2.0.1'
4
4
  s.licenses = ['Apache-2.0']
5
5
  s.summary = 'This gem is a logstash output plugin to connect via http to monasca-log-api.'
6
6
  s.description = 'This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-monasca_log_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fujitsu Enabling Software Technology GmbH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-28 00:00:00.000000000 Z
11
+ date: 2019-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement