hybrid_platforms_conductor 33.9.2 → 33.9.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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/bin/last_deploys +3 -4
  4. data/docs/gen/mermaid/README.md-0.png +0 -0
  5. data/docs/gen/mermaid/docs/executables/check-node.md-0.png +0 -0
  6. data/docs/gen/mermaid/docs/executables/deploy.md-0.png +0 -0
  7. data/docs/gen/mermaid/docs/executables/free_ips.md-0.png +0 -0
  8. data/docs/gen/mermaid/docs/executables/free_veids.md-0.png +0 -0
  9. data/docs/gen/mermaid/docs/executables/get_impacted_nodes.md-0.png +0 -0
  10. data/docs/gen/mermaid/docs/executables/last_deploys.md-0.png +0 -0
  11. data/docs/gen/mermaid/docs/executables/nodes_to_deploy.md-0.png +0 -0
  12. data/docs/gen/mermaid/docs/executables/report.md-0.png +0 -0
  13. data/docs/gen/mermaid/docs/executables/run.md-0.png +0 -0
  14. data/docs/gen/mermaid/docs/executables/setup.md-0.png +0 -0
  15. data/docs/gen/mermaid/docs/executables/ssh_config.md-0.png +0 -0
  16. data/docs/gen/mermaid/docs/executables/test.md-0.png +0 -0
  17. data/lib/hybrid_platforms_conductor/actions_executor.rb +2 -2
  18. data/lib/hybrid_platforms_conductor/common_config_dsl/file_system_tests.rb +2 -2
  19. data/lib/hybrid_platforms_conductor/config.rb +1 -0
  20. data/lib/hybrid_platforms_conductor/deployer.rb +12 -12
  21. data/lib/hybrid_platforms_conductor/executable.rb +1 -1
  22. data/lib/hybrid_platforms_conductor/hpc_plugins/cmdb/host_ip.rb +21 -7
  23. data/lib/hybrid_platforms_conductor/hpc_plugins/cmdb/platform_handlers.rb +2 -2
  24. data/lib/hybrid_platforms_conductor/hpc_plugins/connector/ssh.rb +1 -1
  25. data/lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/serverless_chef.rb +1 -2
  26. data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/proxmox/proxmox_waiter.rb +6 -6
  27. data/lib/hybrid_platforms_conductor/hpc_plugins/provisioner/proxmox.rb +2 -2
  28. data/lib/hybrid_platforms_conductor/hpc_plugins/report/mediawiki.rb +1 -1
  29. data/lib/hybrid_platforms_conductor/hpc_plugins/secrets_reader/keepass.rb +6 -6
  30. data/lib/hybrid_platforms_conductor/hpc_plugins/test/file_system.rb +2 -2
  31. data/lib/hybrid_platforms_conductor/hpc_plugins/test/file_system_hdfs.rb +2 -2
  32. data/lib/hybrid_platforms_conductor/hpc_plugins/test/ip.rb +1 -1
  33. data/lib/hybrid_platforms_conductor/hpc_plugins/test/linear_strategy.rb +1 -1
  34. data/lib/hybrid_platforms_conductor/hpc_plugins/test/private_ips.rb +1 -2
  35. data/lib/hybrid_platforms_conductor/hpc_plugins/test/public_ips.rb +1 -2
  36. data/lib/hybrid_platforms_conductor/hpc_plugins/test/veids.rb +1 -2
  37. data/lib/hybrid_platforms_conductor/hpc_plugins/test/vulnerabilities.rb +2 -2
  38. data/lib/hybrid_platforms_conductor/plugins.rb +4 -3
  39. data/lib/hybrid_platforms_conductor/tests_runner.rb +2 -2
  40. data/lib/hybrid_platforms_conductor/topographer.rb +5 -6
  41. data/lib/hybrid_platforms_conductor/version.rb +1 -1
  42. data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/bash_spec.rb +1 -1
  43. data/spec/hybrid_platforms_conductor_test/api/actions_executor/actions/ruby_spec.rb +8 -8
  44. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/cli_options_spec.rb +3 -3
  45. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/connections_spec.rb +8 -8
  46. data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/global_helpers_spec.rb +1 -1
  47. data/spec/hybrid_platforms_conductor_test/api/actions_executor/helpers_spec.rb +4 -4
  48. data/spec/hybrid_platforms_conductor_test/api/actions_executor/timeout_spec.rb +1 -1
  49. data/spec/hybrid_platforms_conductor_test/api/cmd_runner_spec.rb +4 -4
  50. data/spec/hybrid_platforms_conductor_test/api/deployer/log_plugins/remote_fs_spec.rb +12 -12
  51. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioner_spec.rb +8 -8
  52. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/docker_spec.rb +1 -1
  53. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/expired_containers_spec.rb +27 -27
  54. data/spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb +1 -1
  55. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/cmdbs/host_ip_spec.rb +25 -0
  56. data/spec/hybrid_platforms_conductor_test/api/nodes_handler/cmdbs_plugins_api_spec.rb +5 -5
  57. data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/inventory_spec.rb +1 -1
  58. data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/packaging_spec.rb +9 -9
  59. data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/services_deployment_spec.rb +1 -1
  60. data/spec/hybrid_platforms_conductor_test/api/platforms_handler_spec.rb +1 -1
  61. data/spec/hybrid_platforms_conductor_test/api/plugins_spec.rb +30 -2
  62. data/spec/hybrid_platforms_conductor_test/api/services_handler/deploy_allowed_spec.rb +7 -7
  63. data/spec/hybrid_platforms_conductor_test/api/services_handler/package_spec.rb +18 -18
  64. data/spec/hybrid_platforms_conductor_test/api/services_handler/prepare_for_deploy_spec.rb +30 -30
  65. data/spec/hybrid_platforms_conductor_test/api/tests_runner/common_spec.rb +5 -5
  66. data/spec/hybrid_platforms_conductor_test/api/tests_runner/node_check_spec.rb +6 -6
  67. data/spec/hybrid_platforms_conductor_test/api/tests_runner/node_ssh_spec.rb +6 -6
  68. data/spec/hybrid_platforms_conductor_test/api/tests_runner/reports_spec.rb +4 -4
  69. data/spec/hybrid_platforms_conductor_test/cmdb_plugins/test_cmdb.rb +8 -8
  70. data/spec/hybrid_platforms_conductor_test/cmdb_plugins/test_cmdb_2.rb +5 -5
  71. data/spec/hybrid_platforms_conductor_test/cmdb_plugins/test_cmdb_others.rb +3 -3
  72. data/spec/hybrid_platforms_conductor_test/cmdb_plugins/test_cmdb_others_2.rb +3 -3
  73. data/spec/hybrid_platforms_conductor_test/docs_spec.rb +1 -1
  74. data/spec/hybrid_platforms_conductor_test/executables/check_node_spec.rb +1 -1
  75. data/spec/hybrid_platforms_conductor_test/executables/deploy_spec.rb +1 -1
  76. data/spec/hybrid_platforms_conductor_test/executables/options/cmd_runner_spec.rb +1 -1
  77. data/spec/hybrid_platforms_conductor_test/executables/options/deployer_spec.rb +2 -2
  78. data/spec/hybrid_platforms_conductor_test/executables/options/nodes_handler_spec.rb +1 -0
  79. data/spec/hybrid_platforms_conductor_test/executables/options/tests_runner_spec.rb +1 -1
  80. data/spec/hybrid_platforms_conductor_test/executables/report_spec.rb +1 -0
  81. data/spec/hybrid_platforms_conductor_test/executables/run_spec.rb +2 -2
  82. data/spec/hybrid_platforms_conductor_test/helpers/actions_executor_helpers.rb +1 -1
  83. data/spec/hybrid_platforms_conductor_test/helpers/cmdb_helpers.rb +2 -2
  84. data/spec/hybrid_platforms_conductor_test/helpers/connector_ssh_helpers.rb +1 -1
  85. data/spec/hybrid_platforms_conductor_test/helpers/deployer_helpers.rb +7 -7
  86. data/spec/hybrid_platforms_conductor_test/helpers/platforms_handler_helpers.rb +3 -3
  87. data/spec/hybrid_platforms_conductor_test/helpers/provisioner_proxmox_helpers.rb +11 -12
  88. data/spec/hybrid_platforms_conductor_test/helpers/serverless_chef_helpers.rb +2 -2
  89. data/spec/hybrid_platforms_conductor_test/mocked_lib/my_test_gem_with_lib/sub1/lib/sub2/hpc_plugins/test_plugin_type_3/test_plugin_id_5.rb +34 -0
  90. data/spec/hybrid_platforms_conductor_test/shared_examples/deployer.rb +1 -1
  91. data/spec/hybrid_platforms_conductor_test/test_connector.rb +1 -1
  92. data/spec/hybrid_platforms_conductor_test.rb +1 -0
  93. metadata +152 -136
@@ -54,7 +54,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
54
54
  },
55
55
  log_to_dir: logs_dir
56
56
  )
57
- expect(File.exist?("#{logs_dir}/node.stdout")).to eq true
57
+ expect(File.exist?("#{logs_dir}/node.stdout")).to be true
58
58
  expect(File.read("#{logs_dir}/node.stdout")).to eq "TestStdout\nTestStderr\n"
59
59
  end
60
60
  end
@@ -18,7 +18,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
18
18
  }
19
19
  )['node']
20
20
  ).to eq [0, 'TestStdout', 'TestStderr']
21
- expect(executed).to eq true
21
+ expect(executed).to be true
22
22
  end
23
23
  end
24
24
 
@@ -38,7 +38,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
38
38
  timeout: 1
39
39
  )['node']
40
40
  ).to eq [:timeout, '', '']
41
- expect(executed).to eq false
41
+ expect(executed).to be false
42
42
  end
43
43
  end
44
44
 
@@ -54,7 +54,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
54
54
  } },
55
55
  log_to_dir: logs_dir
56
56
  )
57
- expect(File.exist?("#{logs_dir}/node.stdout")).to eq true
57
+ expect(File.exist?("#{logs_dir}/node.stdout")).to be true
58
58
  expect(File.read("#{logs_dir}/node.stdout")).to eq "TestStdout\nTestStderr\n"
59
59
  end
60
60
  end
@@ -68,7 +68,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
68
68
  {
69
69
  'node' => {
70
70
  ruby: proc do |stdout, stderr, action|
71
- expect(action.is_a?(HybridPlatformsConductor::HpcPlugins::Action::Ruby)).to eq true
71
+ expect(action.is_a?(HybridPlatformsConductor::HpcPlugins::Action::Ruby)).to be true
72
72
  stdout << 'TestStdout'
73
73
  stderr << 'TestStderr'
74
74
  executed = true
@@ -77,7 +77,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
77
77
  }
78
78
  )['node']
79
79
  ).to eq [0, 'TestStdout', 'TestStderr']
80
- expect(executed).to eq true
80
+ expect(executed).to be true
81
81
  end
82
82
  end
83
83
 
@@ -90,7 +90,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
90
90
  'node' => {
91
91
  ruby: {
92
92
  code: proc do |stdout, stderr, _action, connector|
93
- expect(connector.is_a?(HybridPlatformsConductorTest::TestConnector)).to eq true
93
+ expect(connector.is_a?(HybridPlatformsConductorTest::TestConnector)).to be true
94
94
  stdout << 'TestStdout'
95
95
  stderr << 'TestStderr'
96
96
  executed = true
@@ -101,7 +101,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
101
101
  }
102
102
  )['node']
103
103
  ).to eq [0, 'TestStdout', 'TestStderr']
104
- expect(executed).to eq true
104
+ expect(executed).to be true
105
105
  end
106
106
  end
107
107
 
@@ -125,7 +125,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
125
125
  }
126
126
  )['node']
127
127
  ).to eq [0, 'TestStdout', 'TestStderr']
128
- expect(executed).to eq true
128
+ expect(executed).to be true
129
129
  end
130
130
  end
131
131
 
@@ -60,7 +60,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
60
60
  it 'does not use the SSH control master' do
61
61
  with_test_platform_for_cli do
62
62
  expect_actions_executor_runs [proc do
63
- expect(test_connector.ssh_use_control_master).to eq false
63
+ expect(test_connector.ssh_use_control_master).to be false
64
64
  {}
65
65
  end]
66
66
  exit_code, stdout, stderr = run 'run', '--node', 'node', '--command', 'echo Hello', '--ssh-no-control-master'
@@ -73,7 +73,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
73
73
  it 'does not use strict host key checking' do
74
74
  with_test_platform_for_cli do
75
75
  expect_actions_executor_runs [proc do
76
- expect(test_connector.ssh_strict_host_key_checking).to eq false
76
+ expect(test_connector.ssh_strict_host_key_checking).to be false
77
77
  {}
78
78
  end]
79
79
  exit_code, stdout, stderr = run 'run', '--node', 'node', '--command', 'echo Hello', '--ssh-no-host-key-checking'
@@ -111,7 +111,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
111
111
  it 'expects passwords to be input' do
112
112
  with_test_platform_for_cli do
113
113
  expect_actions_executor_runs [proc do
114
- expect(test_connector.auth_password).to eq true
114
+ expect(test_connector.auth_password).to be true
115
115
  {}
116
116
  end]
117
117
  exit_code, stdout, stderr = run 'run', '--node', 'node', '--command', 'echo Hello', '--password'
@@ -536,14 +536,14 @@ describe HybridPlatformsConductor::ActionsExecutor do
536
536
  test_connector.with_connection_to(['node']) do
537
537
  test_connector.prepare_for('node', nil, stdout, stderr)
538
538
  ssh_exec_2 = test_connector.ssh_exec
539
- expect(File.exist?(ssh_exec_1)).to eq true
540
- expect(File.exist?(ssh_exec_2)).to eq true
539
+ expect(File.exist?(ssh_exec_1)).to be true
540
+ expect(File.exist?(ssh_exec_2)).to be true
541
541
  end
542
- expect(File.exist?(ssh_exec_1)).to eq true
543
- expect(File.exist?(ssh_exec_2)).to eq false
542
+ expect(File.exist?(ssh_exec_1)).to be true
543
+ expect(File.exist?(ssh_exec_2)).to be false
544
544
  end
545
- expect(File.exist?(ssh_exec_1)).to eq false
546
- expect(File.exist?(ssh_exec_2)).to eq false
545
+ expect(File.exist?(ssh_exec_1)).to be false
546
+ expect(File.exist?(ssh_exec_2)).to be false
547
547
  end
548
548
  end
549
549
  end
@@ -590,13 +590,13 @@ describe HybridPlatformsConductor::ActionsExecutor do
590
590
  ['which env', proc { [0, "/usr/bin/env\n", ''] }],
591
591
  ['ssh -V 2>&1', proc { [0, "OpenSSH_7.4p1 Debian-10+deb9u7, OpenSSL 1.0.2u 20 Dec 2019\n", ''] }]
592
592
  ] +
593
- [[
593
+ ([[
594
594
  %r{^.+/ssh -o BatchMode=yes -o ControlMaster=yes -o ControlPersist=yes hpc\.node true$},
595
595
  proc do
596
596
  nbr_boot_messages += 1
597
597
  [255, '', "System is booting up. See pam_nologin(8)\nAuthentication failed.\n"]
598
598
  end
599
- ]] * 3 +
599
+ ]] * 3) +
600
600
  ssh_expected_commands_for({ 'node' => { connection: '192.168.42.42', user: 'test_user' } })
601
601
  ) do
602
602
  test_connector.ssh_user = 'test_user'
@@ -246,7 +246,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
246
246
  Host hpc.node1
247
247
  Hostname 192.168.42.1
248
248
  EO_SSH_CONFIG
249
- expect(ssh_config_for('node2', nodes: %w[node1 node3])).to eq nil
249
+ expect(ssh_config_for('node2', nodes: %w[node1 node3])).to be_nil
250
250
  end
251
251
  end
252
252
 
@@ -11,14 +11,14 @@ describe HybridPlatformsConductor::ActionsExecutor do
11
11
  it 'returns if a user has privileged access on a node' do
12
12
  with_test_platform({ nodes: { 'node' => {} } }) do
13
13
  test_actions_executor.connector(:ssh).ssh_user = 'test_user'
14
- expect(test_actions_executor.privileged_access?('node')).to eq false
14
+ expect(test_actions_executor.privileged_access?('node')).to be false
15
15
  end
16
16
  end
17
17
 
18
18
  it 'returns if a user has privileged access on a node when connecting with root' do
19
19
  with_test_platform({ nodes: { 'node' => {} } }) do
20
20
  test_actions_executor.connector(:ssh).ssh_user = 'root'
21
- expect(test_actions_executor.privileged_access?('node')).to eq true
21
+ expect(test_actions_executor.privileged_access?('node')).to be true
22
22
  end
23
23
  end
24
24
 
@@ -28,7 +28,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
28
28
  ['whoami', proc { [0, 'test_user', ''] }]
29
29
  ] do
30
30
  test_actions_executor.connector(:ssh).ssh_user = 'test_user'
31
- expect(test_actions_executor.privileged_access?('node')).to eq false
31
+ expect(test_actions_executor.privileged_access?('node')).to be false
32
32
  end
33
33
  end
34
34
  end
@@ -39,7 +39,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
39
39
  ['whoami', proc { [0, 'root', ''] }]
40
40
  ] do
41
41
  test_actions_executor.connector(:ssh).ssh_user = 'test_user'
42
- expect(test_actions_executor.privileged_access?('node')).to eq true
42
+ expect(test_actions_executor.privileged_access?('node')).to be true
43
43
  end
44
44
  end
45
45
  end
@@ -15,7 +15,7 @@ describe HybridPlatformsConductor::ActionsExecutor do
15
15
  expect(test_actions_executor.execute_actions(
16
16
  {
17
17
  'node' => { test_action: { code: proc do |stdout, _stderr, action|
18
- expect(action.timeout).to eq nil
18
+ expect(action.timeout).to be_nil
19
19
  stdout << 'Hello'
20
20
  end } }
21
21
  }
@@ -168,7 +168,7 @@ describe HybridPlatformsConductor::CmdRunner do
168
168
  cmd_runner = test_cmd_runner
169
169
  cmd_runner.dry_run = true
170
170
  expect(cmd_runner.run_cmd("echo TestContent >#{repository}/test_file")).to eq [0, '', '']
171
- expect(File.exist?("#{repository}/test_file")).to eq false
171
+ expect(File.exist?("#{repository}/test_file")).to be false
172
172
  end
173
173
  end
174
174
 
@@ -177,7 +177,7 @@ describe HybridPlatformsConductor::CmdRunner do
177
177
  cmd_runner = test_cmd_runner
178
178
  cmd_runner.dry_run = true
179
179
  expect(cmd_runner.run_cmd("echo TestContent >#{repository}/test_file", expected_code: 2)).to eq [2, '', '']
180
- expect(File.exist?("#{repository}/test_file")).to eq false
180
+ expect(File.exist?("#{repository}/test_file")).to be false
181
181
  end
182
182
  end
183
183
 
@@ -190,13 +190,13 @@ describe HybridPlatformsConductor::CmdRunner do
190
190
  it 'returns non-root user when user is not root' do
191
191
  cmd_runner = test_cmd_runner
192
192
  expect(cmd_runner).to receive(:run_cmd).with('whoami', log_to_stdout: false).and_return [0, 'not_root', '']
193
- expect(cmd_runner.root?).to eq false
193
+ expect(cmd_runner.root?).to be false
194
194
  end
195
195
 
196
196
  it 'returns root user when user is root' do
197
197
  cmd_runner = test_cmd_runner
198
198
  expect(cmd_runner).to receive(:run_cmd).with('whoami', log_to_stdout: false).and_return [0, 'root', '']
199
- expect(cmd_runner.root?).to eq true
199
+ expect(cmd_runner.root?).to be true
200
200
  end
201
201
 
202
202
  it 'returns the correct executable prefix' do
@@ -34,7 +34,7 @@ describe HybridPlatformsConductor::Deployer do
34
34
  expect(actions_per_nodes['node'][0].keys.sort).to eq %i[ruby remote_bash].sort
35
35
  expect(actions_per_nodes['node'][0][:remote_bash]).to eq 'sudo -u root mkdir -p /var/log/deployments && sudo -u root chmod 600 /var/log/deployments'
36
36
  expect(actions_per_nodes['node'][1].keys.sort).to eq %i[scp].sort
37
- expect(actions_per_nodes['node'][1][:scp].delete(:sudo)).to eq true
37
+ expect(actions_per_nodes['node'][1][:scp].delete(:sudo)).to be true
38
38
  expect(actions_per_nodes['node'][1][:scp].delete(:owner)).to eq 'root'
39
39
  expect(actions_per_nodes['node'][1][:scp].delete(:group)).to eq 'root'
40
40
  expect(actions_per_nodes['node'][1][:scp].size).to eq 1
@@ -44,7 +44,7 @@ describe HybridPlatformsConductor::Deployer do
44
44
  expect(actions_per_nodes['node'][2][:remote_bash]).to eq "sudo -u root chmod 600 /var/log/deployments/#{File.basename(tmp_log_file)}"
45
45
  # Call the Ruby codes to be tested
46
46
  actions_per_nodes['node'][0][:ruby].call
47
- expect(File.exist?(tmp_log_file)).to eq true
47
+ expect(File.exist?(tmp_log_file)).to be true
48
48
  file_content_regexp = Regexp.new <<~EOREGEXP
49
49
  repo_name_0: platform
50
50
  commit_id_0: 123456
@@ -62,7 +62,7 @@ describe HybridPlatformsConductor::Deployer do
62
62
  expect(File.read(tmp_log_file)).to match file_content_regexp
63
63
  actions_per_nodes['node'][2][:ruby].call
64
64
  # Check temporary log file gets deleted for security reasons
65
- expect(File.exist?(tmp_log_file)).to eq false
65
+ expect(File.exist?(tmp_log_file)).to be false
66
66
  end
67
67
  ]
68
68
  expect(test_deployer.deploy_on('node')).to eq('node' => [0, 'Deploy successful stdout', 'Deploy successful stderr'])
@@ -93,7 +93,7 @@ describe HybridPlatformsConductor::Deployer do
93
93
  expect(actions_per_nodes['node'][0].keys.sort).to eq %i[ruby remote_bash].sort
94
94
  expect(actions_per_nodes['node'][0][:remote_bash]).to eq 'mkdir -p /var/log/deployments && chmod 600 /var/log/deployments'
95
95
  expect(actions_per_nodes['node'][1].keys.sort).to eq %i[scp].sort
96
- expect(actions_per_nodes['node'][1][:scp].delete(:sudo)).to eq false
96
+ expect(actions_per_nodes['node'][1][:scp].delete(:sudo)).to be false
97
97
  expect(actions_per_nodes['node'][1][:scp].delete(:owner)).to eq 'root'
98
98
  expect(actions_per_nodes['node'][1][:scp].delete(:group)).to eq 'root'
99
99
  expect(actions_per_nodes['node'][1][:scp].size).to eq 1
@@ -103,7 +103,7 @@ describe HybridPlatformsConductor::Deployer do
103
103
  expect(actions_per_nodes['node'][2][:remote_bash]).to eq "chmod 600 /var/log/deployments/#{File.basename(tmp_log_file)}"
104
104
  # Call the Ruby codes to be tested
105
105
  actions_per_nodes['node'][0][:ruby].call
106
- expect(File.exist?(tmp_log_file)).to eq true
106
+ expect(File.exist?(tmp_log_file)).to be true
107
107
  file_content_regexp = Regexp.new <<~EOREGEXP
108
108
  repo_name_0: platform
109
109
  commit_id_0: 123456
@@ -121,7 +121,7 @@ describe HybridPlatformsConductor::Deployer do
121
121
  expect(File.read(tmp_log_file)).to match file_content_regexp
122
122
  actions_per_nodes['node'][2][:ruby].call
123
123
  # Check temporary log file gets deleted for security reasons
124
- expect(File.exist?(tmp_log_file)).to eq false
124
+ expect(File.exist?(tmp_log_file)).to be false
125
125
  end
126
126
  ]
127
127
  expect(test_deployer.deploy_on('node')).to eq('node' => [0, 'Deploy successful stdout', 'Deploy successful stderr'])
@@ -150,7 +150,7 @@ describe HybridPlatformsConductor::Deployer do
150
150
  expect(actions_per_nodes['node'][0].keys.sort).to eq %i[ruby remote_bash].sort
151
151
  expect(actions_per_nodes['node'][0][:remote_bash]).to eq 'sudo -u root mkdir -p /var/log/deployments && sudo -u root chmod 600 /var/log/deployments'
152
152
  expect(actions_per_nodes['node'][1].keys.sort).to eq %i[scp].sort
153
- expect(actions_per_nodes['node'][1][:scp].delete(:sudo)).to eq true
153
+ expect(actions_per_nodes['node'][1][:scp].delete(:sudo)).to be true
154
154
  expect(actions_per_nodes['node'][1][:scp].delete(:owner)).to eq 'root'
155
155
  expect(actions_per_nodes['node'][1][:scp].delete(:group)).to eq 'root'
156
156
  expect(actions_per_nodes['node'][1][:scp].size).to eq 1
@@ -160,7 +160,7 @@ describe HybridPlatformsConductor::Deployer do
160
160
  expect(actions_per_nodes['node'][2][:remote_bash]).to eq "sudo -u root chmod 600 /var/log/deployments/#{File.basename(tmp_log_file)}"
161
161
  # Call the Ruby codes to be tested
162
162
  actions_per_nodes['node'][0][:ruby].call
163
- expect(File.exist?(tmp_log_file)).to eq true
163
+ expect(File.exist?(tmp_log_file)).to be true
164
164
  file_content_regexp = Regexp.new <<~EOREGEXP
165
165
  repo_name_0: platform
166
166
  commit_id_0: 123456
@@ -178,7 +178,7 @@ describe HybridPlatformsConductor::Deployer do
178
178
  expect(File.read(tmp_log_file)).to match file_content_regexp
179
179
  actions_per_nodes['node'][2][:ruby].call
180
180
  # Check temporary log file gets deleted for security reasons
181
- expect(File.exist?(tmp_log_file)).to eq false
181
+ expect(File.exist?(tmp_log_file)).to be false
182
182
  end
183
183
  ]
184
184
  with_cmd_runner_mocked [
@@ -211,7 +211,7 @@ describe HybridPlatformsConductor::Deployer do
211
211
  expect(actions_per_nodes['node'][0].keys.sort).to eq %i[ruby remote_bash].sort
212
212
  expect(actions_per_nodes['node'][0][:remote_bash]).to eq 'mkdir -p /var/log/deployments && chmod 600 /var/log/deployments'
213
213
  expect(actions_per_nodes['node'][1].keys.sort).to eq %i[scp].sort
214
- expect(actions_per_nodes['node'][1][:scp].delete(:sudo)).to eq false
214
+ expect(actions_per_nodes['node'][1][:scp].delete(:sudo)).to be false
215
215
  expect(actions_per_nodes['node'][1][:scp].delete(:owner)).to eq 'root'
216
216
  expect(actions_per_nodes['node'][1][:scp].delete(:group)).to eq 'root'
217
217
  expect(actions_per_nodes['node'][1][:scp].size).to eq 1
@@ -221,7 +221,7 @@ describe HybridPlatformsConductor::Deployer do
221
221
  expect(actions_per_nodes['node'][2][:remote_bash]).to eq "chmod 600 /var/log/deployments/#{File.basename(tmp_log_file)}"
222
222
  # Call the Ruby codes to be tested
223
223
  actions_per_nodes['node'][0][:ruby].call
224
- expect(File.exist?(tmp_log_file)).to eq true
224
+ expect(File.exist?(tmp_log_file)).to be true
225
225
  file_content_regexp = Regexp.new <<~EOREGEXP
226
226
  repo_name_0: platform
227
227
  commit_id_0: 123456
@@ -239,7 +239,7 @@ describe HybridPlatformsConductor::Deployer do
239
239
  expect(File.read(tmp_log_file)).to match file_content_regexp
240
240
  actions_per_nodes['node'][2][:ruby].call
241
241
  # Check temporary log file gets deleted for security reasons
242
- expect(File.exist?(tmp_log_file)).to eq false
242
+ expect(File.exist?(tmp_log_file)).to be false
243
243
  end
244
244
  ]
245
245
  with_cmd_runner_mocked [
@@ -14,7 +14,7 @@ describe HybridPlatformsConductor::Deployer do
14
14
  expect(Socket).to receive(:tcp).with('172.17.0.1', 22, { connect_timeout: 1 }).and_yield
15
15
  provisioner = nil
16
16
  test_deployer.with_test_provisioned_instance(:test_provisioner, 'node', environment: 'hpc_testing_provisioner') do |sub_test_deployer, test_instance|
17
- expect(sub_test_deployer.local_environment).to eq true
17
+ expect(sub_test_deployer.local_environment).to be true
18
18
  provisioner = test_instance
19
19
  expect(test_instance.node).to eq 'node'
20
20
  expect(test_instance.environment).to match(/^#{Regexp.escape(`whoami`.strip)}_hpc_testing_provisioner_\d+_\d+_\w+$/)
@@ -33,7 +33,7 @@ describe HybridPlatformsConductor::Deployer do
33
33
  expect(Socket).to receive(:tcp).with('172.17.0.1', 22, { connect_timeout: 666 }).and_yield
34
34
  provisioner = nil
35
35
  test_deployer.with_test_provisioned_instance(:test_provisioner, 'node', environment: 'hpc_testing_provisioner') do |sub_test_deployer, test_instance|
36
- expect(sub_test_deployer.local_environment).to eq true
36
+ expect(sub_test_deployer.local_environment).to be true
37
37
  provisioner = test_instance
38
38
  expect(test_instance.node).to eq 'node'
39
39
  expect(test_instance.environment).to match(/^#{Regexp.escape(`whoami`.strip)}_hpc_testing_provisioner_\d+_\d+_\w+$/)
@@ -65,8 +65,8 @@ describe HybridPlatformsConductor::Deployer do
65
65
  expect(Socket).to receive(:tcp).with('172.17.0.1', 22, { connect_timeout: 1 }).and_yield
66
66
  test_deployer.with_test_provisioned_instance(:test_provisioner, 'node1', environment: 'hpc_testing_provisioner') do |sub_test_deployer, test_instance|
67
67
  sub_nodes_handler = sub_test_deployer.instance_variable_get(:@nodes_handler)
68
- expect(sub_nodes_handler.get_ssh_session_exec_of('node1')).to eq true
69
- expect(sub_nodes_handler.get_ssh_session_exec_of('node2')).to eq false
68
+ expect(sub_nodes_handler.get_ssh_session_exec_of('node1')).to be true
69
+ expect(sub_nodes_handler.get_ssh_session_exec_of('node2')).to be false
70
70
  ssh_transforms = test_instance.instance_variable_get(:@config).ssh_connection_transforms
71
71
  expect(ssh_transforms.size).to eq 1
72
72
  expect(ssh_transforms[0][:nodes_selectors_stack]).to eq [%w[node2]]
@@ -90,8 +90,8 @@ describe HybridPlatformsConductor::Deployer do
90
90
  expect(Socket).to receive(:tcp).with('172.17.0.1', 22, { connect_timeout: 1 }).and_yield
91
91
  test_deployer.with_test_provisioned_instance(:test_provisioner, 'node1', environment: 'hpc_testing_provisioner') do |sub_test_deployer|
92
92
  sub_nodes_handler = sub_test_deployer.instance_variable_get(:@nodes_handler)
93
- expect(sub_nodes_handler.get_local_node_of('node1')).to eq false
94
- expect(sub_nodes_handler.get_local_node_of('node2')).to eq true
93
+ expect(sub_nodes_handler.get_local_node_of('node1')).to be false
94
+ expect(sub_nodes_handler.get_local_node_of('node2')).to be true
95
95
  end
96
96
  end
97
97
  end
@@ -132,7 +132,7 @@ describe HybridPlatformsConductor::Deployer do
132
132
  expect(Socket).to receive(:tcp).with('172.17.0.1', 22, { connect_timeout: 1 }).and_yield
133
133
  provisioner = nil
134
134
  test_deployer.with_test_provisioned_instance(:test_provisioner, 'node', environment: 'hpc_testing_provisioner', reuse_instance: true) do |sub_test_deployer, test_instance|
135
- expect(sub_test_deployer.local_environment).to eq true
135
+ expect(sub_test_deployer.local_environment).to be true
136
136
  provisioner = test_instance
137
137
  expect(test_instance.node).to eq 'node'
138
138
  expect(test_instance.environment).to eq "#{`whoami`.strip}_hpc_testing_provisioner"
@@ -150,7 +150,7 @@ describe HybridPlatformsConductor::Deployer do
150
150
  expect(Socket).to receive(:tcp).with('172.17.0.1', 22, { connect_timeout: 1 }).and_yield
151
151
  provisioner = nil
152
152
  test_deployer.with_test_provisioned_instance(:test_provisioner, 'node', environment: 'hpc_testing_provisioner', reuse_instance: true) do |sub_test_deployer, test_instance|
153
- expect(sub_test_deployer.local_environment).to eq true
153
+ expect(sub_test_deployer.local_environment).to be true
154
154
  provisioner = test_instance
155
155
  expect(test_instance.node).to eq 'node'
156
156
  expect(test_instance.environment).to eq "#{`whoami`.strip}_hpc_testing_provisioner"
@@ -48,7 +48,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Docker do
48
48
  instance.wait_for_state! :created
49
49
  begin
50
50
  # Test that the instance is created
51
- expect(::Docker::Container.all(all: true).find { |container| container.info['Names'].include? "/hpc_docker_container_node_#{environment}" }).not_to eq nil
51
+ expect(::Docker::Container.all(all: true).find { |container| container.info['Names'].include? "/hpc_docker_container_node_#{environment}" }).not_to be_nil
52
52
  expect(instance.state).to eq :created
53
53
  ensure
54
54
  # Clean the Docker containers if needed
@@ -14,7 +14,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
14
14
  memory_total: 4 * 1024 * 1024 * 1024,
15
15
  lxc_containers: {
16
16
  # Make sure it is expired
17
- 1000 => { ip: '192.168.0.100', maxmem: 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc }
17
+ 1000 => { ip: '192.168.0.100', maxmem: 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc }
18
18
  }
19
19
  }
20
20
  }
@@ -29,7 +29,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
29
29
 
30
30
  it 'expires a VM when there are not enough free resources on a PVE node' do
31
31
  with_sync_node do
32
- creation_date = (Time.now - 31 * 24 * 60 * 60).utc
32
+ creation_date = (Time.now - (31 * 24 * 60 * 60)).utc
33
33
  mock_proxmox(
34
34
  mocked_pve_nodes: {
35
35
  'pve_node_name' => {
@@ -81,7 +81,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
81
81
  maxmem: 4 * 1024 * 1024 * 1024,
82
82
  status: 'stopped',
83
83
  # Make sure it is expired
84
- creation_date: (Time.now - 31 * 24 * 60 * 60).utc
84
+ creation_date: (Time.now - (31 * 24 * 60 * 60)).utc
85
85
  }
86
86
  }
87
87
  }
@@ -117,7 +117,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
117
117
  memory_total: 8 * 1024 * 1024 * 1024,
118
118
  lxc_containers: {
119
119
  1000 => { ip: '192.168.0.100', maxmem: 2 * 1024 * 1024 * 1024, creation_date: Time.now.utc },
120
- 1001 => { ip: '192.168.0.101', maxmem: 4 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc },
120
+ 1001 => { ip: '192.168.0.101', maxmem: 4 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc },
121
121
  1002 => { ip: '192.168.0.102', maxmem: 2 * 1024 * 1024 * 1024, creation_date: Time.now.utc }
122
122
  }
123
123
  }
@@ -154,7 +154,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
154
154
  memory_total: 6 * 1024 * 1024 * 1024,
155
155
  lxc_containers: {
156
156
  1000 => { ip: '192.168.0.100', maxmem: 2 * 1024 * 1024 * 1024, creation_date: Time.now.utc },
157
- 1001 => { ip: '192.168.0.101', maxmem: 2 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc },
157
+ 1001 => { ip: '192.168.0.101', maxmem: 2 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc },
158
158
  1002 => { ip: '192.168.0.102', maxmem: 2 * 1024 * 1024 * 1024, creation_date: Time.now.utc }
159
159
  }
160
160
  }
@@ -185,8 +185,8 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
185
185
  memory_total: 8 * 1024 * 1024 * 1024,
186
186
  lxc_containers: {
187
187
  1000 => { ip: '192.168.0.100', maxmem: 2 * 1024 * 1024 * 1024, creation_date: Time.now.utc },
188
- 1001 => { ip: '192.168.0.101', maxmem: 4 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc },
189
- 1002 => { ip: '192.168.0.102', maxmem: 2 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc }
188
+ 1001 => { ip: '192.168.0.101', maxmem: 4 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc },
189
+ 1002 => { ip: '192.168.0.102', maxmem: 2 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc }
190
190
  }
191
191
  }
192
192
  }
@@ -224,8 +224,8 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
224
224
  memory_total: 8 * 1024 * 1024 * 1024,
225
225
  lxc_containers: {
226
226
  1000 => { ip: '192.168.0.100', maxmem: 2 * 1024 * 1024 * 1024, creation_date: Time.now.utc },
227
- 1001 => { ip: '192.168.0.101', maxmem: 4 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc },
228
- 2002 => { ip: '192.168.0.102', maxmem: 2 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc }
227
+ 1001 => { ip: '192.168.0.101', maxmem: 4 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc },
228
+ 2002 => { ip: '192.168.0.102', maxmem: 2 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc }
229
229
  }
230
230
  }
231
231
  }
@@ -261,14 +261,14 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
261
261
  'pve_node_1' => {
262
262
  memory_total: 16 * 1024 * 1024 * 1024,
263
263
  lxc_containers: {
264
- 1000 => { ip: '192.168.0.100', maxmem: 14 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc }
264
+ 1000 => { ip: '192.168.0.100', maxmem: 14 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc }
265
265
  }
266
266
  },
267
267
  # But this node has still a bit of resources left without expiring VMs
268
268
  'pve_node_2' => {
269
269
  memory_total: 16 * 1024 * 1024 * 1024,
270
270
  lxc_containers: {
271
- 1001 => { ip: '192.168.0.101', maxmem: 10 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc }
271
+ 1001 => { ip: '192.168.0.101', maxmem: 10 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc }
272
272
  }
273
273
  }
274
274
  }
@@ -302,14 +302,14 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
302
302
  memory_total: 16 * 1024 * 1024 * 1024,
303
303
  lxc_containers: {
304
304
  1000 => { ip: '192.168.0.100', maxmem: 8 * 1024 * 1024 * 1024, creation_date: Time.now.utc },
305
- 1001 => { ip: '192.168.0.101', maxmem: 6 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc }
305
+ 1001 => { ip: '192.168.0.101', maxmem: 6 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc }
306
306
  }
307
307
  },
308
308
  'pve_node_2' => {
309
309
  memory_total: 16 * 1024 * 1024 * 1024,
310
310
  lxc_containers: {
311
311
  1002 => { ip: '192.168.0.102', maxmem: 10 * 1024 * 1024 * 1024, creation_date: Time.now.utc },
312
- 1003 => { ip: '192.168.0.103', maxmem: 4 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc }
312
+ 1003 => { ip: '192.168.0.103', maxmem: 4 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc }
313
313
  }
314
314
  }
315
315
  }
@@ -359,7 +359,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
359
359
  memory_total: 16 * 1024 * 1024 * 1024,
360
360
  lxc_containers: {
361
361
  1000 => { ip: '192.168.0.100', maxmem: 1 * 1024 * 1024 * 1024, creation_date: Time.now.utc },
362
- 1001 => { ip: '192.168.0.101', maxmem: 1 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc },
362
+ 1001 => { ip: '192.168.0.101', maxmem: 1 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc },
363
363
  1002 => { ip: '192.168.0.102', maxmem: 1 * 1024 * 1024 * 1024, creation_date: Time.now.utc }
364
364
  }
