keksior  
                (Leszek Master)
               
                 
              
                  
                    March 16, 2015, 12:43pm
                   
                   
              1 
               
             
            
              After upgrading from 4.10 to 4.12 my ceph datastore is now 
100% full with 5.2/5.2 TB used. I don’t know from where opennebula gets 
this data if i have in my ceph This:
6485 GB data, 13704 GB used, 8022 GB / 21726 GB avail
Can anyone help solving it out ? I can’t create new VM’s, and that’s a big problem for me.
Please help.
             
            
               
               
               
            
            
           
          
            
              
                RaveNoX  
                (Artur Kraev)
               
              
                  
                    March 16, 2015,  3:19pm
                   
                   
              2 
               
             
            
              Can you provide output of this commands:
ceph df detail
ceph osd pool get <opennebula_pool> size
 
Replace <opennebula_pool> with pool’s name used by opennebula.
             
            
               
               
               
            
            
           
          
            
              
                keksior  
                (Leszek Master)
               
              
                  
                    March 16, 2015,  3:21pm
                   
                   
              3 
               
             
            
              Here you are. Also i attached one onedatastore list output.
[root@master-01 ceph]# ceph df detail 
GLOBAL: 
SIZE       AVAIL     RAW USED     %RAW USED     OBJECTS 
21726G     8021G     13705G       63.08         1725k 
POOLS: 
NAME         ID     CATEGORY     USED      %USED     OBJECTS     DIRTY     READ      WRITE 
data         0      -            0         0         0           0         0         0 
metadata     1      -            0         0         0           0         0         0 
rbd          2      -            0         0         0           0         0         0 
test         3      -            640G      2.95      173344      164k      39850     791k 
one          4      -            5309G     24.44     1387308     1354k     782M      6959M 
backup       5      -            535G      2.46      205838      201k      1187k     6213k 
[root@master-01 ceph]# ceph osd pool get one size 
size: 2
[oneadmin@master-01 ceph]$ onedatastore list 
ID NAME                SIZE AVAIL CLUSTER      IMAGES TYPE DS      TM      STAT 
0 system            196.7G 63%   -                 0 sys  -       shared  on 
1 default           196.7G 63%   -                 2 img  fs      shared  on 
2 files             196.7G 63%   -                 2 fil  fs      ssh     on 
100 ceph                5.2T 0%    -                74 img  ceph    ceph    on 
106 ssd-lvm-node-     196.7G 63%   -                 0 img  fs      shared  on
             
            
               
               
               
            
            
           
          
            
              
                ruben  
                (Rubén S. Montero)
               
              
                  
                    March 16, 2015,  4:14pm
                   
                   
              4 
               
             
            
              Hi
It seems that there is a kind of mismatch between the output of ceph df and that expect by OpenNebula.
The script is located in remotes/datastore/ceph/monitor. It basically gets the output of ceph df and takes the 5th element (MAX AVAIL) which is %USE in your case:
MAX_AVAIL=\$($CEPH df | grep "$POOL_NAME" | awk '{print \$5}')                                                                                                                            
USED=\$($CEPH df | grep "$POOL_NAME" | awk '{print \$3}')   
 
In your case it may be better to restore the previous version of the script.
Cheers
             
            
               
               
               
            
            
           
          
            
              
                keksior  
                (Leszek Master)
               
              
                  
                    March 17, 2015,  7:23am
                   
                   
              5 
               
             
            
              I didn’t do the backup of the /var/lib/one/remotes. Can anyone paste here code from the 4.10 version?
             
            
               
               
               
            
            
           
          
            
              
                knawnd  
                (knawnd)
               
              
                  
                    March 17, 2015,  8:22am
                   
                   
              6 
               
             
            
              I guess that  is what you are looking for (press “Download” link).
             
            
               
               
               
            
            
           
          
            
              
                keksior  
                (Leszek Master)
               
              
                  
                    March 17, 2015,  8:32am
                   
                   
              7 
               
             
            
              Thank you very much.   Solved
             
            
               
               
               
            
            
           
          
            
              
                apdibbo  
                (Alexander Dibbo)
               
              
                  
                    July 21, 2015, 10:08am
                   
                   
              8 
               
             
            
              Hi,
I am having the same issue however replacing monitor with the one from 14.10 did not resolve the issue for me.
When I run the monitor command from the logs I get the following result:
/usr/lib/ruby/1.8/rexml/parsers/treeparser.rb:92:in `parse': #<REXML::ParseException: #<NoMethodError: undefined    method `[]' for nil:NilClass> (REXML::ParseException)
/usr/lib/ruby/1.8/rexml/parsers/baseparser.rb:330:in `pull'
/usr/lib/ruby/1.8/rexml/parsers/treeparser.rb:22:in `parse'
/usr/lib/ruby/1.8/rexml/document.rb:245:in `build'
/usr/lib/ruby/1.8/rexml/document.rb:43:in `initialize'
/var/lib/one/remotes/datastore/ceph/../xpath.rb:58:in `new'
/var/lib/one/remotes/datastore/ceph/../xpath.rb:58
...
Exception parsing
Line:
Position:
Last 80 unconsumed characters:
</LN_TARG>
/usr/lib/ruby/1.8/rexml/parsers/baseparser.rb:418:in `pull'
/usr/lib/ruby/1.8/rexml/parsers/treeparser.rb:22:in `parse'
/usr/lib/ruby/1.8/rexml/document.rb:245:in `build'
/usr/lib/ruby/1.8/rexml/document.rb:43:in `initialize'
/var/lib/one/remotes/datastore/ceph/../xpath.rb:58:in `new'
/var/lib/one/remotes/datastore/ceph/../xpath.rb:58
...
#<NoMethodError: undefined method `[]' for nil:NilClass>
/usr/lib/ruby/1.8/rexml/parsers/baseparser.rb:330:in `pull'
/usr/lib/ruby/1.8/rexml/parsers/treeparser.rb:22:in `parse'
/usr/lib/ruby/1.8/rexml/document.rb:245:in `build'
/usr/lib/ruby/1.8/rexml/document.rb:43:in `initialize'
/var/lib/one/remotes/datastore/ceph/../xpath.rb:58:in `new'
/var/lib/one/remotes/datastore/ceph/../xpath.rb:58
...
Exception parsing
Line:
Position:
Last 80 unconsumed characters:
</LN_TARG
Line:
Position:
Last 80 unconsumed characters:
</LN_TARG
        from /usr/lib/ruby/1.8/rexml/document.rb:245:in `build'
        from /usr/lib/ruby/1.8/rexml/document.rb:43:in `initialize'
        from /var/lib/one/remotes/datastore/ceph/../xpath.rb:58:in `new'
        from /var/lib/one/remotes/datastore/ceph/../xpath.rb:58
/var/lib/one/remotes/datastore/ceph/../libfs.sh: line 238: RANDOM % 0: division by 0 (error token is "0")
ERROR MESSAGE --8<------
Datastore template missing 'BRIDGE_LIST' attribute.
ERROR MESSAGE ------>8--
 
Is there anything else you can advise?
Thanks
Alex