kakin 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -1
- data/lib/kakin/cli.rb +8 -10
- data/lib/kakin/configuration.rb +32 -14
- data/lib/kakin/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7aedf46ab98443805029bb0b5d29402c041b6acb8742e733928c8587fd4342c
|
4
|
+
data.tar.gz: fd2ba45197979df575a0b28c76c03b288346b576163b2e3327f7d5f93ca8063a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 406f5f90699577e3897393a944f3cc490d23d976160298f6d4883793a2b904fd8a11c9352590ac032394f72cd7d4b5607e32fa3405f51da86cda1809fa4aa88c
|
7
|
+
data.tar.gz: 788b9855df716ef959feff6a0f357c3d91d352534e35a973ade48f35e1c25c02352ad1acc2107f443038c2dc6ef86f9ad65812e88d0fa701cd70c06ebb798e6d
|
data/README.md
CHANGED
@@ -12,12 +12,20 @@ You need to create configuration file located `~/.kakin` for openstack credentia
|
|
12
12
|
|
13
13
|
```
|
14
14
|
auth_url: "http://your-openstack-host:35357/v2.0/tokens"
|
15
|
-
management_url: "http://your-openstack-host:8774/v2"
|
16
15
|
username: "username"
|
17
16
|
tenant: "your-admin-tenant"
|
18
17
|
password: "password"
|
19
18
|
```
|
20
19
|
|
20
|
+
Or set with environment variable.
|
21
|
+
|
22
|
+
```
|
23
|
+
export OS_AUTH_URL=<your openstack auth url>
|
24
|
+
export OS_USER=<your username>
|
25
|
+
export OS_TENANT_NAME=<your tenant>
|
26
|
+
export OS_PASSWORD=<your password>
|
27
|
+
```
|
28
|
+
|
21
29
|
You can get resource usage with following command.
|
22
30
|
|
23
31
|
```
|
data/lib/kakin/cli.rb
CHANGED
@@ -26,19 +26,17 @@ module Kakin
|
|
26
26
|
|
27
27
|
STDERR.puts "Start: #{start_time}"
|
28
28
|
STDERR.puts "End: #{end_time}"
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
if res.code != "200"
|
29
|
+
client = Yao.default_client.pool['compute']
|
30
|
+
tenant_id = Yao::Tenant.get_by_name(Kakin::Configuration.tenant).id
|
31
|
+
res = client.get("./os-simple-tenant-usage?start=#{start_time}&end=#{end_time}") do |req|
|
32
|
+
req.headers["Accept"] = "application/json"
|
33
|
+
end
|
34
|
+
|
35
|
+
if res.status != 200
|
38
36
|
raise "usage data fatch is failed"
|
39
37
|
else
|
40
38
|
result = Hash.new
|
41
|
-
tenant_usages =
|
39
|
+
tenant_usages = res.body["tenant_usages"]
|
42
40
|
tenants = Yao::Tenant.list
|
43
41
|
|
44
42
|
unless options[:t].empty?
|
data/lib/kakin/configuration.rb
CHANGED
@@ -1,28 +1,46 @@
|
|
1
1
|
module Kakin
|
2
2
|
class Configuration
|
3
3
|
|
4
|
-
def self.management_url
|
5
|
-
@@_management_url
|
6
|
-
end
|
7
|
-
|
8
4
|
def self.tenant
|
9
5
|
@@_tenant
|
10
6
|
end
|
11
7
|
|
12
8
|
def self.setup
|
13
|
-
|
9
|
+
config = {
|
10
|
+
'auth_url' => ENV['OS_AUTH_URL'],
|
11
|
+
'tenant' => ENV['OS_TENANT_NAME'] || ENV['OS_PROJECT_NAME'],
|
12
|
+
'username' => ENV['OS_USERNAME'],
|
13
|
+
'password' => ENV['OS_PASSWORD'],
|
14
|
+
'client_cert' => ENV['OS_CERT'],
|
15
|
+
'client_key' => ENV['OS_KEY'],
|
16
|
+
'identity_api_version' => ENV['OS_IDENTITY_API_VERSION'],
|
17
|
+
'user_domain_name' => ENV['OS_USER_DOMAIN_NAME'],
|
18
|
+
'project_domain_name' => ENV['OS_PROJECT_DOMAIN_NAME'],
|
19
|
+
'timeout' => ENV['YAO_TIMEOUT'],
|
20
|
+
'management_url' => ENV['YAO_MANAGEMENT_URL'],
|
21
|
+
'debug' => ENV['YAO_DEBUG'] || false,
|
22
|
+
}
|
23
|
+
|
24
|
+
file_path = File.expand_path('~/.kakin')
|
25
|
+
if File.exist?(file_path)
|
26
|
+
yaml = YAML.load_file(file_path)
|
27
|
+
config.merge!(yaml)
|
28
|
+
end
|
14
29
|
|
15
|
-
@@
|
16
|
-
@@_tenant = yaml['tenant']
|
30
|
+
@@_tenant = config['tenant']
|
17
31
|
|
18
32
|
Yao.configure do
|
19
|
-
auth_url
|
20
|
-
tenant_name
|
21
|
-
username
|
22
|
-
password
|
23
|
-
timeout
|
24
|
-
client_cert
|
25
|
-
client_key
|
33
|
+
auth_url config['auth_url']
|
34
|
+
tenant_name config['tenant']
|
35
|
+
username config['username']
|
36
|
+
password config['password']
|
37
|
+
timeout config['timeout'] if config['timeout']
|
38
|
+
client_cert config['client_cert'] if config['client_cert']
|
39
|
+
client_key config['client_key'] if config['client_key']
|
40
|
+
identity_api_version config['identity_api_version'] if config['identity_api_version']
|
41
|
+
user_domain_name config['user_domain_name'] if config['user_domain_name']
|
42
|
+
project_domain_name config['project_domain_name'] if config['project_domain_name']
|
43
|
+
debug config['debug']
|
26
44
|
end
|
27
45
|
end
|
28
46
|
end
|
data/lib/kakin/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kakin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- buty4649
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-02-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|