fog-proxmox 0.13.0 → 0.14.0

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.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -1
  3. data/docs/compute.md +23 -7
  4. data/docs/identity.md +31 -6
  5. data/examples/compute.rb +11 -11
  6. data/examples/identity.rb +28 -15
  7. data/fog-proxmox.gemspec +1 -1
  8. data/lib/fog/proxmox.rb +16 -76
  9. data/lib/fog/proxmox/auth/token.rb +88 -0
  10. data/lib/fog/proxmox/auth/token/access_ticket.rb +85 -0
  11. data/lib/fog/proxmox/auth/token/user_token.rb +94 -0
  12. data/lib/fog/{compute/proxmox.rb → proxmox/compute.rb} +31 -16
  13. data/lib/fog/{compute/proxmox → proxmox/compute}/models/disk.rb +15 -2
  14. data/lib/fog/{compute/proxmox → proxmox/compute}/models/disks.rb +5 -1
  15. data/lib/fog/{compute/proxmox → proxmox/compute}/models/interface.rb +4 -0
  16. data/lib/fog/{compute/proxmox → proxmox/compute}/models/interfaces.rb +1 -1
  17. data/lib/fog/{compute/proxmox → proxmox/compute}/models/node.rb +0 -0
  18. data/lib/fog/{compute/proxmox → proxmox/compute}/models/nodes.rb +1 -1
  19. data/lib/fog/{compute/proxmox → proxmox/compute}/models/server.rb +2 -2
  20. data/lib/fog/{compute/proxmox → proxmox/compute}/models/server_config.rb +8 -0
  21. data/lib/fog/{compute/proxmox → proxmox/compute}/models/servers.rb +1 -1
  22. data/lib/fog/{compute/proxmox → proxmox/compute}/models/snapshot.rb +0 -0
  23. data/lib/fog/{compute/proxmox → proxmox/compute}/models/snapshots.rb +1 -1
  24. data/lib/fog/{compute/proxmox → proxmox/compute}/models/storage.rb +0 -0
  25. data/lib/fog/{compute/proxmox → proxmox/compute}/models/storages.rb +1 -1
  26. data/lib/fog/{compute/proxmox → proxmox/compute}/models/task.rb +0 -0
  27. data/lib/fog/{compute/proxmox → proxmox/compute}/models/tasks.rb +1 -1
  28. data/lib/fog/{compute/proxmox → proxmox/compute}/models/volume.rb +6 -0
  29. data/lib/fog/{compute/proxmox → proxmox/compute}/models/volumes.rb +1 -1
  30. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/action_server.rb +0 -0
  31. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/clone_server.rb +0 -0
  32. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/create_backup.rb +0 -0
  33. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/create_server.rb +0 -0
  34. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/create_snapshot.rb +0 -0
  35. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/create_spice.rb +0 -0
  36. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/create_term.rb +0 -0
  37. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/create_vnc.rb +0 -0
  38. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/delete_server.rb +0 -0
  39. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/delete_snapshot.rb +0 -0
  40. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/delete_volume.rb +0 -0
  41. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_node_statistics.rb +0 -0
  42. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_server_config.rb +0 -0
  43. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_server_status.rb +0 -0
  44. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_snapshot_config.rb +0 -0
  45. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_task.rb +0 -0
  46. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_vnc.rb +0 -0
  47. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/get_volume.rb +0 -0
  48. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/list_nodes.rb +0 -0
  49. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/list_servers.rb +0 -0
  50. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/list_snapshots.rb +0 -0
  51. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/list_storages.rb +0 -0
  52. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/list_tasks.rb +0 -0
  53. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/list_volumes.rb +0 -0
  54. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/log_task.rb +0 -0
  55. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/migrate_server.rb +0 -0
  56. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/move_disk.rb +0 -0
  57. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/move_volume.rb +0 -0
  58. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/next_vmid.rb +0 -0
  59. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/resize_container.rb +0 -0
  60. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/resize_server.rb +0 -0
  61. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/rollback_snapshot.rb +0 -0
  62. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/status_task.rb +0 -0
  63. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/stop_task.rb +0 -0
  64. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/template_server.rb +0 -0
  65. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/update_server.rb +0 -0
  66. data/lib/fog/{compute/proxmox → proxmox/compute}/requests/update_snapshot.rb +0 -0
  67. data/lib/fog/proxmox/core.rb +66 -57
  68. data/lib/fog/proxmox/hash.rb +2 -2
  69. data/lib/fog/proxmox/helpers/cpu_helper.rb +48 -9
  70. data/lib/fog/proxmox/helpers/disk_helper.rb +42 -22
  71. data/lib/fog/proxmox/helpers/nic_helper.rb +28 -20
  72. data/lib/fog/{identity/proxmox.rb → proxmox/identity.rb} +31 -17
  73. data/lib/fog/{identity/proxmox → proxmox/identity}/models/domain.rb +0 -0
  74. data/lib/fog/{identity/proxmox → proxmox/identity}/models/domain_type.rb +0 -0
  75. data/lib/fog/{identity/proxmox → proxmox/identity}/models/domains.rb +1 -1
  76. data/lib/fog/{identity/proxmox → proxmox/identity}/models/group.rb +4 -2
  77. data/lib/fog/{identity/proxmox → proxmox/identity}/models/groups.rb +1 -1
  78. data/lib/fog/{identity/proxmox → proxmox/identity}/models/permission.rb +0 -0
  79. data/lib/fog/{identity/proxmox → proxmox/identity}/models/permissions.rb +1 -1
  80. data/lib/fog/{identity/proxmox → proxmox/identity}/models/pool.rb +0 -0
  81. data/lib/fog/{identity/proxmox → proxmox/identity}/models/pools.rb +1 -1
  82. data/lib/fog/{identity/proxmox → proxmox/identity}/models/principal.rb +0 -0
  83. data/lib/fog/{identity/proxmox → proxmox/identity}/models/role.rb +0 -0
  84. data/lib/fog/{identity/proxmox → proxmox/identity}/models/roles.rb +1 -1
  85. data/lib/fog/proxmox/identity/models/token.rb +71 -0
  86. data/lib/fog/proxmox/identity/models/token_info.rb +41 -0
  87. data/lib/fog/proxmox/identity/models/tokens.rb +58 -0
  88. data/lib/fog/{identity/proxmox → proxmox/identity}/models/user.rb +25 -2
  89. data/lib/fog/{identity/proxmox → proxmox/identity}/models/users.rb +1 -1
  90. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/change_password.rb +0 -0
  91. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/check_permissions.rb +0 -0
  92. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/create_domain.rb +0 -0
  93. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/create_group.rb +0 -0
  94. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/create_pool.rb +0 -0
  95. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/create_role.rb +0 -0
  96. data/lib/fog/proxmox/identity/requests/create_token.rb +40 -0
  97. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/create_user.rb +0 -0
  98. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/delete_domain.rb +0 -0
  99. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/delete_group.rb +0 -0
  100. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/delete_pool.rb +0 -0
  101. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/delete_role.rb +0 -0
  102. data/lib/fog/proxmox/identity/requests/delete_token.rb +40 -0
  103. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/delete_user.rb +0 -0
  104. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/get_domain.rb +0 -0
  105. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/get_group.rb +0 -0
  106. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/get_pool.rb +0 -0
  107. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/get_role.rb +0 -0
  108. data/lib/fog/proxmox/identity/requests/get_token_info.rb +41 -0
  109. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/get_user.rb +0 -0
  110. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/list_domains.rb +0 -0
  111. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/list_groups.rb +0 -0
  112. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/list_permissions.rb +0 -0
  113. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/list_pools.rb +0 -0
  114. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/list_roles.rb +0 -0
  115. data/lib/fog/proxmox/identity/requests/list_tokens.rb +41 -0
  116. data/lib/fog/proxmox/identity/requests/list_user_permissions.rb +44 -0
  117. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/list_users.rb +0 -0
  118. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/read_version.rb +0 -0
  119. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/update_domain.rb +0 -0
  120. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/update_group.rb +0 -0
  121. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/update_permissions.rb +0 -0
  122. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/update_pool.rb +0 -0
  123. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/update_role.rb +0 -0
  124. data/lib/fog/proxmox/identity/requests/update_token.rb +41 -0
  125. data/lib/fog/{identity/proxmox → proxmox/identity}/requests/update_user.rb +0 -0
  126. data/lib/fog/{network/proxmox.rb → proxmox/network.rb} +21 -14
  127. data/lib/fog/{network/proxmox → proxmox/network}/models/network.rb +0 -0
  128. data/lib/fog/{network/proxmox → proxmox/network}/models/networks.rb +1 -1
  129. data/lib/fog/{network/proxmox → proxmox/network}/models/node.rb +1 -1
  130. data/lib/fog/{network/proxmox → proxmox/network}/models/nodes.rb +1 -1
  131. data/lib/fog/{network/proxmox → proxmox/network}/requests/create_network.rb +0 -0
  132. data/lib/fog/{network/proxmox → proxmox/network}/requests/delete_network.rb +0 -0
  133. data/lib/fog/{network/proxmox → proxmox/network}/requests/get_network.rb +0 -0
  134. data/lib/fog/{network/proxmox → proxmox/network}/requests/get_node.rb +0 -0
  135. data/lib/fog/{network/proxmox → proxmox/network}/requests/list_networks.rb +0 -0
  136. data/lib/fog/{network/proxmox → proxmox/network}/requests/list_nodes.rb +0 -0
  137. data/lib/fog/{network/proxmox → proxmox/network}/requests/power_node.rb +0 -0
  138. data/lib/fog/{network/proxmox → proxmox/network}/requests/update_network.rb +0 -0
  139. data/lib/fog/{storage/proxmox.rb → proxmox/storage.rb} +1 -1
  140. data/lib/fog/proxmox/version.rb +1 -1
  141. data/spec/compute_spec.rb +4 -4
  142. data/spec/fixtures/proxmox/compute/common_auth.yml +40 -0
  143. data/spec/fixtures/proxmox/compute/containers.yml +1752 -7568
  144. data/spec/fixtures/proxmox/compute/nodes.yml +24 -30
  145. data/spec/fixtures/proxmox/compute/servers.yml +5015 -10683
  146. data/spec/fixtures/proxmox/compute/snapshots.yml +479 -1719
  147. data/spec/fixtures/proxmox/compute/storages.yml +32 -40
  148. data/spec/fixtures/proxmox/compute/tasks.yml +118 -338
  149. data/spec/fixtures/proxmox/identity/auth.yml +10 -12
  150. data/spec/fixtures/proxmox/identity/auth_access_ticket.yml +77 -0
  151. data/spec/fixtures/proxmox/identity/auth_user_token.yml +77 -0
  152. data/spec/fixtures/proxmox/identity/common_auth.yml +40 -0
  153. data/spec/fixtures/proxmox/identity/domains.yml +145 -181
  154. data/spec/fixtures/proxmox/identity/groups.yml +72 -90
  155. data/spec/fixtures/proxmox/identity/permissions.yml +297 -189
  156. data/spec/fixtures/proxmox/identity/pools.yml +176 -421
  157. data/spec/fixtures/proxmox/identity/read_version.yml +7 -9
  158. data/spec/fixtures/proxmox/identity/roles.yml +69 -87
  159. data/spec/fixtures/proxmox/identity/tokens.yml +494 -0
  160. data/spec/fixtures/proxmox/identity/users.yml +149 -187
  161. data/spec/fixtures/proxmox/network/common_auth.yml +40 -0
  162. data/spec/fixtures/proxmox/network/networks.yml +99 -96
  163. data/spec/helpers/cpu_helper_spec.rb +27 -20
  164. data/spec/helpers/disk_helper_spec.rb +231 -187
  165. data/spec/helpers/nic_helper_spec.rb +113 -114
  166. data/spec/identity_spec.rb +110 -28
  167. data/spec/network_spec.rb +3 -3
  168. data/spec/proxmox_vcr.rb +24 -22
  169. data/spec/spec_helper.rb +4 -3
  170. metadata +155 -139
  171. data/spec/fixtures/proxmox/compute/identity_ticket.yml +0 -40
  172. data/spec/fixtures/proxmox/identity/identity_ticket.yml +0 -40
  173. data/spec/fixtures/proxmox/identity/renew.yml +0 -40
  174. data/spec/fixtures/proxmox/network/identity_ticket.yml +0 -40
