oneacct-export 0.2.3 → 0.2.4

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
  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