oneacct-export 0.2.3 → 0.2.4

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
  SHA1:
3
- metadata.gz: a2a9aff4b9c721de7af9275953ae9b5954c38cca
4
- data.tar.gz: 071f245ec9f4475a9c8d1be9ba4c3dad15787b86
3
+ metadata.gz: 20c8592380b1a81b852587aa9eb4a9c11d598c11
4
+ data.tar.gz: 4bc47dffdaf71c19a772ab48ebfa68a007dc48ee
5
5
  SHA512:
6
- metadata.gz: f2b407955c1258694a8c3dec4b8dc544869aa8fde701ce893c95de5f6df76b25fa0d55debb9313958d6d757ef47e66756a55bed5cdd7a5cf0aedaa1284e465b7
7
- data.tar.gz: 80e68e3c321cfec4288709a639a28c22b1b60f939e919a716872f4b869142f255fd8fff7160596e9c771fd0340419fc05df57c118fd533fcf66f045174dbb89f
6
+ metadata.gz: 47e53b053ddb384a3ae52e28c4a75e29a17b79e5a3e5c48830e0e894961af1767492cb0aae5598ec9da1f03f80cd4b816fc22ab8e0aff5f7d9cc15b6632bf4fc
7
+ data.tar.gz: 65685875ef2b0d41cbaaa0eb89d2309701a93eabef7d1a3beb6bf56fcda15c958e9eac1547c19b3dbbd5907b95af8dae51a306ac5b826e0c613c71a664d02ef1
@@ -30,6 +30,16 @@ stderr_log="$log_dir/sidekiq.init.stderr.log"
30
30
 
31
31
  retval=0
32
32
 
33
+ if [ "x$SSL_CERT_DIR" = "x" ]; then
34
+ SSL_CERT_DIR="/etc/grid-security/certificates"
35
+ fi
36
+
37
+ if [ "x$DEBUG" = "x1" ]; then
38
+ ONEACCT_EXPORT_LOG_LEVEL="DEBUG"
39
+ else
40
+ ONEACCT_EXPORT_LOG_LEVEL="ERROR"
41
+ fi
42
+
33
43
  get_pid() {
34
44
  cat "$pid_file"
35
45
  }