@@ -0,0 +1,40 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://192.168.56.101:8006/api2/json/access/ticket
6
+ body:
7
+ encoding: US-ASCII
8
+ string: username=root%40pam&password=proxmox01
9
+ headers:
10
+ User-Agent:
11
+ - fog-core/2.2.3
12
+ Accept:
13
+ - application/json
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Cache-Control:
20
+ - max-age=0
21
+ Connection:
22
+ - close, Keep-Alive
23
+ Date:
24
+ - Wed, 25 Nov 2020 13:43:47 GMT
25
+ Pragma:
26
+ - no-cache
27
+ Server:
28
+ - pve-api-daemon/3.0
29
+ Content-Length:
30
+ - '1167'
31
+ Content-Type:
32
+ - application/json;charset=UTF-8
33
+ Expires:
34
+ - Wed, 25 Nov 2020 13:43:47 GMT
35
+ body:
36
+ encoding: ASCII-8BIT
37
+ string: '{"data":{"CSRFPreventionToken":"5FBE5F93:tNCo7nHYIIdA46RVo8yPQg9ZcbtzibFl3lhAwDPkSqc","ticket":"PVE:root@pam:5FBE5F93::J4UGO/cW6NJLxU0fQy8AnxuJhKDkIa+ZLBLUIxlXYO3Nb1ocZ15jqoPl0EEOQpI2sohhmtGYo9bptqaPPH48rmaNKzIUtHjDAg/c425GgbhkSo2jYVeCWcTTEC+nDskOiMkjdE4HIiFLpk71IMEP93hGWJ4+mnUxOLfHsRDodWdJXoGoBlxiUBu0zirFLXR60i6WCK2oX82nPYXRJbsl4VRLYcOkYXnnfaUxYgOL0veZhKRcAWlVRKQ7/lkdG1iu3XlOvEeynqcT2xHs+Z158zALA+ZzAEQ6GYdvFFKr/xR57Kd8hfOhRumKx5EaDfdeYkZP/8ZVH48tEbTXrOEQHg==","cap":{"nodes":{"Sys.Console":1,"Sys.Audit":1,"Sys.PowerMgmt":1,"Permissions.Modify":1,"Sys.Modify":1,"Sys.Syslog":1},"access":{"Group.Allocate":1,"Permissions.Modify":1,"User.Modify":1},"dc":{"Sys.Audit":1},"vms":{"VM.Config.HWType":1,"VM.Migrate":1,"VM.Snapshot.Rollback":1,"VM.Config.Memory":1,"VM.Config.Disk":1,"VM.PowerMgmt":1,"VM.Monitor":1,"VM.Backup":1,"VM.Audit":1,"VM.Config.CDROM":1,"VM.Config.Network":1,"Permissions.Modify":1,"VM.Clone":1,"VM.Allocate":1,"VM.Config.CPU":1,"VM.Console":1,"VM.Config.Options":1,"VM.Snapshot":1},"storage":{"Datastore.Allocate":1,"Permissions.Modify":1,"Datastore.Audit":1,"Datastore.AllocateSpace":1,"Datastore.AllocateTemplate":1}},"username":"root@pam"}}'
38
+ http_version:
39
+ recorded_at: Wed, 25 Nov 2020 13:43:48 GMT
40
+ recorded_with: VCR 4.0.0
@@ -8,11 +8,9 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - fog-core/2.1.2
12
- Accept:
13
- - application/json
11
+ - fog-core/2.2.3
14
12
  Cookie:
