hybrid_platforms_conductor 33.9.2 → 33.9.4

Sign up to get free protection for your applications and to get access to all the features.
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],