fog-openstack 0.1.2 → 0.1.3
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 +4 -4
- data/fog-openstack.gemspec +1 -1
- data/lib/fog/openstack.rb +46 -33
- data/lib/fog/openstack/docs/compute.md +2 -3
- data/lib/fog/openstack/docs/getting_started.md +5 -5
- data/lib/fog/openstack/docs/introspection.md +251 -0
- data/lib/fog/openstack/docs/metering.md +15 -1
- data/lib/fog/openstack/docs/planning.md +2 -2
- data/lib/fog/openstack/docs/storage.md +3 -4
- data/lib/fog/openstack/examples/compute/basics.rb +1 -1
- data/lib/fog/openstack/examples/compute/block_device_mapping_v2.rb +1 -3
- data/lib/fog/openstack/examples/identity/basics.rb +6 -7
- data/lib/fog/openstack/examples/image/upload-test-image.rb +5 -8
- data/lib/fog/openstack/examples/introspection/basics.rb +75 -0
- data/lib/fog/openstack/examples/planning/basics.rb +1 -1
- data/lib/fog/openstack/examples/storage/set-account-quota.rb +7 -9
- data/lib/fog/openstack/identity.rb +99 -5
- data/lib/fog/openstack/identity_v2.rb +4 -23
- data/lib/fog/openstack/identity_v3.rb +10 -22
- data/lib/fog/openstack/introspection.rb +133 -0
- data/lib/fog/openstack/models/introspection/rules.rb +29 -0
- data/lib/fog/openstack/models/introspection/rules_collection.rb +32 -0
- data/lib/fog/openstack/models/metering/events.rb +2 -2
- data/lib/fog/openstack/models/network/floating_ip.rb +24 -3
- data/lib/fog/openstack/network.rb +1 -0
- data/lib/fog/openstack/requests/compute/get_volume_details.rb +4 -0
- data/lib/fog/openstack/requests/introspection/abort_introspection.rb +25 -0
- data/lib/fog/openstack/requests/introspection/create_introspection.rb +35 -0
- data/lib/fog/openstack/requests/introspection/create_rules.rb +37 -0
- data/lib/fog/openstack/requests/introspection/delete_rules.rb +23 -0
- data/lib/fog/openstack/requests/introspection/delete_rules_all.rb +23 -0
- data/lib/fog/openstack/requests/introspection/get_introspection.rb +24 -0
- data/lib/fog/openstack/requests/introspection/get_introspection_details.rb +24 -0
- data/lib/fog/openstack/requests/introspection/get_rules.rb +24 -0
- data/lib/fog/openstack/requests/introspection/list_rules.rb +24 -0
- data/lib/fog/openstack/version.rb +1 -1
- data/tests/fixtures/introspection.yaml +287 -0
- data/tests/openstack/identity_version_tests.rb +25 -0
- data/tests/openstack/models/network/floating_ip_tests.rb +14 -1
- data/tests/openstack/requests/introspection/introspection_tests.rb +297 -0
- data/tests/openstack/requests/introspection/rules_tests.rb +46 -0
- metadata +22 -4
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'fog/openstack/models/model'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module Introspection
|
5
|
+
class OpenStack
|
6
|
+
class Rules < Fog::OpenStack::Model
|
7
|
+
identity :uuid
|
8
|
+
|
9
|
+
attribute :description
|
10
|
+
attribute :actions
|
11
|
+
attribute :conditions
|
12
|
+
attribute :links
|
13
|
+
|
14
|
+
def create
|
15
|
+
requires :actions, :conditions
|
16
|
+
attributes[:description] = description || ""
|
17
|
+
merge_attributes(service.create_rules(attributes).body)
|
18
|
+
self
|
19
|
+
end
|
20
|
+
|
21
|
+
def destroy
|
22
|
+
requires :uuid
|
23
|
+
service.delete_rules(uuid)
|
24
|
+
true
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'fog/openstack/models/collection'
|
2
|
+
require 'fog/openstack/models/introspection/rules'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module Introspection
|
6
|
+
class OpenStack
|
7
|
+
class RulesCollection < Fog::OpenStack::Collection
|
8
|
+
model Fog::Introspection::OpenStack::Rules
|
9
|
+
|
10
|
+
def all(_options = {})
|
11
|
+
load_response(service.list_rules, 'rules')
|
12
|
+
end
|
13
|
+
|
14
|
+
def get(uuid)
|
15
|
+
data = service.get_rules(uuid).body
|
16
|
+
new(data)
|
17
|
+
rescue Fog::Introspection::OpenStack::NotFound
|
18
|
+
nil
|
19
|
+
end
|
20
|
+
|
21
|
+
def destroy(uuid)
|
22
|
+
rules = get(uuid)
|
23
|
+
rules.destroy
|
24
|
+
end
|
25
|
+
|
26
|
+
def destroy_all
|
27
|
+
service.delete_rules_all
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -19,9 +19,9 @@ module Fog
|
|
19
19
|
|
20
20
|
def create
|
21
21
|
requires :floating_network_id
|
22
|
-
merge_attributes(service.create_floating_ip(
|
22
|
+
merge_attributes(service.create_floating_ip(floating_network_id,
|
23
23
|
|
24
|
-
|
24
|
+
attributes).body['floatingip'])
|
25
25
|
self
|
26
26
|
end
|
27
27
|
|
@@ -31,9 +31,30 @@ module Fog
|
|
31
31
|
|
32
32
|
def destroy
|
33
33
|
requires :id
|
34
|
-
service.delete_floating_ip(
|
34
|
+
service.delete_floating_ip(id)
|
35
35
|
true
|
36
36
|
end
|
37
|
+
|
38
|
+
def associate(port_id, fixed_ip_address = nil)
|
39
|
+
requires :id
|
40
|
+
merge_attributes(service.associate_floating_ip(
|
41
|
+
id,
|
42
|
+
port_id,
|
43
|
+
options(fixed_ip_address)).body['floatingip'])
|
44
|
+
end
|
45
|
+
|
46
|
+
def disassociate(fixed_ip_address = nil)
|
47
|
+
requires :id
|
48
|
+
merge_attributes(service.disassociate_floating_ip(
|
49
|
+
id,
|
50
|
+
options(fixed_ip_address)).body['floatingip'])
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def options(fixed_ip_address)
|
56
|
+
fixed_ip_address ? {'fixed_ip_address' => fixed_ip_address} : {}
|
57
|
+
end
|
37
58
|
end
|
38
59
|
end
|
39
60
|
end
|
@@ -15,6 +15,10 @@ module Fog
|
|
15
15
|
def get_volume_details(volume_id)
|
16
16
|
response = Excon::Response.new
|
17
17
|
if data = self.data[:volumes][volume_id]
|
18
|
+
if data['status'] == 'creating' \
|
19
|
+
&& Time.now - Time.parse(data['createdAt']) >= Fog::Mock.delay
|
20
|
+
data['status'] = 'available'
|
21
|
+
end
|
18
22
|
response.status = 200
|
19
23
|
response.body = { 'volume' => data }
|
20
24
|
response
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Fog
|
2
|
+
module Introspection
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def abort_introspection(node_id)
|
6
|
+
request(
|
7
|
+
:body => "",
|
8
|
+
:expects => 202,
|
9
|
+
:method => "POST",
|
10
|
+
:path => "introspection/#{node_id}/abort"
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class Mock
|
16
|
+
def abort_introspection(_node_id)
|
17
|
+
response = Excon::Response.new
|
18
|
+
response.status = 202
|
19
|
+
response.body = ""
|
20
|
+
response
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Fog
|
2
|
+
module Introspection
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def create_introspection(node_id, options = {})
|
6
|
+
if options
|
7
|
+
data = {
|
8
|
+
'new_ipmi_username' => options[:new_ipmi_username],
|
9
|
+
'new_ipmi_password' => options[:new_ipmi_password]
|
10
|
+
}
|
11
|
+
body = Fog::JSON.encode(data)
|
12
|
+
else
|
13
|
+
body = ""
|
14
|
+
end
|
15
|
+
|
16
|
+
request(
|
17
|
+
:body => body,
|
18
|
+
:expects => 202,
|
19
|
+
:method => "POST",
|
20
|
+
:path => "introspection/#{node_id}"
|
21
|
+
)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
class Mock
|
26
|
+
def create_introspection(_node_id, _options = {})
|
27
|
+
response = Excon::Response.new
|
28
|
+
response.status = 202
|
29
|
+
response.body = ""
|
30
|
+
response
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Fog
|
2
|
+
module Introspection
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def create_rules(attributes)
|
6
|
+
attributes_valid = [
|
7
|
+
:actions,
|
8
|
+
:conditions,
|
9
|
+
:uuid,
|
10
|
+
:description
|
11
|
+
]
|
12
|
+
|
13
|
+
# Filter only allowed creation attributes
|
14
|
+
data = attributes.select do |key, _|
|
15
|
+
attributes_valid.include?(key.to_sym)
|
16
|
+
end
|
17
|
+
|
18
|
+
request(
|
19
|
+
:body => Fog::JSON.encode(data),
|
20
|
+
:expects => 200,
|
21
|
+
:method => "POST",
|
22
|
+
:path => "rules"
|
23
|
+
)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
class Mock
|
28
|
+
def create_rules(_)
|
29
|
+
response = Excon::Response.new
|
30
|
+
response.status = 200
|
31
|
+
response.body = {"rules" => data[:rules].first}
|
32
|
+
response
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Fog
|
2
|
+
module Introspection
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def delete_rules(rule_id)
|
6
|
+
request(
|
7
|
+
:expects => 204,
|
8
|
+
:method => "DELETE",
|
9
|
+
:path => "rules/#{rule_id}"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def delete_rules(_rule_id)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = 204
|
18
|
+
response
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Fog
|
2
|
+
module Introspection
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def delete_rules_all
|
6
|
+
request(
|
7
|
+
:expects => 204,
|
8
|
+
:method => "DELETE",
|
9
|
+
:path => "rules"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def delete_rules_all
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = 204
|
18
|
+
response
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Fog
|
2
|
+
module Introspection
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def get_introspection(node_id)
|
6
|
+
request(
|
7
|
+
:expects => 200,
|
8
|
+
:method => "GET",
|
9
|
+
:path => "introspection/#{node_id}"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def get_introspection(_node_id)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = 200
|
18
|
+
response.body = {"error" => "null", "finished" => "true"}
|
19
|
+
response
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Fog
|
2
|
+
module Introspection
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def get_introspection_details(node_id)
|
6
|
+
request(
|
7
|
+
:expects => 200,
|
8
|
+
:method => 'GET',
|
9
|
+
:path => "introspection/#{node_id}/data"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def get_introspection_details(_node_id)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = 200
|
18
|
+
response.body = {"data" => data[:introspection_data]}
|
19
|
+
response
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Fog
|
2
|
+
module Introspection
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def get_rules(rule_id)
|
6
|
+
request(
|
7
|
+
:expects => 200,
|
8
|
+
:method => 'GET',
|
9
|
+
:path => "rules/#{rule_id}"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def get_rules(_rule_id)
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = 200
|
18
|
+
response.body = {"rules" => data[:rules].first}
|
19
|
+
response
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Fog
|
2
|
+
module Introspection
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def list_rules
|
6
|
+
request(
|
7
|
+
:expects => 200,
|
8
|
+
:method => 'GET',
|
9
|
+
:path => "rules"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def list_rules
|
16
|
+
response = Excon::Response.new
|
17
|
+
response.status = 200
|
18
|
+
response.body = {"rules" => data[:rules].first}
|
19
|
+
response
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,287 @@
|
|
1
|
+
---
|
2
|
+
:rules:
|
3
|
+
- description: Successful Rule
|
4
|
+
actions:
|
5
|
+
- action: set-attribute
|
6
|
+
path: /extra/rule_success
|
7
|
+
value: 'yes'
|
8
|
+
conditions:
|
9
|
+
- field: memory_mb
|
10
|
+
op: ge
|
11
|
+
value: 256
|
12
|
+
- field: local_gb
|
13
|
+
op: ge
|
14
|
+
value: 1
|
15
|
+
links:
|
16
|
+
- href: /v1/rules/8dbc8e15-506e-4bd1-82e7-b090e0d33cae
|
17
|
+
rel: self
|
18
|
+
uuid: 8dbc8e15-506e-4bd1-82e7-b090e0d33cae
|
19
|
+
- description: Failing Rule
|
20
|
+
actions:
|
21
|
+
- action: set-attribute
|
22
|
+
path: /extra/rule_success
|
23
|
+
value: 'no'
|
24
|
+
- action: fail
|
25
|
+
message: This rule should not have run
|
26
|
+
conditions:
|
27
|
+
- field: memory_mb
|
28
|
+
op: lt
|
29
|
+
value: 42
|
30
|
+
- field: local_gb
|
31
|
+
op: eq
|
32
|
+
value: 0
|
33
|
+
links:
|
34
|
+
- href: /v1/rules/abf9337e-a38d-4041-ba7a-d4e5ac0cc134
|
35
|
+
rel: self
|
36
|
+
uuid: abf9337e-a38d-4041-ba7a-d4e5ac0cc134
|
37
|
+
:introspection_data:
|
38
|
+
cpu_arch: x86_64
|
39
|
+
macs:
|
40
|
+
- 52:54:00:40:d0:11
|
41
|
+
root_disk:
|
42
|
+
rotational: true
|
43
|
+
vendor: '0x1af4'
|
44
|
+
name: "/dev/vda"
|
45
|
+
wwn_vendor_extension:
|
46
|
+
wwn_with_extension:
|
47
|
+
model: ''
|
48
|
+
wwn:
|
49
|
+
serial:
|
50
|
+
size: 64424509440
|
51
|
+
extra:
|
52
|
+
network:
|
53
|
+
eth0:
|
54
|
+
vlan-challenged: off [fixed]
|
55
|
+
tx-udp_tnl-segmentation: off [fixed]
|
56
|
+
ipv4-network: 192.0.2.0
|
57
|
+
rx-vlan-stag-filter: off [fixed]
|
58
|
+
highdma: on [fixed]
|
59
|
+
tx-nocache-copy: 'off'
|
60
|
+
tx-gso-robust: off [fixed]
|
61
|
+
fcoe-mtu: off [fixed]
|
62
|
+
netns-local: off [fixed]
|
63
|
+
udp-fragmentation-offload: 'on'
|
64
|
+
serial: 52:54:00:40:d0:11
|
65
|
+
latency: 0
|
66
|
+
tx-checksumming/tx-checksum-ipv6: off [fixed]
|
67
|
+
tx-checksumming/tx-checksum-ipv4: off [fixed]
|
68
|
+
ipv4-netmask: 255.255.255.0
|
69
|
+
tcp-segmentation-offload/tx-tcp-segmentation: 'on'
|
70
|
+
tx-ipip-segmentation: off [fixed]
|
71
|
+
rx-vlan-offload: off [fixed]
|
72
|
+
tx-gre-segmentation: off [fixed]
|
73
|
+
tx-checksumming/tx-checksum-ip-generic: 'on'
|
74
|
+
tcp-segmentation-offload/tx-tcp-ecn-segmentation: 'on'
|
75
|
+
tx-checksumming/tx-checksum-fcoe-crc: off [fixed]
|
76
|
+
ipv4: 192.0.2.100
|
77
|
+
businfo: pci@0000:00:03.0
|
78
|
+
rx-vlan-stag-hw-parse: off [fixed]
|
79
|
+
tx-vlan-offload: off [fixed]
|
80
|
+
product: Virtio network device
|
81
|
+
vendor: Red Hat, Inc
|
82
|
+
tx-checksumming/tx-checksum-sctp: off [fixed]
|
83
|
+
driver: virtio_net
|
84
|
+
tx-sit-segmentation: off [fixed]
|
85
|
+
busy-poll: off [fixed]
|
86
|
+
tx-vlan-stag-hw-insert: off [fixed]
|
87
|
+
scatter-gather/tx-scatter-gather: 'on'
|
88
|
+
link: 'yes'
|
89
|
+
ntuple-filters: off [fixed]
|
90
|
+
rx-all: off [fixed]
|
91
|
+
tcp-segmentation-offload: 'on'
|
92
|
+
tcp-segmentation-offload/tx-tcp6-segmentation: 'on'
|
93
|
+
rx-checksumming: on [fixed]
|
94
|
+
rx-fcs: off [fixed]
|
95
|
+
tx-lockless: off [fixed]
|
96
|
+
generic-segmentation-offload: 'on'
|
97
|
+
tx-fcoe-segmentation: off [fixed]
|
98
|
+
tx-checksumming: 'on'
|
99
|
+
ipv4-cidr: 24
|
100
|
+
large-receive-offload: off [fixed]
|
101
|
+
rx-vlan-filter: on [fixed]
|
102
|
+
receive-hashing: off [fixed]
|
103
|
+
scatter-gather/tx-scatter-gather-fraglist: off [fixed]
|
104
|
+
generic-receive-offload: 'on'
|
105
|
+
loopback: off [fixed]
|
106
|
+
scatter-gather: 'on'
|
107
|
+
tx-mpls-segmentation: off [fixed]
|
108
|
+
eth1:
|
109
|
+
vlan-challenged: off [fixed]
|
110
|
+
tx-udp_tnl-segmentation: off [fixed]
|
111
|
+
tx-vlan-stag-hw-insert: off [fixed]
|
112
|
+
rx-vlan-stag-filter: off [fixed]
|
113
|
+
highdma: on [fixed]
|
114
|
+
tx-nocache-copy: 'off'
|
115
|
+
tx-gso-robust: off [fixed]
|
116
|
+
fcoe-mtu: off [fixed]
|
117
|
+
netns-local: off [fixed]
|
118
|
+
udp-fragmentation-offload: 'on'
|
119
|
+
serial: 52:54:00:11:c5:d8
|
120
|
+
latency: 0
|
121
|
+
tx-checksumming/tx-checksum-ipv6: off [fixed]
|
122
|
+
tx-checksumming/tx-checksum-ipv4: off [fixed]
|
123
|
+
tx-fcoe-segmentation: off [fixed]
|
124
|
+
tcp-segmentation-offload/tx-tcp-segmentation: 'on'
|
125
|
+
tx-ipip-segmentation: off [fixed]
|
126
|
+
rx-vlan-offload: off [fixed]
|
127
|
+
tx-gre-segmentation: off [fixed]
|
128
|
+
tx-checksumming/tx-checksum-ip-generic: 'on'
|
129
|
+
tcp-segmentation-offload/tx-tcp-ecn-segmentation: 'on'
|
130
|
+
tx-checksumming/tx-checksum-fcoe-crc: off [fixed]
|
131
|
+
rx-vlan-stag-hw-parse: off [fixed]
|
132
|
+
businfo: pci@0000:00:04.0
|
133
|
+
tx-vlan-offload: off [fixed]
|
134
|
+
product: Virtio network device
|
135
|
+
vendor: Red Hat, Inc
|
136
|
+
tx-checksumming/tx-checksum-sctp: off [fixed]
|
137
|
+
driver: virtio_net
|
138
|
+
tx-sit-segmentation: off [fixed]
|
139
|
+
busy-poll: off [fixed]
|
140
|
+
scatter-gather/tx-scatter-gather: 'on'
|
141
|
+
link: 'yes'
|
142
|
+
ntuple-filters: off [fixed]
|
143
|
+
rx-all: off [fixed]
|
144
|
+
tcp-segmentation-offload: 'on'
|
145
|
+
tcp-segmentation-offload/tx-tcp6-segmentation: 'on'
|
146
|
+
rx-checksumming: on [fixed]
|
147
|
+
tx-lockless: off [fixed]
|
148
|
+
generic-segmentation-offload: 'on'
|
149
|
+
loopback: off [fixed]
|
150
|
+
tx-checksumming: 'on'
|
151
|
+
large-receive-offload: off [fixed]
|
152
|
+
rx-vlan-filter: on [fixed]
|
153
|
+
receive-hashing: off [fixed]
|
154
|
+
scatter-gather/tx-scatter-gather-fraglist: off [fixed]
|
155
|
+
generic-receive-offload: 'on'
|
156
|
+
rx-fcs: off [fixed]
|
157
|
+
scatter-gather: 'on'
|
158
|
+
tx-mpls-segmentation: off [fixed]
|
159
|
+
firmware:
|
160
|
+
bios:
|
161
|
+
date: 01/01/2011
|
162
|
+
version: 0.5.1
|
163
|
+
vendor: Seabios
|
164
|
+
system:
|
165
|
+
kernel:
|
166
|
+
cmdline: ipa-inspection-callback-url=http://192.0.2.1:5050/v1/continue ipa-inspection-collectors=default,extra-hardware,logs
|
167
|
+
systemd.journald.forward_to_console=yes BOOTIF=52:54:00:40:d0:11 ipa-debug=1
|
168
|
+
version: 3.10.0-327.10.1.el7.x86_64
|
169
|
+
arch: x86_64
|
170
|
+
product:
|
171
|
+
version: RHEL 7.0.0 PC (i440FX + PIIX, 1996)
|
172
|
+
vendor: Red Hat
|
173
|
+
name: KVM
|
174
|
+
uuid: FB25FBC2-3FF7-45C0-8581-3EF1BA7E7839
|
175
|
+
os:
|
176
|
+
version: Red Hat Enterprise Linux Server release 7.2 (Maipo)
|
177
|
+
vendor: RedHatEnterpriseServer
|
178
|
+
memory:
|
179
|
+
total:
|
180
|
+
size: 4294967296
|
181
|
+
disk:
|
182
|
+
vda:
|
183
|
+
optimal_io_size: 0
|
184
|
+
physical_block_size: 512
|
185
|
+
rotational: 1
|
186
|
+
vendor: '0x1af4'
|
187
|
+
size: 64
|
188
|
+
logical:
|
189
|
+
count: 1
|
190
|
+
cpu:
|
191
|
+
logical:
|
192
|
+
number: 4
|
193
|
+
physical_0:
|
194
|
+
physid: 401
|
195
|
+
product: Intel Xeon E312xx (Sandy Bridge)
|
196
|
+
frequency: 2000000000
|
197
|
+
vendor: Intel Corp.
|
198
|
+
flags: fpu fpu_exception wp de pse tsc msr pae mce cx8 apic sep mtrr pge mca
|
199
|
+
cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp x86-64 constant_tsc
|
200
|
+
rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 x2apic
|
201
|
+
popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm tpr_shadow vnmi
|
202
|
+
flexpriority ept xsaveopt xsavec xgetbv1
|
203
|
+
physical_1:
|
204
|
+
physid: 402
|
205
|
+
product: Intel Xeon E312xx (Sandy Bridge)
|
206
|
+
frequency: 2000000000
|
207
|
+
vendor: Intel Corp.
|
208
|
+
flags: fpu fpu_exception wp de pse tsc msr pae mce cx8 apic sep mtrr pge mca
|
209
|
+
cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp x86-64 constant_tsc
|
210
|
+
rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 x2apic
|
211
|
+
popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm tpr_shadow vnmi
|
212
|
+
flexpriority ept xsaveopt xsavec xgetbv1
|
213
|
+
physical_2:
|
214
|
+
physid: 403
|
215
|
+
product: Intel Xeon E312xx (Sandy Bridge)
|
216
|
+
frequency: 2000000000
|
217
|
+
vendor: Intel Corp.
|
218
|
+
flags: fpu fpu_exception wp de pse tsc msr pae mce cx8 apic sep mtrr pge mca
|
219
|
+
cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp x86-64 constant_tsc
|
220
|
+
rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 x2apic
|
221
|
+
popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm tpr_shadow vnmi
|
222
|
+
flexpriority ept xsaveopt xsavec xgetbv1
|
223
|
+
physical_3:
|
224
|
+
physid: 404
|
225
|
+
product: Intel Xeon E312xx (Sandy Bridge)
|
226
|
+
frequency: 2000000000
|
227
|
+
vendor: Intel Corp.
|
228
|
+
flags: fpu fpu_exception wp de pse tsc msr pae mce cx8 apic sep mtrr pge mca
|
229
|
+
cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp x86-64 constant_tsc
|
230
|
+
rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 x2apic
|
231
|
+
popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm tpr_shadow vnmi
|
232
|
+
flexpriority ept xsaveopt xsavec xgetbv1
|
233
|
+
physical:
|
234
|
+
number: 4
|
235
|
+
interfaces:
|
236
|
+
eth0:
|
237
|
+
ip: 192.0.2.100
|
238
|
+
mac: 52:54:00:40:d0:11
|
239
|
+
cpus: 4
|
240
|
+
boot_interface: 52:54:00:40:d0:11
|
241
|
+
memory_mb: 4096
|
242
|
+
ipmi_address: ''
|
243
|
+
inventory:
|
244
|
+
bmc_address: ''
|
245
|
+
interfaces:
|
246
|
+
- ipv4_address:
|
247
|
+
switch_port_descr:
|
248
|
+
switch_chassis_descr:
|
249
|
+
name: eth1
|
250
|
+
mac_address: 52:54:00:11:c5:d8
|
251
|
+
- ipv4_address: 192.0.2.100
|
252
|
+
switch_port_descr:
|
253
|
+
switch_chassis_descr:
|
254
|
+
name: eth0
|
255
|
+
mac_address: 52:54:00:40:d0:11
|
256
|
+
disks:
|
257
|
+
- rotational: true
|
258
|
+
vendor: '0x1af4'
|
259
|
+
name: "/dev/vda"
|
260
|
+
wwn_vendor_extension:
|
261
|
+
wwn_with_extension:
|
262
|
+
model: ''
|
263
|
+
wwn:
|
264
|
+
serial:
|
265
|
+
size: 64424509440
|
266
|
+
system_vendor:
|
267
|
+
serial_number: Not Specified
|
268
|
+
product_name: KVM
|
269
|
+
manufacturer: Red Hat
|
270
|
+
memory:
|
271
|
+
physical_mb: 4096
|
272
|
+
total: 4144173056
|
273
|
+
cpu:
|
274
|
+
count: 4
|
275
|
+
frequency: '3408.032'
|
276
|
+
model_name: Intel Xeon E312xx (Sandy Bridge)
|
277
|
+
architecture: x86_64
|
278
|
+
error:
|
279
|
+
local_gb: 59
|
280
|
+
all_interfaces:
|
281
|
+
eth1:
|
282
|
+
ip:
|
283
|
+
mac: 52:54:00:11:c5:d8
|
284
|
+
eth0:
|
285
|
+
ip: 192.0.2.100
|
286
|
+
mac: 52:54:00:40:d0:11
|
287
|
+
logs: Way too long...
|