15
- - PVEAuthCookie=PVE:root@pam:5DD802A4::o4yb4/NL7JEJueeGMREt4rkA/o7w+TkICAL3IqWM0lRC0mNWwDvolr0DL+ibedzVDgDCONn3ypTcBTMxnllJX52QvuTfX8Cy0BR2mfqGxWg6acsl0YvcRFIhlYaWaSHBN5yfe23wvdnoXtHYgEUWsIda00QYPzm2dWYfnUam/vuh+va9ypvZ3NATPbF0EBEHHa+k5oBdL5Ete77+YoQUhKC7rDtZaJ0EPSkzWin+/M8bnSEDf7bETe2pS9fcg4jy7BLKzT0RHYSgMGJQ0dbpWxSzqEBo6DwnUWGqRsQ8h4AsDyR+ffxIc9HiqRFvJ5ShndMrtCjg/w08A8AM/UHABQ==
13
+ - PVEAuthCookie=PVE:root@pam:5FBE5F93::J4UGO/cW6NJLxU0fQy8AnxuJhKDkIa+ZLBLUIxlXYO3Nb1ocZ15jqoPl0EEOQpI2sohhmtGYo9bptqaPPH48rmaNKzIUtHjDAg/c425GgbhkSo2jYVeCWcTTEC+nDskOiMkjdE4HIiFLpk71IMEP93hGWJ4+mnUxOLfHsRDodWdJXoGoBlxiUBu0zirFLXR60i6WCK2oX82nPYXRJbsl4VRLYcOkYXnnfaUxYgOL0veZhKRcAWlVRKQ7/lkdG1iu3XlOvEeynqcT2xHs+Z158zALA+ZzAEQ6GYdvFFKr/xR57Kd8hfOhRumKx5EaDfdeYkZP/8ZVH48tEbTXrOEQHg==
16
14
  response:
17
15
  status:
18
16
  code: 200
@@ -23,22 +21,22 @@ http_interactions:
23
21
  Connection:
24
22
  - Keep-Alive
25
23
  Date:
26
- - Fri, 22 Nov 2019 15:45:40 GMT
24
+ - Wed, 25 Nov 2020 13:43:47 GMT
27
25
  Pragma:
28
26
  - no-cache
29
27
  Server:
30
28
  - pve-api-daemon/3.0
31
29
  Content-Length:
32
- - '207'
30
+ - '209'
33
31
  Content-Type:
34
32
  - application/json;charset=UTF-8
35
33
  Expires:
36
- - Fri, 22 Nov 2019 15:45:40 GMT
34
+ - Wed, 25 Nov 2020 13:43:47 GMT
37
35
  body:
38
36
  encoding: ASCII-8BIT
39
- string: '{"data":[{"cpu":0.182306523027616,"id":"node/pve","uptime":211,"type":"node","maxmem":2087149568,"level":"","disk":1732104192,"maxcpu":4,"maxdisk":2310864896,"status":"online","mem":890413056,"node":"pve"}]}'
40
- http_version:
41
- recorded_at: Fri, 22 Nov 2019 15:45:42 GMT
37
+ string: '{"data":[{"mem":816152576,"disk":1983594496,"maxcpu":2,"cpu":0.00538129953557645,"status":"online","level":"","node":"pve","uptime":818,"maxmem":2083995648,"type":"node","id":"node/pve","maxdisk":2839314432}]}'
38
+ http_version:
39
+ recorded_at: Wed, 25 Nov 2020 13:43:48 GMT
42
40
  - request:
43
41
  method: post
44
42
  uri: https://192.168.56.101:8006/api2/json/nodes/pve/network
@@ -47,13 +45,11 @@ http_interactions:
47
45
  string: iface=enp0s10&type=eth
48
46
  headers:
49
47
  User-Agent:
50
- - fog-core/2.1.2
51
- Accept:
52
- - application/json
53
- Csrfpreventiontoken:
54
- - 5DD802A4:AMi8Xfhz+bFVs9s+yLXQA2wjOfxDZRfXaQz+eGYxzwU
48
+ - fog-core/2.2.3
55
49
  Cookie:
56
- - PVEAuthCookie=PVE:root@pam:5DD802A4::o4yb4/NL7JEJueeGMREt4rkA/o7w+TkICAL3IqWM0lRC0mNWwDvolr0DL+ibedzVDgDCONn3ypTcBTMxnllJX52QvuTfX8Cy0BR2mfqGxWg6acsl0YvcRFIhlYaWaSHBN5yfe23wvdnoXtHYgEUWsIda00QYPzm2dWYfnUam/vuh+va9ypvZ3NATPbF0EBEHHa+k5oBdL5Ete77+YoQUhKC7rDtZaJ0EPSkzWin+/M8bnSEDf7bETe2pS9fcg4jy7BLKzT0RHYSgMGJQ0dbpWxSzqEBo6DwnUWGqRsQ8h4AsDyR+ffxIc9HiqRFvJ5ShndMrtCjg/w08A8AM/UHABQ==
50
+ - PVEAuthCookie=PVE:root@pam:5FBE5F93::J4UGO/cW6NJLxU0fQy8AnxuJhKDkIa+ZLBLUIxlXYO3Nb1ocZ15jqoPl0EEOQpI2sohhmtGYo9bptqaPPH48rmaNKzIUtHjDAg/c425GgbhkSo2jYVeCWcTTEC+nDskOiMkjdE4HIiFLpk71IMEP93hGWJ4+mnUxOLfHsRDodWdJXoGoBlxiUBu0zirFLXR60i6WCK2oX82nPYXRJbsl4VRLYcOkYXnnfaUxYgOL0veZhKRcAWlVRKQ7/lkdG1iu3XlOvEeynqcT2xHs+Z158zALA+ZzAEQ6GYdvFFKr/xR57Kd8hfOhRumKx5EaDfdeYkZP/8ZVH48tEbTXrOEQHg==
51
+ Csrfpreventiontoken:
52
+ - 5FBE5F93:tNCo7nHYIIdA46RVo8yPQg9ZcbtzibFl3lhAwDPkSqc
57
53
  response:
58
54
  status:
59
55
  code: 200
@@ -64,7 +60,7 @@ http_interactions:
64
60
  Connection:
65
61
  - close, Keep-Alive
66
62
  Date:
67
- - Fri, 22 Nov 2019 15:45:40 GMT
63
+ - Wed, 25 Nov 2020 13:43:47 GMT
68
64
  Pragma:
69
65
  - no-cache
70
66
  Server:
@@ -74,12 +70,12 @@ http_interactions:
74
70
  Content-Type:
75
71
  - application/json;charset=UTF-8
76
72
  Expires:
77
- - Fri, 22 Nov 2019 15:45:40 GMT
73
+ - Wed, 25 Nov 2020 13:43:47 GMT
78
74
  body:
79
75
  encoding: ASCII-8BIT
80
76
  string: '{"data":null}'
81
- http_version:
82
- recorded_at: Fri, 22 Nov 2019 15:45:42 GMT
77
+ http_version:
78
+ recorded_at: Wed, 25 Nov 2020 13:43:49 GMT
83
79
  - request:
84
80
  method: get
85
81
  uri: https://192.168.56.101:8006/api2/json/nodes/pve/network
@@ -88,11 +84,9 @@ http_interactions:
88
84
  string: ''
89
85
  headers:
90
86
  User-Agent:
91
- - fog-core/2.1.2
92
- Accept:
93
- - application/json
87
+ - fog-core/2.2.3
94
88
  Cookie:
95
- - PVEAuthCookie=PVE:root@pam:5DD802A4::o4yb4/NL7JEJueeGMREt4rkA/o7w+TkICAL3IqWM0lRC0mNWwDvolr0DL+ibedzVDgDCONn3ypTcBTMxnllJX52QvuTfX8Cy0BR2mfqGxWg6acsl0YvcRFIhlYaWaSHBN5yfe23wvdnoXtHYgEUWsIda00QYPzm2dWYfnUam/vuh+va9ypvZ3NATPbF0EBEHHa+k5oBdL5Ete77+YoQUhKC7rDtZaJ0EPSkzWin+/M8bnSEDf7bETe2pS9fcg4jy7BLKzT0RHYSgMGJQ0dbpWxSzqEBo6DwnUWGqRsQ8h4AsDyR+ffxIc9HiqRFvJ5ShndMrtCjg/w08A8AM/UHABQ==
89
+ - PVEAuthCookie=PVE:root@pam:5FBE5F93::J4UGO/cW6NJLxU0fQy8AnxuJhKDkIa+ZLBLUIxlXYO3Nb1ocZ15jqoPl0EEOQpI2sohhmtGYo9bptqaPPH48rmaNKzIUtHjDAg/c425GgbhkSo2jYVeCWcTTEC+nDskOiMkjdE4HIiFLpk71IMEP93hGWJ4+mnUxOLfHsRDodWdJXoGoBlxiUBu0zirFLXR60i6WCK2oX82nPYXRJbsl4VRLYcOkYXnnfaUxYgOL0veZhKRcAWlVRKQ7/lkdG1iu3XlOvEeynqcT2xHs+Z158zALA+ZzAEQ6GYdvFFKr/xR57Kd8hfOhRumKx5EaDfdeYkZP/8ZVH48tEbTXrOEQHg==
96
90
  response:
97
91
  status:
98
92
  code: 200
@@ -103,25 +97,35 @@ http_interactions:
103
97
  Connection:
104
98
  - Keep-Alive
105
99
  Date:
106
- - Fri, 22 Nov 2019 15:45:40 GMT
100
+ - Wed, 25 Nov 2020 13:43:47 GMT
107
101
  Pragma:
108
102
  - no-cache
109
103
  Server:
110
104
  - pve-api-daemon/3.0
111
105
  Content-Length:
112
- - '938'
106
+ - '1696'
113
107
  Content-Type:
114
108
  - application/json;charset=UTF-8
115
109
  Expires:
116
- - Fri, 22 Nov 2019 15:45:40 GMT
110
+ - Wed, 25 Nov 2020 13:43:47 GMT
117
111
  body:
118
112
  encoding: ASCII-8BIT
119
- string: '{"data":[{"netmask":"255.255.255.0","bridge_ports":"enp0s3","iface":"vmbr0","bridge_fd":"0","type":"bridge","families":["inet"],"method6":"manual","gateway":"10.0.3.2","cidr":"192.168.56.101/24","autostart":1,"active":1,"bridge_stp":"off","address":"192.168.56.101","priority":6,"method":"static"},{"method6":"manual","families":["inet"],"active":1,"exists":1,"method":"manual","priority":3,"type":"eth","iface":"enp0s3"},{"families":["inet"],"method6":"manual","priority":5,"method":"manual","iface":"enp0s10","type":"eth"},{"priority":4,"exists":1,"method":"manual","families":["inet"],"method6":"manual","iface":"enp0s8","type":"eth"}],"changes":"---
120
- /etc/network/interfaces\t2019-11-22 16:41:42.032000000 +0100\n+++ /etc/network/interfaces.new\t2019-11-22
121
- 16:45:40.668000000 +0100\n@@ -16,6 +16,8 @@\n \n iface enp0s8 inet manual\n
122
- \n+iface enp0s10 inet manual\n+\n auto vmbr0\n iface vmbr0 inet static\n \taddress 192.168.56.101\n"}'
123
- http_version:
124
- recorded_at: Fri, 22 Nov 2019 15:45:42 GMT
113
+ string: '{"changes":"--- /etc/network/interfaces\t2020-09-24 13:49:08.604000707
114
+ +0200\n+++ /etc/network/interfaces.new\t2020-11-25 14:43:47.067974101 +0100\n@@
115
+ -1,15 +1,28 @@\n+# network interface settings; autogenerated\n+# Please do
116
+ NOT modify this file directly, unless you know what\n+# you''re doing.\n+#\n+#
117
+ If you want to manage parts of the network configuration manually,\n+# please
118
+ utilize the ''source'' or ''source-directory'' directives to do\n+# so.\n+#
119
+ PVE will preserve these directives, but will NOT read its network\n+# configuration
120
+ from sourced files, so do not attempt to move any of\n+# the PVE managed interfaces
121
+ into external files!\n+\n auto lo\n iface lo inet loopback\n \n iface enp0s3
122
+ inet manual\n \n+iface enp0s8 inet manual\n+\n+iface enp0s10 inet manual\n+\n
123
+ auto vmbr0\n iface vmbr0 inet static\n-\taddress 192.168.56.101\n-\tnetmask
124
+ 255.255.255.0\n+\taddress 192.168.56.101/24\n \tgateway 10.0.3.2\n-\tbridge_ports
125
+ enp0s3\n-\tbridge_stp off\n-\tbridge_fd 0\n+\tbridge-ports enp0s3\n+\tbridge-stp
126
+ off\n+\tbridge-fd 0\n \n-iface enp0s8 inet manual\n","data":[{"priority":5,"iface":"enp0s10","method6":"manual","method":"manual","families":["inet"],"type":"eth"},{"exists":1,"families":["inet"],"method":"manual","iface":"enp0s3","type":"eth","active":1,"method6":"manual","priority":3},{"type":"eth","exists":1,"families":["inet"],"method6":"manual","method":"manual","iface":"enp0s8","priority":4},{"type":"bridge","bridge_stp":"off","netmask":"24","bridge_fd":"0","cidr":"192.168.56.101/24","method":"static","active":1,"autostart":1,"priority":6,"method6":"manual","bridge_ports":"enp0s3","families":["inet"],"gateway":"10.0.3.2","address":"192.168.56.101","iface":"vmbr0"}]}'
127
+ http_version:
128
+ recorded_at: Wed, 25 Nov 2020 13:43:49 GMT
125
129
  - request:
126
130
  method: post
127
131
  uri: https://192.168.56.101:8006/api2/json/nodes/pve/network
@@ -130,13 +134,11 @@ http_interactions:
130
134
  string: iface=enp0s10&type=eth
131
135
  headers:
132
136
  User-Agent:
133
- - fog-core/2.1.2
134
- Accept:
135
- - application/json
136
- Csrfpreventiontoken:
137
- - 5DD802A4:AMi8Xfhz+bFVs9s+yLXQA2wjOfxDZRfXaQz+eGYxzwU
137
+ - fog-core/2.2.3
138
138
  Cookie:
139
- - PVEAuthCookie=PVE:root@pam:5DD802A4::o4yb4/NL7JEJueeGMREt4rkA/o7w+TkICAL3IqWM0lRC0mNWwDvolr0DL+ibedzVDgDCONn3ypTcBTMxnllJX52QvuTfX8Cy0BR2mfqGxWg6acsl0YvcRFIhlYaWaSHBN5yfe23wvdnoXtHYgEUWsIda00QYPzm2dWYfnUam/vuh+va9ypvZ3NATPbF0EBEHHa+k5oBdL5Ete77+YoQUhKC7rDtZaJ0EPSkzWin+/M8bnSEDf7bETe2pS9fcg4jy7BLKzT0RHYSgMGJQ0dbpWxSzqEBo6DwnUWGqRsQ8h4AsDyR+ffxIc9HiqRFvJ5ShndMrtCjg/w08A8AM/UHABQ==
139
+ - PVEAuthCookie=PVE:root@pam:5FBE5F93::J4UGO/cW6NJLxU0fQy8AnxuJhKDkIa+ZLBLUIxlXYO3Nb1ocZ15jqoPl0EEOQpI2sohhmtGYo9bptqaPPH48rmaNKzIUtHjDAg/c425GgbhkSo2jYVeCWcTTEC+nDskOiMkjdE4HIiFLpk71IMEP93hGWJ4+mnUxOLfHsRDodWdJXoGoBlxiUBu0zirFLXR60i6WCK2oX82nPYXRJbsl4VRLYcOkYXnnfaUxYgOL0veZhKRcAWlVRKQ7/lkdG1iu3XlOvEeynqcT2xHs+Z158zALA+ZzAEQ6GYdvFFKr/xR57Kd8hfOhRumKx5EaDfdeYkZP/8ZVH48tEbTXrOEQHg==
140
+ Csrfpreventiontoken:
141
+ - 5FBE5F93:tNCo7nHYIIdA46RVo8yPQg9ZcbtzibFl3lhAwDPkSqc
140
142
  response:
141
143
  status:
142
144
  code: 400
@@ -147,7 +149,7 @@ http_interactions:
147
149
  Connection:
148
150
  - close
149
151
  Date:
150
- - Fri, 22 Nov 2019 15:45:40 GMT
152
+ - Wed, 25 Nov 2020 13:43:47 GMT
151
153
  Pragma:
152
154
  - no-cache
153
155
  Server:
@@ -157,12 +159,12 @@ http_interactions:
157
159
  Content-Type:
158
160
  - application/json;charset=UTF-8
159
161
  Expires:
160
- - Fri, 22 Nov 2019 15:45:40 GMT
162
+ - Wed, 25 Nov 2020 13:43:47 GMT
161
163
  body:
162
164
  encoding: ASCII-8BIT
163
165
  string: '{"data":null,"errors":{"iface":"interface already exists"}}'
164
- http_version:
165
- recorded_at: Fri, 22 Nov 2019 15:45:42 GMT
166
+ http_version:
167
+ recorded_at: Wed, 25 Nov 2020 13:43:49 GMT
166
168
  - request:
167
169
  method: get
168
170
  uri: https://192.168.56.101:8006/api2/json/nodes/pve/network
@@ -171,11 +173,9 @@ http_interactions:
171
173
  string: ''
172
174
  headers:
173
175
  User-Agent:
174
- - fog-core/2.1.2
175
- Accept:
176
- - application/json
176
+ - fog-core/2.2.3
177
177
  Cookie:
178
- - PVEAuthCookie=PVE:root@pam:5DD802A4::o4yb4/NL7JEJueeGMREt4rkA/o7w+TkICAL3IqWM0lRC0mNWwDvolr0DL+ibedzVDgDCONn3ypTcBTMxnllJX52QvuTfX8Cy0BR2mfqGxWg6acsl0YvcRFIhlYaWaSHBN5yfe23wvdnoXtHYgEUWsIda00QYPzm2dWYfnUam/vuh+va9ypvZ3NATPbF0EBEHHa+k5oBdL5Ete77+YoQUhKC7rDtZaJ0EPSkzWin+/M8bnSEDf7bETe2pS9fcg4jy7BLKzT0RHYSgMGJQ0dbpWxSzqEBo6DwnUWGqRsQ8h4AsDyR+ffxIc9HiqRFvJ5ShndMrtCjg/w08A8AM/UHABQ==
178
+ - PVEAuthCookie=PVE:root@pam:5FBE5F93::J4UGO/cW6NJLxU0fQy8AnxuJhKDkIa+ZLBLUIxlXYO3Nb1ocZ15jqoPl0EEOQpI2sohhmtGYo9bptqaPPH48rmaNKzIUtHjDAg/c425GgbhkSo2jYVeCWcTTEC+nDskOiMkjdE4HIiFLpk71IMEP93hGWJ4+mnUxOLfHsRDodWdJXoGoBlxiUBu0zirFLXR60i6WCK2oX82nPYXRJbsl4VRLYcOkYXnnfaUxYgOL0veZhKRcAWlVRKQ7/lkdG1iu3XlOvEeynqcT2xHs+Z158zALA+ZzAEQ6GYdvFFKr/xR57Kd8hfOhRumKx5EaDfdeYkZP/8ZVH48tEbTXrOEQHg==
179
179
  response:
180
180
  status:
181
181
  code: 200
@@ -186,25 +186,36 @@ http_interactions:
186
186
  Connection:
187
187
  - Keep-Alive
188
188
  Date:
189
- - Fri, 22 Nov 2019 15:45:40 GMT
189
+ - Wed, 25 Nov 2020 13:43:47 GMT
190
190
  Pragma:
191
191
  - no-cache
192
192
  Server:
193
193
  - pve-api-daemon/3.0
194
194
  Content-Length:
195
- - '938'
195
+ - '1696'
196
196
  Content-Type:
197
197
  - application/json;charset=UTF-8
198
198
  Expires:
199
- - Fri, 22 Nov 2019 15:45:40 GMT
199
+ - Wed, 25 Nov 2020 13:43:47 GMT
200
200
  body:
201
201
  encoding: ASCII-8BIT