@@ -45,7 +55,7 @@ start() {
45
55
  echo "Starting $name ..."
46
56
 
47
57
  cd "$run_dir"
48
- sudo -u "$user" RAILS_ENV=production $cmd >> "$stdout_log" 2>> "$stderr_log" &
58
+ sudo -u "$user" RAILS_ENV=production SSL_CERT_DIR=$SSL_CERT_DIR ONEACCT_EXPORT_LOG_LEVEL=$ONEACCT_EXPORT_LOG_LEVEL $cmd >> "$stdout_log" 2>> "$stderr_log" &
49
59
 
50
60
  echo $! > "$pid_file"
51
61
  if ! is_running; then
@@ -31,15 +31,42 @@ omnibus_base_dir="/opt/oneacct-export"
31
31
  week_start_epoch=$((`date +%s`-604800))
32
32
  week_start_date=`date -d @$week_start_epoch +%F`
33
33
 
34
- options="--records-from $week_start_date --blocking --timeout 2700"
34
+ if [ "x$1" = "x--all" ] || [ "x$1" = "x-all" ]; then
35
+ # export all available accounting records
36
+ options="--blocking --timeout 3600"
37
+ else
38
+ # export only records from the last 7 days
39
+ options="--records-from $week_start_date --blocking --timeout 1800"
40
+ fi
35
41
 
36
42
  if [ -f "$conf_dir/compat.one" ]; then
37
43
  options="$options --compatibility-mode"
38
44
  fi
39
45
 
40
- if [ -f "$conf_dir/groups.allow" ]; then
41
- options="$options --include-groups --group-file $conf_dir/groups.allow"
46
+ if [ -f "$conf_dir/groups.include" ]; then
47
+ groups_include="YES"
48
+ options="$options --include-groups --group-file $conf_dir/groups.include"
49
+ fi
50
+
51
+ if [ -f "$conf_dir/groups.exclude" ]; then
52
+ if [ "x$groups_include" = "xYES" ]; then
53
+ echo "'groups.include' and 'groups.exclude' cannot be combined. Pick only one!"
54
+ exit 1
55
+ fi
56
+
57
+ options="$options --exclude-groups --group-file $conf_dir/groups.exclude"
58
+ fi
59
+
60
+ if [ "x$DEBUG" = "x1" ]; then
61
+ export ONEACCT_EXPORT_LOG_LEVEL="DEBUG"
62
+ echo "$omnibus_base_dir/bin/oneacct-export $options"
63
+ echo "(see log files in /var/log/oneacct-export for details)"
42
64
  fi
43
65
 
44
66
  export RAILS_ENV="production"
67
+
68
+ if [ "x$SSL_CERT_DIR" = "x" ]; then
69
+ export SSL_CERT_DIR="/etc/grid-security/certificates"
70
+ fi
71
+
45
72
  $omnibus_base_dir/bin/oneacct-export $options
data/lib/one_worker.rb CHANGED
@@ -135,7 +135,8 @@ class OneWorker
135
135
  data['memory'] = parse(vm['TEMPLATE/MEMORY'], NUMBER, '0')
136
136
 
137
137
  data['image_name'] = parse(image_map[vm['TEMPLATE/DISK[1]/IMAGE_ID']], STRING, nil)
138
- data['image_name'] = parse(mixin(vm), STRING) unless data['image_name']
138
+ data['image_name'] = parse(mixin(vm), STRING, nil) unless data['image_name']
139
+ data['image_name'] = parse(vm['TEMPLATE/DISK[1]/IMAGE_ID'], STRING) unless data['image_name']
139
140
 
140
141
  data
141
142
  end
@@ -6,7 +6,7 @@ class OneacctExporter
6
6
  if ENV['ONEACCT_EXPORT_LOG_LEVEL'] && Logger::Severity.const_defined?(ENV['ONEACCT_EXPORT_LOG_LEVEL'])
7
7
  logger.level = Logger::Severity.const_get ENV['ONEACCT_EXPORT_LOG_LEVEL']
8
8
  else
9
- logger.level = Logger::INFO
9
+ logger.level = Logger::ERROR
10
10
  end
11
11
 
12
12
  logger
@@ -1,3 +1,3 @@
1
1
  class OneacctExporter
2
- VERSION = '0.2.3'
2
+ VERSION = '0.2.4'
3
3
  end
data/lib/oneacct_opts.rb CHANGED
@@ -27,14 +27,14 @@ class OneacctOpts
27
27
  options.records_to = time
28
28
  end
29
29
 
30
- opts.on('--include-groups GROUP1[,GROUP2,...]', Array,
30
+ opts.on('--include-groups [GROUP1,GROUP2,...]', Array,
31
31
  'Retrieves only records of virtual machines which '\
32
32
  'belong to the specified groups') do |groups|
33
33
  groups = [] unless groups
34
34
  options.include_groups = groups
35
35
  end
36
36
 
37
- opts.on('--exclude-groups GROUP1[,GROUP2,...]', Array,
37
+ opts.on('--exclude-groups [GROUP1,GROUP2,...]', Array,
38
38
  'Retrieves only records of virtual machines which '\
39
39
  "don't belong to the specified groups") do |groups|
40
40
  groups = [] unless groups
@@ -536,6 +536,19 @@ describe OneWorker do
536
536
  end
537
537
  end
538
538
 
539
+ context 'vm without IMAGE_ID mapping' do
540
+ before :example do
541
+ data['image_name'] = '31'
542
+ end
543
+
544
+ let(:image_map) { { 'non_existing_id' => 'name' } }
545
+ let(:filename) { 'one_worker_valid_machine.xml' }
546
+
547
+ it 'replaces image name with IMAGE_ID' do
548
+ expect(subject.process_vm(vm, user_map, image_map)).to eq(data)
549
+ end
550
+ end
551
+
539
552
  context 'vm with USER_TEMPLATE/OCCI_COMPUTE_MIXINS' do
540
553
  let(:filename) { 'one_worker_vm4.xml' }
541
554
  let(:image_name) { 'http://occi.localhost/occi/infrastructure/os_tpl#uuid_monitoring_20' }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oneacct-export
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Kimle
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-23 00:00:00.000000000 Z
11
+ date: 2014-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler