vmpooler 0.11.1 → 0.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/lib/vmpooler/api/v1.rb +0 -7
 - data/lib/vmpooler/pool_manager.rb +5 -6
 - data/lib/vmpooler/providers/vsphere.rb +5 -5
 - data/lib/vmpooler/version.rb +1 -1
 - metadata +4 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: b755def48f79be4614be09b1137b7ecb20a59feced1dc521fdc1ba9454a1efa2
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: b3de3d1a6252b6bc3260235421366734f98c031e5895978d22060d770989e0d8
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: ba6ef4065c811dffbdafc2035c40092f59fc9921a83595bcbe73a42f8b1df74d355a9bc573a9301e6245d70e61132a906feb3b0a22988b4bf11639e921e4d283
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 457c5212222bf9052cf9ef5e941417d75c85e86ef878910a44a3f35f8b4e4fa5ef22619bc0c10bea8be14091e2d79087b1292bee094719eddb60825e115dc5c6
         
     | 
    
        data/lib/vmpooler/api/v1.rb
    CHANGED
    
    | 
         @@ -909,13 +909,6 @@ module Vmpooler 
     | 
|
| 
       909 
909 
     | 
    
         
             
                            max_lifetime_upper_limit = max_lifetime_upper_limit.to_i
         
     | 
| 
       910 
910 
     | 
    
         
             
                            if arg.to_i >= max_lifetime_upper_limit
         
     | 
| 
       911 
911 
     | 
    
         
             
                              failure.push("You provided a lifetime (#{arg}) that exceeds the configured maximum of #{max_lifetime_upper_limit}.")
         
     | 
| 
       912 
     | 
    
         
            -
                            else
         
     | 
| 
       913 
     | 
    
         
            -
                              # also make sure we do not extend past max_lifetime_upper_limit
         
     | 
| 
       914 
     | 
    
         
            -
                              rdata = backend.hgetall('vmpooler__vm__' + params[:hostname])
         
     | 
| 
       915 
     | 
    
         
            -
                              running = ((Time.now - Time.parse(rdata['checkout'])) / 60 / 60).round(2)
         
     | 
| 
       916 
     | 
    
         
            -
                              unless running + arg.to_i < max_lifetime_upper_limit
         
     | 
| 
       917 
     | 
    
         
            -
                                failure.push("You provided a lifetime (#{arg}) that will extend the current lifetime past the configured maximum of #{max_lifetime_upper_limit}.")
         
     | 
| 
       918 
     | 
    
         
            -
                              end
         
     | 
| 
       919 
912 
     | 
    
         
             
                            end
         
     | 
| 
       920 
913 
     | 
    
         
             
                          end
         
     | 
| 
       921 
914 
     | 
    
         | 
| 
         @@ -444,7 +444,7 @@ module Vmpooler 
     | 
|
| 
       444 
444 
     | 
    
         
             
                    if provider_purge
         
     | 
| 
       445 
445 
     | 
    
         
             
                      Thread.new do
         
     | 
| 
       446 
446 
     | 
    
         
             
                        begin
         
     | 
| 
       447 
     | 
    
         
            -
                          purge_vms_and_folders( 
     | 
| 
      
 447 
     | 
    
         
            +
                          purge_vms_and_folders(provider.to_s)
         
     | 
| 
       448 
448 
     | 
    
         
             
                        rescue StandardError => e
         
     | 
| 
       449 
449 
     | 
    
         
             
                          $logger.log('s', "[!] failed while purging provider #{provider} VMs and folders with an error: #{e}")
         
     | 
| 
       450 
450 
     | 
    
         
             
                        end
         
     | 
| 
         @@ -455,14 +455,13 @@ module Vmpooler 
     | 
|
| 
       455 
455 
     | 
    
         
             
                end
         
     | 
| 
       456 
456 
     | 
    
         | 
| 
       457 
457 
     | 
    
         
             
                # Return a list of pool folders
         
     | 
| 
       458 
     | 
    
         
            -
                def pool_folders( 
     | 
| 
       459 
     | 
    
         
            -
                  provider_name = provider.name
         
     | 
| 
      
 458 
     | 
    
         
            +
                def pool_folders(provider_name)
         
     | 
| 
       460 
459 
     | 
    
         
             
                  folders = {}
         
     | 
| 
       461 
460 
     | 
    
         
             
                  $config[:pools].each do |pool|
         
     | 
| 
       462 
461 
     | 
    
         
             
                    next unless pool['provider'] == provider_name
         
     | 
| 
       463 
462 
     | 
    
         | 
| 
       464 
463 
     | 
    
         
             
                    folder_parts = pool['folder'].split('/')
         
     | 
| 
       465 
     | 
    
         
            -
                    datacenter =  
     | 
| 
      
 464 
     | 
    
         
            +
                    datacenter = $providers[provider_name].get_target_datacenter_from_config(pool['name'])
         
     | 
| 
       466 
465 
     | 
    
         
             
                    folders[folder_parts.pop] = "#{datacenter}/vm/#{folder_parts.join('/')}"
         
     | 
| 
       467 
466 
     | 
    
         
             
                  end
         
     | 
| 
       468 
467 
     | 
    
         
             
                  folders
         
     | 
| 
         @@ -479,8 +478,8 @@ module Vmpooler 
     | 
|
| 
       479 
478 
     | 
    
         
             
                def purge_vms_and_folders(provider)
         
     | 
| 
       480 
479 
     | 
    
         
             
                  configured_folders = pool_folders(provider)
         
     | 
| 
       481 
480 
     | 
    
         
             
                  base_folders = get_base_folders(configured_folders)
         
     | 
| 
       482 
     | 
    
         
            -
                  whitelist = provider.provider_config['folder_whitelist']
         
     | 
| 
       483 
     | 
    
         
            -
                  provider.purge_unconfigured_folders(base_folders, configured_folders, whitelist)
         
     | 
| 
      
 481 
     | 
    
         
            +
                  whitelist = $providers[provider].provider_config['folder_whitelist']
         
     | 
| 
      
 482 
     | 
    
         
            +
                  $providers[provider].purge_unconfigured_folders(base_folders, configured_folders, whitelist)
         
     | 
| 
       484 
483 
     | 
    
         
             
                end
         
     | 
| 
       485 
484 
     | 
    
         | 
| 
       486 
485 
     | 
    
         
             
                def create_vm_disk(pool_name, vm, disk_size, provider)
         
     | 
| 
         @@ -118,11 +118,11 @@ module Vmpooler 
     | 
|
| 
       118 
118 
     | 
    
         | 
| 
       119 
119 
     | 
    
         
             
                        base_folders.each do |base_folder|
         
     | 
| 
       120 
120 
     | 
    
         
             
                          folder_children = get_folder_children(base_folder, connection)
         
     | 
| 
       121 
     | 
    
         
            -
                           
     | 
| 
       122 
     | 
    
         
            -
             
     | 
| 
       123 
     | 
    
         
            -
             
     | 
| 
       124 
     | 
    
         
            -
             
     | 
| 
       125 
     | 
    
         
            -
                               
     | 
| 
      
 121 
     | 
    
         
            +
                          next if folder_children.empty?
         
     | 
| 
      
 122 
     | 
    
         
            +
             
     | 
| 
      
 123 
     | 
    
         
            +
                          folder_children.each do |folder_hash|
         
     | 
| 
      
 124 
     | 
    
         
            +
                            folder_hash.each do |folder_title, folder_object|
         
     | 
| 
      
 125 
     | 
    
         
            +
                              destroy_folder_and_children(folder_object) unless folder_configured?(folder_title, base_folder, configured_folders, whitelist)
         
     | 
| 
       126 
126 
     | 
    
         
             
                            end
         
     | 
| 
       127 
127 
     | 
    
         
             
                          end
         
     | 
| 
       128 
128 
     | 
    
         
             
                        end
         
     | 
    
        data/lib/vmpooler/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: vmpooler
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.11. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.11.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Puppet
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2020- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2020-04-16 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: pickup
         
     | 
| 
         @@ -58,14 +58,14 @@ dependencies: 
     | 
|
| 
       58 
58 
     | 
    
         
             
                requirements:
         
     | 
| 
       59 
59 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       60 
60 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       61 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 61 
     | 
    
         
            +
                    version: '13.0'
         
     | 
| 
       62 
62 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       63 
63 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       64 
64 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       65 
65 
     | 
    
         
             
                requirements:
         
     | 
| 
       66 
66 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       67 
67 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       68 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 68 
     | 
    
         
            +
                    version: '13.0'
         
     | 
| 
       69 
69 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       70 
70 
     | 
    
         
             
              name: redis
         
     | 
| 
       71 
71 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     |