Coder Social home page Coder Social logo

fog-proxmox's Introduction

Foreman

Fog::Proxmox

CI Maintainability Test Coverage Gem Version

This is a FOG (>= 2.1) module gem to support Proxmox VE

It is intended to satisfy this feature, but Proxmox provider only, and above all this Foreman feature.

It is inspired by the great fog-openstack module.

Compatibility versions

Fog-Proxmox Proxmox VE Fog-core ruby
<0.6 <5.3 >=1.45 >=2.3
>=0.6 >=5.3 >=1.45 >=2.3
>=0.8 >=5.4 >=1.45 >=2.3
>=0.9 >=6.0 >=2.1 >=2.3
>=0.10 >=6.0 >=2.1 >=2.5
>=0.14 >=6.2 >=2.1 >=2.5

Installation

Add this line to your application's Gemfile:

gem 'fog-proxmox'

And then execute:

bundle install

Or install it yourself as:

gem install fog-proxmox

Usage

See documentation.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run bundle exec rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Testing

To record your VCR cassettes:

PROXMOX_URL=https://192.168.56.101:8006/api2/json DISABLE_PROXY=true SSL_VERIFY_PEER=false bundle exec rake spec

To replay all your recorded tests:

USE_VCR=true bundle exec rake spec

To replay one group (compute, identity or network) of your recorded tests:

USE_VCR=true bundle exec rake spec:compute

Code formatting:

bundle exec rake rubocop

Auto correcting (safe):

bundle exec rake rubocop:autocorrect

Exclude cops in todo file:

bundle exec rubocop --auto-gen-config

See all available rake tasks:

bundle exec rake --tasks

Contributing

You can reach the contributors. Bug reports and pull requests are welcome on GitHub at Fog-Proxmox. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

Please read how to contribute.

License

The gem is available as open source under the terms of the GPL v3 License.

fog-proxmox's People

Contributors

dependabot[bot] avatar dosas avatar ekohl avatar geemus avatar github-actions[bot] avatar hlawatschek avatar m-bucher avatar manisha15 avatar sbernhard avatar tristanrobert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fog-proxmox's Issues

server.config.disks returns wrong disk size

Describe the bug
the object server.config.disks returns a wrong disk size.
reported disk size seems to be vmid.

code snippet:

server=node.servers.get 122
puts server.config.inspect
puts server.config.disks

returns

  <Fog::Compute::Proxmox::ServerConfig
    vmid=122,
    digest="fbb751b64ace4242cc19b09bee64185a8d4b738f",
    description=nil,
    ostype="l26",
    smbios1="uuid=2ecf0e47-e58b-44d1-b9e3-3ee639df5495",
    numa=0,
    kvm=1,
    vcpus=nil,
    cores=1,
    bootdisk="virtio1",
    onboot=0,
    boot=nil,
    agent="0",
    scsihw=nil,
    sockets=1,
    memory=2048,
    min_memory=nil,
    shares=nil,
    balloon=0,
    name="abel-carrano.pm.hz",
    cpu="cputype=kvm64",
    cpulimit=nil,
    cpuunits=nil,
    keyboard="en-us",
    vga="std",
    interfaces=    <Fog::Compute::Proxmox::Interfaces
      [
                        <Fog::Compute::Proxmox::Interface
          id="net0",
          mac="96:FF:43:13:D8:0D",
          model="e1000",
          name=nil,
          ip=nil,
          ip6=nil,
          bridge="vmbr0",
          firewall="0",
          link_down="0",
          rate=nil,
          queues=nil,
          tag=nil
        >      
      ]
    >,
    disks=    <Fog::Compute::Proxmox::Disks
      [
                        <Fog::Compute::Proxmox::Disk
          id="ide2",
          volid="none",
          size=nil,
          storage=nil,
          cache=nil,
          replicate=nil,
          media="cdrom",
          format=nil,
          model=nil,
          shared=nil,
          snapshot=nil,
          backup=nil,
          aio=nil,
          mp=nil
        >, 
                        <Fog::Compute::Proxmox::Disk
          id="virtio1",
          volid=nil,
          size=122,
          storage="local",
          cache="none",
          replicate=nil,
          media=nil,
          format=nil,
          model=nil,
          shared=nil,
          snapshot=nil,
          backup=nil,
          aio=nil,
          mp=nil
        >      
      ]
    >
  >

