mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 05:27:21 +00:00
Merge pull request #49394 from wwwtyro/rye/rbd-stats-improvement
Automatic merge from submit-queue (batch tested with PRs 49326, 49394, 49346, 49379, 49399) more robust stat handling from ceph df output in the kubernetes-master charm create-rbd-pv action **What this PR does / why we need it**: more robust stat handling from ceph df output in the kubernetes-master charm create-rbd-pv action **Release note**: ```release-note more robust stat handling from ceph df output in the kubernetes-master charm create-rbd-pv action ```
This commit is contained in:
commit
9712a80505
@ -23,6 +23,7 @@ from subprocess import check_call
|
|||||||
from subprocess import check_output
|
from subprocess import check_output
|
||||||
from subprocess import CalledProcessError
|
from subprocess import CalledProcessError
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
|
import json
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
@ -179,14 +180,13 @@ def get_monitors():
|
|||||||
def get_available_space():
|
def get_available_space():
|
||||||
''' Determine the space available in the RBD pool. Throw an exception if
|
''' Determine the space available in the RBD pool. Throw an exception if
|
||||||
the RBD pool ('rbd') isn't found. '''
|
the RBD pool ('rbd') isn't found. '''
|
||||||
command = ['ceph', 'df']
|
command = 'ceph df -f json'.split()
|
||||||
debug_command(command)
|
debug_command(command)
|
||||||
out = check_output(command).decode('utf-8')
|
out = check_output(command).decode('utf-8')
|
||||||
for line in out.splitlines():
|
data = json.loads(out)
|
||||||
stripped = line.strip()
|
for pool in data['pools']:
|
||||||
if stripped.startswith('rbd'):
|
if pool['name'] == 'rbd':
|
||||||
M = stripped.split()[-2].replace('M', '')
|
return int(pool['stats']['max_avail'] / (1024 * 1024))
|
||||||
return int(M)
|
|
||||||
raise UnknownAvailableSpaceException('Unable to determine available space.') # noqa
|
raise UnknownAvailableSpaceException('Unable to determine available space.') # noqa
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user