Sha256: 584a4ca1fdfbcb6945d47c537949851c6c5be4b658160ce82172213ddfdfb85d

Contents?: true

Size: 1.1 KB

Versions: 13

Compression:

Stored size: 1.1 KB

Contents

require 'hybrid_platforms_conductor/hpc_plugins/provisioner/proxmox'

describe HybridPlatformsConductor::HpcPlugins::Provisioner::Proxmox do

  context 'checking the reserve_proxmox_container sync tool' do

    context 'checking retries mechanism' do

      it 'retries a few times before ending in error' do
        with_sync_node do
          mock_proxmox(mocked_pve_nodes: [{ 'pve_node_name' => {} }] * 5)
          expect(call_reserve_proxmox_container(2, 128 * 1024, 4, max_retries: 5)).to eq(error: 'not_enough_resources')
        end
      end

      it 'retries errors a few times until it gets resolved' do
        with_sync_node do
          mock_proxmox(mocked_pve_nodes: [
            { 'pve_node_name' => { loadavg: [0.1, 11, 0.1] } },
            { 'pve_node_name' => { loadavg: [0.1, 11, 0.1] } },
            { 'pve_node_name' => { loadavg: [0.1, 9, 0.1] } }
          ])
          expect(call_reserve_proxmox_container(2, 1024, 4, max_retries: 5)).to eq(
            pve_node: 'pve_node_name',
            vm_id: 1000,
            vm_ip: '192.168.0.100'
          )
        end
      end

    end

  end

end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
hybrid_platforms_conductor-32.8.2 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb
hybrid_platforms_conductor-32.8.1 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb
hybrid_platforms_conductor-32.8.0 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb
hybrid_platforms_conductor-32.7.3 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb
hybrid_platforms_conductor-32.7.2 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb
hybrid_platforms_conductor-32.7.1 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb
hybrid_platforms_conductor-32.7.0 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb
hybrid_platforms_conductor-32.6.0 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb
hybrid_platforms_conductor-32.5.0 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb
hybrid_platforms_conductor-32.4.2 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb
hybrid_platforms_conductor-32.4.1 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb
hybrid_platforms_conductor-32.4.0 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb
hybrid_platforms_conductor-32.3.6 spec/hybrid_platforms_conductor_test/api/deployer/provisioners/proxmox/reserve_proxmox_container/retries_spec.rb