json content:

{"kvm"=>1, "smbios1"=>"uuid=2ecf0e47-e58b-44d1-b9e3-3ee639df5495", "ide2"=>"none,media=cdrom", "keyboard"=>"en-us", "cpu"=>"cputype=kvm64", "sockets"=>1, "numa"=>0, "virtio1"=>"local:122/vm-122-disk-0.raw,cache=none,size=15G", "digest"=>"fbb751b64ace4242cc19b09bee64185a8d4b738f", "memory"=>2048, "agent"=>"0", "vmgenid"=>"ec44cc56-1b0c-4bfb-9ad6-bd1c76ac5d65", "bootdisk"=>"virtio1", "net0"=>"e1000=96:FF:43:13:D8:0D,bridge=vmbr0,firewall=0,link_down=0", "cores"=>1, "vga"=>"std", "onboot"=>0, "ostype"=>"l26", "name"=>"abel-carrano.pm.hz", "balloon"=>0}

Expected behavior
correct disk size should be reported (15G) 15 * 1024 * 1024 * 1024

I tried to fix the issue but I do not fully understand the insides of the function
lib/fog/proxmox/helpers/disk_helper/extract_storage_volid_size

my basic approach was to create something like this:
size = disk_value.match(/size=(\w+)/)[1]

Compute profile creation fails: Oops, we're sorry but something went wrong undefined method `[]' for nil:NilClass

Describe the bug
After filling out the details of the compute profile and pressing submit, the page reloads and does not reflect any of the changes. Pressing cancel takes me back to the list of available hosts and shows that the profile was saved. Clicking on that profile again gives me the message mentioned in the bug title. The stack trace seems to suggest an error with the controller, but I get this error no matter what drive controller I select.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Compute Profiles
  2. Create Compute Profile
  3. Select Compute resource and fill out the profile details, submit
  4. Go back to the list of Resources and click on the resource where the profile was created

Expected behavior
The details I filled in should be displayed to me. (This profile also gives the same error when trying to create a host using it)

Versions
fog-proxmox: 0.5.1
foreman_fog_proxmox: 0.5.1
foreman: 1.18.2

Stack trace

2018-09-26T11:23:25 [W|app|494b4] Action failed                                                                                                                                   
ActionView::Template::Error: undefined method `[]' for nil:NilClass                                                                                                               
/opt/rh/rh-ruby24/root/usr/local/share/gems/gems/fog-proxmox-0.5.1/lib/fog/proxmox/helpers/disk_helper.rb:42:in `extract_controller'                                              
/opt/rh/rh-ruby24/root/usr/local/share/gems/gems/fog-proxmox-0.5.1/lib/fog/compute/proxmox/models/disk.rb:52:in `controller'                                                      
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/tags/base.rb:40:in `public_send'                                                      
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/tags/base.rb:40:in `value'                                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/tags/collection_select.rb:16:in `block in render'                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/tags/collection_select.rb:16:in `fetch'                                               
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/tags/collection_select.rb:16:in `render'                                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/form_options_helper.rb:202:in `collection_select'                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/form_options_helper.rb:829:in `collection_select'                                     
/usr/share/foreman/app/helpers/form_helper.rb:131:in `block in select_f'                                                                                                          
/usr/share/foreman/app/helpers/form_helper.rb:392:in `block (3 levels) in field'                                                                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `block in capture'                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:203:in `with_output_buffer'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `capture'                                                     
/usr/share/foreman/app/helpers/form_helper.rb:388:in `block (2 levels) in field'                                                                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `block in capture'                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:203:in `with_output_buffer'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `capture'                                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/tag_helper.rb:272:in `content_tag'                                                    
/usr/share/foreman/app/helpers/form_helper.rb:386:in `block in field'                                                                                                             
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `block in capture'                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:203:in `with_output_buffer'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `capture'                                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/tag_helper.rb:272:in `content_tag'                                                    
/usr/share/foreman/app/helpers/form_helper.rb:385:in `field'                                                                                                                      
/usr/share/foreman/app/helpers/form_helper.rb:128:in `select_f'                                                                                                                   
/opt/rh/rh-ruby24/root/usr/local/share/gems/gems/foreman_fog_proxmox-0.5.1/app/views/compute_resources_vms/form/proxmox/server/_volume.html.erb:23:in `block in _da01a40301fde5997
40c4a4a17a97d7a'                                                                                                                                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `block in capture'                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:203:in `with_output_buffer'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `capture'                                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/form_tag_helper.rb:576:in `field_set_tag'                                             
/opt/rh/rh-ruby24/root/usr/local/share/gems/gems/foreman_fog_proxmox-0.5.1/app/views/compute_resources_vms/form/proxmox/server/_volume.html.erb:20:in `_da01a40301fde599740c4a4a17
a97d7a'                                                                                                                                                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:157:in `block in render'                                                          
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:168:in `instrument'                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:352:in `instrument_render_template'                                               
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:155:in `render'                                                                   
/opt/rh/rh-ruby24/root/usr/local/share/gems/gems/deface-1.3.0/lib/deface/action_view_extensions.rb:41:in `render'                                                                 
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/partial_renderer.rb:342:in `block in render_partial'                                 
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/abstract_renderer.rb:42:in `block in instrument'                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `block in instrument'                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications/instrumenter.rb:21:in `instrument'                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `instrument'                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/abstract_renderer.rb:41:in `instrument'                                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/partial_renderer.rb:331:in `render_partial'                                          
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/partial_renderer.rb:310:in `render'                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/renderer.rb:47:in `render_partial'                                                   
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/renderer.rb:21:in `render'                                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/rendering_helper.rb:32:in `render'                                                    
/usr/share/foreman/app/views/compute_resources_vms/form/_volumes.html.erb:43:in `block (2 levels) in _94df2116a348f152822ac4e8a0870a23'                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `block in capture'                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:203:in `with_output_buffer'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `capture'                                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/form_helper.rb:2330:in `block in fields_for_nested_model'                             
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `block in capture'                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:203:in `with_output_buffer'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `capture'                                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/form_helper.rb:1012:in `fields_for'                                                   
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/form_helper.rb:2329:in `fields_for_nested_model'                                      
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/form_helper.rb:2315:in `block in fields_for_with_nested_attributes'                   
/opt/theforeman/tfm/root/usr/share/gems/gems/fog-core-1.45.0/lib/fog/core/collection.rb:18:in `each'                                                                              
/opt/theforeman/tfm/root/usr/share/gems/gems/fog-core-1.45.0/lib/fog/core/collection.rb:18:in `each'                                                                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/form_helper.rb:2309:in `fields_for_with_nested_attributes'                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/form_helper.rb:1954:in `fields_for'                                                   
/usr/share/foreman/app/views/compute_resources_vms/form/_volumes.html.erb:42:in `block in _94df2116a348f152822ac4e8a0870a23'                                                      
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `block in capture'                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:203:in `with_output_buffer'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `capture'                                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/form_tag_helper.rb:576:in `field_set_tag'                                             
/usr/share/foreman/app/views/compute_resources_vms/form/_volumes.html.erb:3:in `_94df2116a348f152822ac4e8a0870a23'                                                                
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:157:in `block in render'                                                          
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:168:in `instrument'                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:352:in `instrument_render_template'                                               
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:155:in `render'                                                                   
/opt/rh/rh-ruby24/root/usr/local/share/gems/gems/deface-1.3.0/lib/deface/action_view_extensions.rb:41:in `render'                                                                 
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/partial_renderer.rb:342:in `block in render_partial'                                 
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/abstract_renderer.rb:42:in `block in instrument'                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `block in instrument'                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications/instrumenter.rb:21:in `instrument'                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `instrument'                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/abstract_renderer.rb:41:in `instrument'                                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/partial_renderer.rb:331:in `render_partial'                                          
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/partial_renderer.rb:310:in `render'                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/renderer.rb:47:in `render_partial'                                                   
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/renderer.rb:21:in `render'                                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/rendering_helper.rb:32:in `render'                                                    
/usr/share/foreman/app/views/compute_attributes/_compute_form.html.erb:9:in `_95255f5930dc06435d61bed1c764441e'                                                                   
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:157:in `block in render'                                                          
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:168:in `instrument'                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:352:in `instrument_render_template'                                               
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:155:in `render'                                                                   
/opt/rh/rh-ruby24/root/usr/local/share/gems/gems/deface-1.3.0/lib/deface/action_view_extensions.rb:41:in `render'                                                                 
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/partial_renderer.rb:342:in `block in render_partial'                                 
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/abstract_renderer.rb:42:in `block in instrument'                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `block in instrument'                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications/instrumenter.rb:21:in `instrument'                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `instrument'                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/abstract_renderer.rb:41:in `instrument'                                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/partial_renderer.rb:331:in `render_partial'                                          
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/partial_renderer.rb:310:in `render'                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/renderer.rb:47:in `render_partial'                                                   
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/renderer.rb:21:in `render'                                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/rendering_helper.rb:32:in `render'                                                    
/usr/share/foreman/app/views/compute_attributes/_form.html.erb:8:in `block (2 levels) in _ca64e61649f35d768886d806042c303d'                                                       
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `block in capture'                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:203:in `with_output_buffer'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `capture'                                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/form_helper.rb:1012:in `fields_for'                                                   
/usr/share/foreman/app/views/compute_attributes/_form.html.erb:7:in `block in _ca64e61649f35d768886d806042c303d'                                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `block in capture'                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:203:in `with_output_buffer'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/capture_helper.rb:39:in `capture'                                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/form_helper.rb:450:in `form_for'                                                      
/usr/share/foreman/app/helpers/form_helper.rb:296:in `form_for'                                                                                                                   
/usr/share/foreman/app/views/compute_attributes/_form.html.erb:1:in `_ca64e61649f35d768886d806042c303d'                                                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:157:in `block in render'                                                          
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:168:in `instrument'                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:352:in `instrument_render_template'                                               
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:155:in `render'                                                                   
/opt/rh/rh-ruby24/root/usr/local/share/gems/gems/deface-1.3.0/lib/deface/action_view_extensions.rb:41:in `render'                                                                 
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/partial_renderer.rb:342:in `block in render_partial'                                 
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/abstract_renderer.rb:42:in `block in instrument'                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `block in instrument'                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications/instrumenter.rb:21:in `instrument'                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `instrument'                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/abstract_renderer.rb:41:in `instrument'                                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/partial_renderer.rb:331:in `render_partial'                                          
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/partial_renderer.rb:310:in `render'                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/renderer.rb:47:in `render_partial'                                                   
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/helpers/rendering_helper.rb:35:in `render'                                                    
/usr/share/foreman/app/views/compute_attributes/edit.html.erb:23:in `_879efb483aec00300356f9f836458c80'                                                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:157:in `block in render'                                                          
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:168:in `instrument'                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:352:in `instrument_render_template'                                               
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/template.rb:155:in `render'                                                                   
/opt/rh/rh-ruby24/root/usr/local/share/gems/gems/deface-1.3.0/lib/deface/action_view_extensions.rb:41:in `render'                                                                 
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/template_renderer.rb:52:in `block (2 levels) in render_template'                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/abstract_renderer.rb:42:in `block in instrument'                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `block in instrument'                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications/instrumenter.rb:21:in `instrument'                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `instrument'                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/abstract_renderer.rb:41:in `instrument'                                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/template_renderer.rb:51:in `block in render_template'                                
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/template_renderer.rb:59:in `render_with_layout'                                      
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/template_renderer.rb:50:in `render_template'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/template_renderer.rb:14:in `render'                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/renderer.rb:42:in `render_template'                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/renderer/renderer.rb:23:in `render'                                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/rendering.rb:103:in `_render_template'                                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/streaming.rb:217:in `_render_template'                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/rendering.rb:83:in `render_to_body'                                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/rendering.rb:52:in `render_to_body'                                               
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/renderers.rb:141:in `render_to_body'                                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/abstract_controller/rendering.rb:24:in `render'                                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/rendering.rb:36:in `render'                                                       
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'                             
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/core_ext/benchmark.rb:12:in `block in ms'                                               
/opt/rh/rh-ruby24/root/usr/share/ruby/benchmark.rb:308:in `realtime'                                                                                                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/core_ext/benchmark.rb:12:in `ms'                                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/instrumentation.rb:44:in `block in render'                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime'                                   
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.6/lib/active_record/railties/controller_runtime.rb:29:in `cleanup_view_runtime'                               
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/instrumentation.rb:43:in `render'                                                 
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/implicit_render.rb:33:in `default_render'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/basic_implicit_render.rb:4:in `block in send_action'                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/basic_implicit_render.rb:4:in `tap'                                               
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'                                       
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/abstract_controller/base.rb:186:in `process_action'                                                       
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/rendering.rb:30:in `process_action'                                               
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/abstract_controller/callbacks.rb:20:in `block in process_action'                                          
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:108:in `block in run_callbacks'                                            
/usr/share/foreman/app/controllers/concerns/application_shared.rb:15:in `set_timezone'                                                                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:117:in `block in run_callbacks'                                            
/usr/share/foreman/app/models/concerns/foreman/thread_session.rb:32:in `clear_thread'                                                                                             
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:117:in `block in run_callbacks'                                            
/usr/share/foreman/app/controllers/concerns/foreman/controller/topbar_sweeper.rb:12:in `set_topbar_sweeper_controller'                                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:117:in `block in run_callbacks'                                            
/opt/theforeman/tfm/root/usr/share/gems/gems/audited-4.7.0/lib/audited/sweeper.rb:14:in `around'                                                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:117:in `block in run_callbacks'                                            
/opt/theforeman/tfm/root/usr/share/gems/gems/audited-4.7.0/lib/audited/sweeper.rb:14:in `around'                                                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:117:in `block in run_callbacks'                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:135:in `run_callbacks'                                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/abstract_controller/callbacks.rb:19:in `process_action'                                                   
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/rescue.rb:20:in `process_action'                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'                                
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `block in instrument'                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications/instrumenter.rb:21:in `instrument'                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `instrument'                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/instrumentation.rb:30:in `process_action'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal/params_wrapper.rb:252:in `process_action'                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activerecord-5.1.6/lib/active_record/railties/controller_runtime.rb:22:in `process_action'                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/abstract_controller/base.rb:124:in `process'                                                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionview-5.1.6/lib/action_view/rendering.rb:30:in `process'                                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal.rb:189:in `dispatch'                                                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_controller/metal.rb:253:in `dispatch'                                                              
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'                                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/routing/route_set.rb:31:in `serve'                                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/journey/router.rb:50:in `block in serve'                                                  
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/journey/router.rb:33:in `each'                                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/journey/router.rb:33:in `serve'                                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/routing/route_set.rb:844:in `call'                                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/static.rb:125:in `call'                                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/static.rb:125:in `call'                                                        
/opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.9/lib/apipie/static_dispatcher.rb:65:in `call'                                                                      
/opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.9/lib/apipie/extractor/recorder.rb:136:in `call'                                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/static.rb:125:in `call'                                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/static.rb:125:in `call'                                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/static.rb:125:in `call'                                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/static.rb:125:in `call'                                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/static.rb:125:in `call'                                                        
/usr/share/foreman/lib/middleware/telemetry.rb:9:in `call'                                                                                                                        
/opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.9/lib/apipie/middleware/checksum_in_headers.rb:27:in `call'                                                         
/usr/share/foreman/lib/middleware/catch_json_parse_errors.rb:8:in `call'                                                                                                          
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/rack-2.0.3/lib/rack/etag.rb:25:in `call'                                                                                       
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/rack-2.0.3/lib/rack/conditional_get.rb:25:in `call'                                                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/rack-2.0.3/lib/rack/head.rb:12:in `call'                                                                                       
/usr/share/foreman/lib/middleware/logging_context.rb:23:in `call'                                                                                                                 
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/rack-2.0.3/lib/rack/session/abstract/id.rb:232:in `context'                                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/rack-2.0.3/lib/rack/session/abstract/id.rb:226:in `call'                                                                       
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/cookies.rb:613:in `call'                                                       
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'                                             
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:97:in `run_callbacks'                                                      
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/callbacks.rb:24:in `call'                                                      
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'                                               
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'                                                
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/railties-5.1.6/lib/rails/rack/logger.rb:36:in `call_app'                                                                       
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/railties-5.1.6/lib/rails/rack/logger.rb:26:in `call'                                                                           
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:13:in `call'                                                         
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/remote_ip.rb:79:in `call'                                                      
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/request_id.rb:25:in `call'                                                     
/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.7.0/lib/katello/prevent_json_parsing.rb:12:in `call'                                                                       
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/rack-2.0.3/lib/rack/method_override.rb:22:in `call'                                                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/rack-2.0.3/lib/rack/runtime.rb:22:in `call'                                                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'                                   
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/executor.rb:12:in `call'                                                       
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/actionpack-5.1.6/lib/action_dispatch/middleware/static.rb:125:in `call'                                                        
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/rack-2.0.3/lib/rack/sendfile.rb:111:in `call'                                                                                  
/opt/theforeman/tfm/root/usr/share/gems/gems/secure_headers-5.0.5/lib/secure_headers/middleware.rb:13:in `call'                                                                   
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/railties-5.1.6/lib/rails/engine.rb:522:in `call'                                                                               
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/railties-5.1.6/lib/rails/railtie.rb:185:in `public_send'                                                                       
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/railties-5.1.6/lib/rails/railtie.rb:185:in `method_missing'                                                                    
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/rack-2.0.3/lib/rack/urlmap.rb:68:in `block in call'                                                                            
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/rack-2.0.3/lib/rack/urlmap.rb:53:in `each'                                                                                     
/opt/theforeman/tfm-ror51/root/usr/share/gems/gems/rack-2.0.3/lib/rack/urlmap.rb:53:in `call'                                                                                     
/usr/share/passenger/phusion_passenger/rack/thread_handler_extension.rb:74:in `process_request'                                                                                   
/usr/share/passenger/phusion_passenger/request_handler/thread_handler.rb:141:in `accept_and_process_next_request'                                                                 
/usr/share/passenger/phusion_passenger/request_handler/thread_handler.rb:109:in `main_loop'                                                                                       
/usr/share/passenger/phusion_passenger/request_handler.rb:455:in `block (3 levels) in start_threads'                                                                              
/opt/theforeman/tfm/root/usr/share/gems/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'                                        

Bootstrap server

Bootstrap requires SSH to login into a server, so it requires an OS and an nic with IP.
Proxmox creates by default empty VM with no OS.
To install OS it is possible to mount iso template file.

Proxmox - lxc advanced features

I couldn't find the new advanced features for lxc containers. Its a really good feature that can be included in the container creation process.
From proxmox api.

"features": {
        "description": "Allow containers access to advanced features.",
        "format": {
            "fuse": {
                "default": 0,
                "description": "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
                "optional": 1,
                "type": "boolean"
            },
            "keyctl": {
                "default": 0,
                "description": "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
                "optional": 1,
                "type": "boolean"
            },
            "mount": {
                "description": "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
                "format_description": "fstype;fstype;...",
                "optional": 1,
                "pattern": "(?^:[a-zA-Z0-9; ]+)",
                "type": "string"
            },
            "nesting": {
                "default": 0,
                "description": "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
                "optional": 1,
                "type": "boolean"
            }
        },
        "optional": 1,
        "type": "string"
    },

Authentication

  • Create ticket with username and password
  • Verify ticket
  • OTP for Two factor authentication

CRUD storage

Storage in proxmox is not any user file storage in the cloud but only images, backup vm or container storage.
Images are called templates.

Add overwrited persisted? method to proxmox server