365
365
  }
@@ -415,7 +415,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
415
415
  'pve_node_2' => {
416
416
  memory_total: 2 * 1024 * 1024 * 1024,
417
417
  lxc_containers: {
418
- 1001 => { ip: '192.168.0.101', maxmem: 1 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc }
418
+ 1001 => { ip: '192.168.0.101', maxmem: 1 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc }
419
419
  }
420
420
  }
421
421
  }
@@ -463,7 +463,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
463
463
  memory_total: 16 * 1024 * 1024 * 1024,
464
464
  lxc_containers: {
465
465
  1000 => { ip: '192.168.0.100', maxmem: 1 * 1024 * 1024 * 1024, creation_date: Time.now.utc },
466
- 1001 => { ip: '192.168.0.101', maxmem: 1 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc },
466
+ 1001 => { ip: '192.168.0.101', maxmem: 1 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc },
467
467
  1002 => { ip: '192.168.0.102', maxmem: 1 * 1024 * 1024 * 1024, creation_date: Time.now.utc }
468
468
  }
469
469
  }
@@ -521,7 +521,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
521
521
  'pve_node_2' => {
522
522
  memory_total: 2 * 1024 * 1024 * 1024,
523
523
  lxc_containers: {
524
- 1001 => { ip: '192.168.0.101', maxmem: 1 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc }
524
+ 1001 => { ip: '192.168.0.101', maxmem: 1 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc }
525
525
  }
526
526
  }
527
527
  }
@@ -571,7 +571,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
571
571
  memory_total: 16 * 1024 * 1024 * 1024,
572
572
  lxc_containers: {
573
573
  1000 => { ip: '192.168.0.100', maxmem: 1 * 1024 * 1024 * 1024, creation_date: Time.now.utc },
574
- 1001 => { ip: '192.168.0.101', maxmem: 1 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc },
574
+ 1001 => { ip: '192.168.0.101', maxmem: 1 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc },
575
575
  1002 => { ip: '192.168.0.102', maxmem: 1 * 1024 * 1024 * 1024, creation_date: Time.now.utc }
576
576
  }
577
577
  }
@@ -634,7 +634,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
634
634
  'pve_node_2' => {
635
635
  memory_total: 2 * 1024 * 1024 * 1024,
636
636
  lxc_containers: {
637
- 1001 => { ip: '192.168.0.101', maxmem: 1 * 1024 * 1024 * 1024, creation_date: (Time.now - 31 * 24 * 60 * 60).utc }
637
+ 1001 => { ip: '192.168.0.101', maxmem: 1 * 1024 * 1024 * 1024, creation_date: (Time.now - (31 * 24 * 60 * 60)).utc }
638
638
  }
639
639
  }
640
640
  }
@@ -748,7 +748,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
748
748
  it 'does not expire a VM that is stopped for some time even when it is not used for debug purposes' do
749
749
  with_sync_node do
750
750
  mock_proxmox(
751
- mocked_pve_nodes: [{
751
+ mocked_pve_nodes: ([{
752
752
  # 2 seconds separate each run.
753
753
  # Make sure the third and later runs mock the container as running instead of stopped
754
754
  'pve_node_name' => {
@@ -765,8 +765,8 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
765
765
  }
766
766
  }
767
767
  }
768
- }] * 2 +
769
- [{
768
+ }] * 2) +
769
+ ([{
770
770
  # 2 seconds separate each run.
771
771
  # Make sure the third and later runs mock the container as running instead of stopped
772
772
  'pve_node_name' => {
@@ -783,7 +783,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
783
783
  }
784
784
  }
785
785
  }
786
- }] * 2
786
+ }] * 2)
787
787
  )
788
788
  # Timeout for a non-debug stopped container to be considered expired is 3 seconds in tests
789
789
  expect(call_reserve_proxmox_container(2, 1024, 1, max_retries: 4, wait_before_retry: 2)).to eq(error: 'not_enough_resources')
@@ -796,7 +796,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
796
796
  creation_date_1 = (Time.now - 20).utc
797
797
  creation_date_2 = (Time.now - 10).utc
798
798
  mock_proxmox(
799
- mocked_pve_nodes: [{
799
+ mocked_pve_nodes: ([{
800
800
  # 2 seconds separate each run.
801
801
  # Make sure the third and later runs mock the container as another one, still stopped
802
802
  'pve_node_name' => {
@@ -812,8 +812,8 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
812
812
  }
813
813
  }
814
814
  }
815
- }] * 2 +
816
- [{
815
+ }] * 2) +
816
+ ([{
817
817
  # 2 seconds separate each run.
818
818
  # Make sure the third and later runs mock the container as another one, still stopped
819
819
  'pve_node_name' => {
@@ -829,7 +829,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
829
829
  }
830
830
  }
831
831
  }
832
- }] * 2
832
+ }] * 2)
833
833
  )
834
834
  # Timeout for a non-debug stopped container to be considered expired is 3 seconds in tests
835
835
  expect(call_reserve_proxmox_container(2, 1024, 1, max_retries: 4, wait_before_retry: 2)).to eq(error: 'not_enough_resources')
@@ -52,7 +52,7 @@ describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do
52
52
  with_sync_node do
53
53
  mock_proxmox(mocked_pve_nodes: [{ 'pve_node_name' => { error_strings: ['NOK: error code = 500'] * 5 } }])
54
54
  result = call_reserve_proxmox_container(2, 1024, 4, config: { api_max_retries: 4 })
55
- expect(result[:error]).not_to eq nil
55
+ expect(result[:error]).not_to be_nil
56
56
  expect(result[:error]).to match(%r{Unhandled exception from reserve_proxmox_container: Proxmox API get nodes/pve_node_name/lxc returns NOK: error code = 500 continuously \(tried 5 times\)})
57
57
  expect_proxmox_actions_to_be [
58
58
  [:create_ticket],