g6094199  
                
                  
                    January 25, 2018,  2:53pm
                   
                  1 
               
             
            
              
 
Importet an 4 Disk Pool. Set the compression to zlib. added “extra mount options” autodefrag. after applying the compression error  popped up. Zlib got successfully set
but the “autodefrag” didnt got added. So imho this is NOT a compression error instead of an “extra mount options” problem.
 
 
            Traceback (most recent call last):
  File "/opt/rockstor/eggs/gunicorn-19.7.1-py2.7.egg/gunicorn/workers/sync.py", line 68, in run_for_one
    self.accept(listener)
  File "/opt/rockstor/eggs/gunicorn-19.7.1-py2.7.egg/gunicorn/workers/sync.py", line 27, in accept
    client, addr = listener.accept()
  File "/usr/lib64/python2.7/socket.py", line 202, in accept
    sock, addr = self._sock.accept()
error: [Errno 11] Resource temporarily unavailable
             
            
              
           
          
            
              
                phillxnet  
              
                  
                    January 25, 2018,  6:36pm
                   
                  2 
               
             
            
              @g6094199  Hello again and thanks for the report.
We definitely have a bug around this area as I’ve seen something like this myself, for me I think I had to double enter something or return one of the setting to none before it would stick a second time: didn’t quite pin it down at the time. Pretty sure it’s a bug in the UI input validation code somewhere and have been meaning to pin it down and sort it for a while now.
Do you fancy opening a GitHub issue with your findings (you could link back to this forum post) as I should have done a while back? If not no worries I’ll get around to it soon. Best if we have a repeatable scenario to reproduce, that way we can prove the fix. I don’t think this is related to the pool import prior however so should be light weigh to reproduce.
Thank again for the bug report.
             
            
              
           
          
            
              
                phillxnet  
              
                  
                    February 14, 2018, 11:43am
                   
                  3 
               
             
            
              @g6094199  Quick update.
and
Finally got around to having a quick look at this and I’ve now found a reliable reproducer and have thus created the following issue:
  
  
    
  
  
    
    
      
        opened 11:30AM - 14 Feb 18 UTC 
      
        
          closed 01:17PM - 05 Mar 18 UTC 
        
      
     
    
        
          enhancement
         
    
   
 
  
    Thanks to forum member g6094199 in the following thread for highlighting this is… sue. When a pool is imported it's default "Compression" is displayed as "Empty". While this default setting persists it is not possible to add "Extra mount options" as the following input validation error of the unchanged "Empty" compression setting is thrown:
Unsupported compression algorithm(). Use one of ('lzo', 'zlib', 'no')
This does not affect newly created pools that default to 'no' for compression and once an imported pool has it's compression set, subsequent attempts to add/edit "Extra mount options" succeeds: given associated validation checks pass.
The issue author suggests that "None" or "OFF" (as per non editable system pool indicator) would be a better default setting indicator than “no”. And that these indicator should be consistent named.
Please update the following forum thread with this issue's resolution:
https://forum.rockstor.com/t/unsupported-compression-algorithm-use-one-of-lzo-zlib-no/4381 
   
   
  
    
    
  
  
 
It is not exactly as you describe but once I get into it, now we have a reproducer, related triggers should also be fixed; hopefully.
And it seems that I was way off initially with:
Oh well 
I hope to have a look at this shortly as it folds into some larger issues I am in the process of addressing.
             
            
              
           
          
            
              
                phillxnet  
              
                  
                    March 5, 2018,  8:59pm
                   
                  4 
               
             
            
              @g6094199  Quick update re:
As of stable release version 3.9.2-17 your reported issue re imported pools and their compression / extra mount options weirdness should now be fixed via the following merged pull request:
  
  
    
    
  
      
    
      rockstor:master ← phillxnet:1896_empty_compression_setting_on_imported_pools_blocks_extra_mount_options
    
      
        
          opened 09:05PM - 16 Feb 18 UTC 
        
        
        
       
   
 
  
    Newly created pools have Pool.compression set to 'no' however imported pools, an… d the system pool, defaulted to Null / None for this field. Consequently "Empty" was indicated by x-editable inline compression edit on pool overview and detail pages. This entry and it's consequent value failed the dual submission of compression and mount options.
Summary:
- Set imported pools to 'no' compression by default.
- Handle "Empty" output from inline editable of compression setting.
- Put "Empty" inline editable colour in line with links as not an error condition (to allow for legacy imported pools).
- Change "Empty" legacy pool imports compression text to "Unset".
- Improve and normalise compression tooltip text.
- Add 'compression' and 'extra mount options' tooltips to Pool overview.
- Remove inconsistent root pool mount edit options see issue #1861 where compression and mount options were offered on system drive details page.
- Display system Pool.compression and Pool.mnt_options as per other pools but without edit options: i.e. 'no', if set, rather than 'OFF' as a hard wired value.
Fixes #1896 
and additionally:
Fixes #1861 
Please see both issues texts for context.
@schakrava Ready for review.
Test for 'proof of fix':
Imported pools on fresh build and ensured that their 'extra mount options' could be inline edited prior to their 'Empty' (post pr 'Unset') compression entries having a selection made. Also edited system pool's compression and mnt_options entries in storageadmin_pool db to ensure future configuration on these elements will display as intended. Tested a completely fresh build to ensure system pool had it's Pool.compression set as intended.
Outstanding caveat: When editing both compression and mount options in Pool details page without a page refresh between them, stale settings can be re-applied. This is due to the Pool info held by that page not being refreshed and the js using this outdated info on the second settings submission.  This bug can be addressed separately against an issue opened for this purpose. 
   
   
  
    
    
  
  
 
Thanks for your patience: sorted the missing tooltips and colouring while I was there.
             
            
              1 Like