202
- string: '{"data":[{"netmask":"255.255.255.0","bridge_ports":"enp0s3","bridge_fd":"0","iface":"vmbr0","type":"bridge","families":["inet"],"method6":"manual","gateway":"10.0.3.2","cidr":"192.168.56.101/24","autostart":1,"active":1,"bridge_stp":"off","address":"192.168.56.101","priority":6,"method":"static"},{"iface":"enp0s10","type":"eth","method6":"manual","families":["inet"],"method":"manual","priority":5},{"type":"eth","iface":"enp0s8","method":"manual","exists":1,"priority":4,"method6":"manual","families":["inet"]},{"type":"eth","iface":"enp0s3","priority":3,"method":"manual","exists":1,"active":1,"families":["inet"],"method6":"manual"}],"changes":"---
203
- /etc/network/interfaces\t2019-11-22 16:41:42.032000000 +0100\n+++ /etc/network/interfaces.new\t2019-11-22
204
- 16:45:40.668000000 +0100\n@@ -16,6 +16,8 @@\n \n iface enp0s8 inet manual\n
205
- \n+iface enp0s10 inet manual\n+\n auto vmbr0\n iface vmbr0 inet static\n \taddress 192.168.56.101\n"}'
206
- http_version:
207
- recorded_at: Fri, 22 Nov 2019 15:45:42 GMT
202
+ string: '{"data":[{"families":["inet"],"bridge_fd":"0","netmask":"24","bridge_stp":"off","gateway":"10.0.3.2","address":"192.168.56.101","cidr":"192.168.56.101/24","method":"static","iface":"vmbr0","active":1,"type":"bridge","autostart":1,"priority":6,"method6":"manual","bridge_ports":"enp0s3"},{"method":"manual","iface":"enp0s8","families":["inet"],"exists":1,"priority":4,"method6":"manual","type":"eth"},{"priority":3,"iface":"enp0s3","method":"manual","method6":"manual","families":["inet"],"active":1,"exists":1,"type":"eth"},{"type":"eth","families":["inet"],"method6":"manual","method":"manual","iface":"enp0s10","priority":5}],"changes":"---
203
+ /etc/network/interfaces\t2020-09-24 13:49:08.604000707 +0200\n+++ /etc/network/interfaces.new\t2020-11-25
204
+ 14:43:47.067974101 +0100\n@@ -1,15 +1,28 @@\n+# network interface settings;
205
+ autogenerated\n+# Please do NOT modify this file directly, unless you know
206
+ what\n+# you''re doing.\n+#\n+# If you want to manage parts of the network
207
+ configuration manually,\n+# please utilize the ''source'' or ''source-directory''
208
+ directives to do\n+# so.\n+# PVE will preserve these directives, but will
209
+ NOT read its network\n+# configuration from sourced files, so do not attempt
210
+ to move any of\n+# the PVE managed interfaces into external files!\n+\n auto
211
+ lo\n iface lo inet loopback\n \n iface enp0s3 inet manual\n \n+iface enp0s8
212
+ inet manual\n+\n+iface enp0s10 inet manual\n+\n auto vmbr0\n iface vmbr0 inet
213
+ static\n-\taddress 192.168.56.101\n-\tnetmask 255.255.255.0\n+\taddress 192.168.56.101/24\n
214
+ \tgateway 10.0.3.2\n-\tbridge_ports enp0s3\n-\tbridge_stp off\n-\tbridge_fd
215
+ 0\n+\tbridge-ports enp0s3\n+\tbridge-stp off\n+\tbridge-fd 0\n \n-iface enp0s8
216
+ inet manual\n"}'
217
+ http_version:
218
+ recorded_at: Wed, 25 Nov 2020 13:43:49 GMT
208
219
  - request:
209
220
  method: put
210
221
  uri: https://192.168.56.101:8006/api2/json/nodes/pve/network/enp0s10
@@ -213,13 +224,11 @@ http_interactions:
213
224
  string: comments=test&type=eth
214
225
  headers:
215
226
  User-Agent:
216
- - fog-core/2.1.2
217
- Accept:
218
- - application/json
219
- Csrfpreventiontoken:
220
- - 5DD802A4:AMi8Xfhz+bFVs9s+yLXQA2wjOfxDZRfXaQz+eGYxzwU
227
+ - fog-core/2.2.3
221
228
  Cookie:
222
- - PVEAuthCookie=PVE:root@pam:5DD802A4::o4yb4/NL7JEJueeGMREt4rkA/o7w+TkICAL3IqWM0lRC0mNWwDvolr0DL+ibedzVDgDCONn3ypTcBTMxnllJX52QvuTfX8Cy0BR2mfqGxWg6acsl0YvcRFIhlYaWaSHBN5yfe23wvdnoXtHYgEUWsIda00QYPzm2dWYfnUam/vuh+va9ypvZ3NATPbF0EBEHHa+k5oBdL5Ete77+YoQUhKC7rDtZaJ0EPSkzWin+/M8bnSEDf7bETe2pS9fcg4jy7BLKzT0RHYSgMGJQ0dbpWxSzqEBo6DwnUWGqRsQ8h4AsDyR+ffxIc9HiqRFvJ5ShndMrtCjg/w08A8AM/UHABQ==
229
+ - PVEAuthCookie=PVE:root@pam:5FBE5F93::J4UGO/cW6NJLxU0fQy8AnxuJhKDkIa+ZLBLUIxlXYO3Nb1ocZ15jqoPl0EEOQpI2sohhmtGYo9bptqaPPH48rmaNKzIUtHjDAg/c425GgbhkSo2jYVeCWcTTEC+nDskOiMkjdE4HIiFLpk71IMEP93hGWJ4+mnUxOLfHsRDodWdJXoGoBlxiUBu0zirFLXR60i6WCK2oX82nPYXRJbsl4VRLYcOkYXnnfaUxYgOL0veZhKRcAWlVRKQ7/lkdG1iu3XlOvEeynqcT2xHs+Z158zALA+ZzAEQ6GYdvFFKr/xR57Kd8hfOhRumKx5EaDfdeYkZP/8ZVH48tEbTXrOEQHg==
230
+ Csrfpreventiontoken:
231
+ - 5FBE5F93:tNCo7nHYIIdA46RVo8yPQg9ZcbtzibFl3lhAwDPkSqc
223
232
  response:
224
233
  status:
225
234
  code: 200
@@ -230,7 +239,7 @@ http_interactions:
230
239
  Connection:
231
240
  - Keep-Alive, Keep-Alive
232
241
  Date:
233
- - Fri, 22 Nov 2019 15:45:40 GMT
242
+ - Wed, 25 Nov 2020 13:43:47 GMT
234
243
  Pragma:
235
244
  - no-cache
236
245
  Server:
@@ -240,12 +249,12 @@ http_interactions:
240
249
  Content-Type:
241
250
  - application/json;charset=UTF-8
242
251
  Expires:
243
- - Fri, 22 Nov 2019 15:45:40 GMT
252
+ - Wed, 25 Nov 2020 13:43:47 GMT
244
253
  body:
245
254
  encoding: ASCII-8BIT
246
255
  string: '{"data":null}'
247
- http_version:
248
- recorded_at: Fri, 22 Nov 2019 15:45:42 GMT
256
+ http_version:
257
+ recorded_at: Wed, 25 Nov 2020 13:43:49 GMT
249
258
  - request:
250
259
  method: post
251
260
  uri: https://192.168.56.101:8006/api2/json/nodes/pve/status
@@ -254,13 +263,11 @@ http_interactions:
254
263
  string: command=reboot
255
264
  headers:
256
265
  User-Agent:
257
- - fog-core/2.1.2
258
- Accept:
259
- - application/json
260
- Csrfpreventiontoken:
261
- - 5DD802A4:AMi8Xfhz+bFVs9s+yLXQA2wjOfxDZRfXaQz+eGYxzwU
266
+ - fog-core/2.2.3
262
267
  Cookie:
263
- - PVEAuthCookie=PVE:root@pam:5DD802A4::o4yb4/NL7JEJueeGMREt4rkA/o7w+TkICAL3IqWM0lRC0mNWwDvolr0DL+ibedzVDgDCONn3ypTcBTMxnllJX52QvuTfX8Cy0BR2mfqGxWg6acsl0YvcRFIhlYaWaSHBN5yfe23wvdnoXtHYgEUWsIda00QYPzm2dWYfnUam/vuh+va9ypvZ3NATPbF0EBEHHa+k5oBdL5Ete77+YoQUhKC7rDtZaJ0EPSkzWin+/M8bnSEDf7bETe2pS9fcg4jy7BLKzT0RHYSgMGJQ0dbpWxSzqEBo6DwnUWGqRsQ8h4AsDyR+ffxIc9HiqRFvJ5ShndMrtCjg/w08A8AM/UHABQ==
268
+ - PVEAuthCookie=PVE:root@pam:5FBE5F93::J4UGO/cW6NJLxU0fQy8AnxuJhKDkIa+ZLBLUIxlXYO3Nb1ocZ15jqoPl0EEOQpI2sohhmtGYo9bptqaPPH48rmaNKzIUtHjDAg/c425GgbhkSo2jYVeCWcTTEC+nDskOiMkjdE4HIiFLpk71IMEP93hGWJ4+mnUxOLfHsRDodWdJXoGoBlxiUBu0zirFLXR60i6WCK2oX82nPYXRJbsl4VRLYcOkYXnnfaUxYgOL0veZhKRcAWlVRKQ7/lkdG1iu3XlOvEeynqcT2xHs+Z158zALA+ZzAEQ6GYdvFFKr/xR57Kd8hfOhRumKx5EaDfdeYkZP/8ZVH48tEbTXrOEQHg==
269
+ Csrfpreventiontoken:
270
+ - 5FBE5F93:tNCo7nHYIIdA46RVo8yPQg9ZcbtzibFl3lhAwDPkSqc
264
271
  response:
265
272
  status:
266
273
  code: 200
@@ -271,7 +278,7 @@ http_interactions:
271
278
  Connection:
272
279
  - close, Keep-Alive
273
280
  Date:
274
- - Fri, 22 Nov 2019 15:45:40 GMT
281
+ - Wed, 25 Nov 2020 13:43:47 GMT
275
282
  Pragma:
276
283
  - no-cache
277
284
  Server:
@@ -281,12 +288,12 @@ http_interactions:
281
288
  Content-Type:
282
289
  - application/json;charset=UTF-8
283
290
  Expires:
284
- - Fri, 22 Nov 2019 15:45:40 GMT
291
+ - Wed, 25 Nov 2020 13:43:47 GMT
285
292
  body:
286
293
  encoding: ASCII-8BIT
287
294
  string: '{"data":null}'
288
- http_version:
289
- recorded_at: Fri, 22 Nov 2019 15:45:42 GMT
295
+ http_version:
296
+ recorded_at: Wed, 25 Nov 2020 13:43:49 GMT
290
297
  - request:
291
298
  method: delete
292
299
  uri: https://192.168.56.101:8006/api2/json/nodes/pve/network/enp0s10
@@ -295,13 +302,11 @@ http_interactions:
295
302
  string: ''
296
303
  headers:
297
304
  User-Agent:
298
- - fog-core/2.1.2
299
- Accept:
300
- - application/json
301
- Csrfpreventiontoken:
302
- - 5DD802A4:AMi8Xfhz+bFVs9s+yLXQA2wjOfxDZRfXaQz+eGYxzwU
305
+ - fog-core/2.2.3
303
306
  Cookie:
304
- - PVEAuthCookie=PVE:root@pam:5DD802A4::o4yb4/NL7JEJueeGMREt4rkA/o7w+TkICAL3IqWM0lRC0mNWwDvolr0DL+ibedzVDgDCONn3ypTcBTMxnllJX52QvuTfX8Cy0BR2mfqGxWg6acsl0YvcRFIhlYaWaSHBN5yfe23wvdnoXtHYgEUWsIda00QYPzm2dWYfnUam/vuh+va9ypvZ3NATPbF0EBEHHa+k5oBdL5Ete77+YoQUhKC7rDtZaJ0EPSkzWin+/M8bnSEDf7bETe2pS9fcg4jy7BLKzT0RHYSgMGJQ0dbpWxSzqEBo6DwnUWGqRsQ8h4AsDyR+ffxIc9HiqRFvJ5ShndMrtCjg/w08A8AM/UHABQ==
307
+ - PVEAuthCookie=PVE:root@pam:5FBE5F93::J4UGO/cW6NJLxU0fQy8AnxuJhKDkIa+ZLBLUIxlXYO3Nb1ocZ15jqoPl0EEOQpI2sohhmtGYo9bptqaPPH48rmaNKzIUtHjDAg/c425GgbhkSo2jYVeCWcTTEC+nDskOiMkjdE4HIiFLpk71IMEP93hGWJ4+mnUxOLfHsRDodWdJXoGoBlxiUBu0zirFLXR60i6WCK2oX82nPYXRJbsl4VRLYcOkYXnnfaUxYgOL0veZhKRcAWlVRKQ7/lkdG1iu3XlOvEeynqcT2xHs+Z158zALA+ZzAEQ6GYdvFFKr/xR57Kd8hfOhRumKx5EaDfdeYkZP/8ZVH48tEbTXrOEQHg==
308
+ Csrfpreventiontoken:
309
+ - 5FBE5F93:tNCo7nHYIIdA46RVo8yPQg9ZcbtzibFl3lhAwDPkSqc
305
310
  response:
306
311
  status:
307
312
  code: 200
@@ -312,7 +317,7 @@ http_interactions:
312
317
  Connection:
313
318
  - Keep-Alive, Keep-Alive
314
319
  Date:
315
- - Fri, 22 Nov 2019 15:46:41 GMT
320
+ - Wed, 25 Nov 2020 13:44:48 GMT
316
321
  Pragma:
317
322
  - no-cache
318
323
  Server:
@@ -322,12 +327,12 @@ http_interactions:
322
327
  Content-Type:
323
328
  - application/json;charset=UTF-8
324
329
  Expires:
325
- - Fri, 22 Nov 2019 15:46:41 GMT
330
+ - Wed, 25 Nov 2020 13:44:48 GMT
326
331
  body:
327
332
  encoding: ASCII-8BIT
328
333
  string: '{"data":null}'
329
- http_version:
330
- recorded_at: Fri, 22 Nov 2019 15:46:43 GMT
334
+ http_version:
335
+ recorded_at: Wed, 25 Nov 2020 13:44:49 GMT
331
336
  - request:
332
337
  method: post
333
338
  uri: https://192.168.56.101:8006/api2/json/nodes/pve/status
@@ -336,13 +341,11 @@ http_interactions:
336
341
  string: command=reboot
337
342
  headers:
338
343
  User-Agent:
339
- - fog-core/2.1.2
340
- Accept:
341
- - application/json
342
- Csrfpreventiontoken:
343
- - 5DD802A4:AMi8Xfhz+bFVs9s+yLXQA2wjOfxDZRfXaQz+eGYxzwU
344
+ - fog-core/2.2.3
344
345
  Cookie:
345
- - PVEAuthCookie=PVE:root@pam:5DD802A4::o4yb4/NL7JEJueeGMREt4rkA/o7w+TkICAL3IqWM0lRC0mNWwDvolr0DL+ibedzVDgDCONn3ypTcBTMxnllJX52QvuTfX8Cy0BR2mfqGxWg6acsl0YvcRFIhlYaWaSHBN5yfe23wvdnoXtHYgEUWsIda00QYPzm2dWYfnUam/vuh+va9ypvZ3NATPbF0EBEHHa+k5oBdL5Ete77+YoQUhKC7rDtZaJ0EPSkzWin+/M8bnSEDf7bETe2pS9fcg4jy7BLKzT0RHYSgMGJQ0dbpWxSzqEBo6DwnUWGqRsQ8h4AsDyR+ffxIc9HiqRFvJ5ShndMrtCjg/w08A8AM/UHABQ==
346
+ - PVEAuthCookie=PVE:root@pam:5FBE5F93::J4UGO/cW6NJLxU0fQy8AnxuJhKDkIa+ZLBLUIxlXYO3Nb1ocZ15jqoPl0EEOQpI2sohhmtGYo9bptqaPPH48rmaNKzIUtHjDAg/c425GgbhkSo2jYVeCWcTTEC+nDskOiMkjdE4HIiFLpk71IMEP93hGWJ4+mnUxOLfHsRDodWdJXoGoBlxiUBu0zirFLXR60i6WCK2oX82nPYXRJbsl4VRLYcOkYXnnfaUxYgOL0veZhKRcAWlVRKQ7/lkdG1iu3XlOvEeynqcT2xHs+Z158zALA+ZzAEQ6GYdvFFKr/xR57Kd8hfOhRumKx5EaDfdeYkZP/8ZVH48tEbTXrOEQHg==
347
+ Csrfpreventiontoken:
348
+ - 5FBE5F93:tNCo7nHYIIdA46RVo8yPQg9ZcbtzibFl3lhAwDPkSqc
346
349
  response:
347
350
  status:
348
351
  code: 200
@@ -353,7 +356,7 @@ http_interactions:
353
356
  Connection:
354
357
  - close, Keep-Alive
355
358
  Date:
356
- - Fri, 22 Nov 2019 15:46:41 GMT
359
+ - Wed, 25 Nov 2020 13:44:48 GMT
357
360
  Pragma:
358
361
  - no-cache
359
362
  Server:
@@ -363,10 +366,10 @@ http_interactions:
363
366
  Content-Type:
364
367
  - application/json;charset=UTF-8
365
368
  Expires:
366
- - Fri, 22 Nov 2019 15:46:41 GMT
369
+ - Wed, 25 Nov 2020 13:44:48 GMT
367
370
  body:
368
371
  encoding: ASCII-8BIT
369
372
  string: '{"data":null}'
370
- http_version:
371
- recorded_at: Fri, 22 Nov 2019 15:46:43 GMT
373
+ http_version:
374
+ recorded_at: Wed, 25 Nov 2020 13:44:49 GMT
372
375
  recorded_with: VCR 4.0.0
@@ -23,10 +23,10 @@ require 'fog/proxmox/helpers/cpu_helper'
23
23
  describe Fog::Proxmox::CpuHelper do
24
24
 
25
25
  let(:cpu) do
26
- 'cputype=Skylake-Client,flags=+spec-ctrl;+pcid'
26
+ 'cputype=Skylake-Client,flags=+spec-ctrl;+pcid;+ssbd;-aes'
27
27
  end
28
28
  let(:cpu_nocputype) do
29
- 'kvm64,flags=+spec-ctrl;+pcid'
29
+ 'kvm64,flags=+spec-ctrl;+pcid;+ssbd'
30
30
  end
31
31
  let(:cpu_nospectre) do
32
32
  'cputype=kvm64,flags=+pcid'
@@ -34,37 +34,44 @@ require 'fog/proxmox/helpers/cpu_helper'
34
34
  let(:cpu_nopcid) do
35
35
  'cputype=kvm64,flags=+spec-ctrl'
36
36
  end
37
+ let(:cpu_nossbd) do
38
+ 'cputype=kvm64,flags=+pcid'
39
+ end
37
40
 
38
- describe '#extract_type' do
41
+ describe '#extract_cputype' do
39
42
  it "returns string" do
40
- result = Fog::Proxmox::CpuHelper.extract_type(cpu)
43
+ result = Fog::Proxmox::CpuHelper.extract_cputype(cpu)
41
44
  assert_equal('Skylake-Client', result)
42
45
  end
43
46
  it "returns string" do
44
- result = Fog::Proxmox::CpuHelper.extract_type(cpu_nocputype)
47
+ result = Fog::Proxmox::CpuHelper.extract_cputype(cpu_nocputype)
45
48
  assert_equal('kvm64', result)
46
49
  end
47
50
  end
48
51
 
49
- describe '#has_spectre?' do
50
- it "returns true" do
51
- result = Fog::Proxmox::CpuHelper.has_spectre?(cpu)
52
- assert result
52
+ describe '#flag_value' do
53
+ it "returns +1" do
54
+ result = Fog::Proxmox::CpuHelper.flag_value(cpu, 'spec-ctrl')
55
+ assert_equal('+1', result)
53
56
  end
54
- it "returns false" do
55
- result = Fog::Proxmox::CpuHelper.has_spectre?(cpu_nospectre)
56
- assert !result
57
+ it "returns -1" do
58
+ result = Fog::Proxmox::CpuHelper.flag_value(cpu, 'aes')
59
+ assert_equal('-1', result)
60
+ end
61
+ it "returns 0" do
62
+ result = Fog::Proxmox::CpuHelper.flag_value(cpu, 'amd-ssbd')
63
+ assert_equal('0', result)
57
64
  end
58
65
  end
59
-
60
- describe '#has_pcid?' do
61
- it "returns true" do
62
- result = Fog::Proxmox::CpuHelper.has_pcid?(cpu)
63
- assert result
66
+
67
+ describe '#flatten ' do
68
+ it "returns cputype=kvm64,flags=+pcid;+ibpb;-hv-tlbflush" do
69
+ result = Fog::Proxmox::CpuHelper.flatten("cpu_type"=>"kvm64", "spectre"=>"0", "pcid"=>"+1", "ssbd"=>"0", "ibpb"=>"+1", "virt_ssbd"=>"0", "amd_ssbd"=>"0", "amd_no_ssb"=>"0", "md_clear"=>"0", "pdpe1gb"=>"0", "hv_tlbflush"=>"-1", "aes"=>"0", "hv_evmcs"=>"0")
70
+ assert_equal('cputype=kvm64,flags=+pcid;+ibpb;-hv-tlbflush', result)
64
71
  end
65
- it "returns false" do
66
- result = Fog::Proxmox::CpuHelper.has_pcid?(cpu_nopcid)
67
- assert !result
72
+ it "returns cputype=Skylake-Client,flags=+spec-ctrl;+pcid;+amd-no-ssbd'" do
73
+ result = Fog::Proxmox::CpuHelper.flatten('cpu_type' => 'Skylake-Client', 'pcid' => '+1', 'spectre' => '+1', 'amd_no_ssb' => '-1')
74
+ assert_equal('cputype=Skylake-Client,flags=+spec-ctrl;+pcid;-amd-no-ssb', result)
68
75
  end
69
76
  end
70
77
  end