logstash-output-monasca_log_api 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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