To create a vm, foreman uses vm_exists? from app/models/concerns/orchestration/compute.rb which uses persisted? from app/models/concerns/fog_extensions/model.rb which uses !!identity from fog.
The issue is that proxmox requires vmid to be submitted by the client in order to create a new vm.
vmid is the identity attribute. So it is always persisted to foreman.
To resolve it, it is necessary to overwrite persisted? method.

Clone VM from template

Please provide resource for VM cloning from template with options.
Its a great gem. Using it on daily bases.

Manage tasks

List, get and stop tasks
Tasks could be: create, configure, destroy, start, stop, resume, suspend and shutdown server

Compatibility with fog-core 2.1.0

Describe the bug
This gem is not compatible with the new fog. There's https://github.com/theforeman/foreman_fog_proxmox using this fog adapter, which now becomes incompatible. Foreman 1.22 (current nightly version) updated the fog to fog-core 2.1.0.

Additional context
This is the first step in order to keep this working with Foreman. Then also foreman_fog_proxmox will need to be updated. There's still time as Foreman plugins have async release cycle, but at this moment, we'll need to remove the plugin from our nightly repos due to repoclosure failure.

Do not see plugin at all

This does not install as a plugin and does not register as such. Perhaps the docs can be expanded a bit to guide the newbies. If I could provision a host on Proxmox I would be very happy. Many people I know would also be happy.

TFA in CRUD domains

TFA (Two factor authentication) attribute in domain is supposed to be a String but the server requires a specific format which is not documented

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.