Diskmanage: add flag for encrypted osds

we can only do this here, since the ceph cluster is not aware of
osd encryption, only the local node is (via ceph-volume and lv tags)

this way, we are able to show an 'encrypted' flag in the disk gui at least

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak
2019-07-12 12:15:15 +02:00
committed by Fabian Grünbichler
parent 1e6057d1b4
commit bfb3d42daf
3 changed files with 11 additions and 1 deletions

View File

@ -292,6 +292,9 @@ sub get_ceph_volume_infos {
if (($type eq 'block' || $type eq 'data') && $fields->[2] =~ m/ceph.osd_id=([^,]+)/) {
$result->{$dev}->{osdid} = $1;
$result->{$dev}->{bluestore} = ($type eq 'block');
if ($fields->[2] =~ m/ceph\.encrypted=1/) {
$result->{$dev}->{encrypted} = 1;
}
} else {
# undef++ becomes '1' (see `perldoc perlop`: Auto-increment)
$result->{$dev}->{$type}++;
@ -582,6 +585,7 @@ sub get_disks {
my $osdid = -1;
my $bluestore = 0;
my $osdencrypted = 0;
my $journal_count = 0;
my $db_count = 0;
@ -638,6 +642,7 @@ sub get_disks {
if (defined($ceph_volume->{osdid})) {
$osdid = $ceph_volume->{osdid};
$bluestore = 1 if $ceph_volume->{bluestore};
$osdencrypted = 1 if $ceph_volume->{encrypted};
}
}
@ -656,6 +661,7 @@ sub get_disks {
$disklist->{$dev}->{osdid} = $osdid;
$disklist->{$dev}->{journals} = $journal_count if $journal_count;
$disklist->{$dev}->{bluestore} = $bluestore if $osdid != -1;
$disklist->{$dev}->{osdencrypted} = $osdencrypted if $osdid != -1;
$disklist->{$dev}->{db} = $db_count if $db_count;
$disklist->{$dev}->{wal} = $wal_count if $wal_count;
});

View File

@ -4,6 +4,7 @@
"rpm" : 0,
"size" : 1536000,
"type" : "hdd",
"osdencrypted": 0,
"osdid" : "444",
"bluestore" : "0",
"health" : "UNKNOWN",
@ -104,6 +105,7 @@
"rpm" : 0,
"type" : "hdd",
"bluestore": 1,
"osdencrypted": 0,
"osdid" : 1
},
"sdh" : {
@ -152,6 +154,7 @@
"rpm" : 0,
"bluestore": 0,
"type" : "hdd",
"osdencrypted": 1,
"osdid" : 0
},
"sdk" : {
@ -168,6 +171,7 @@
"rpm" : 0,
"bluestore": 0,
"type" : "hdd",
"osdencrypted": 0,
"osdid" : 230
},
"sdl" : {

View File

@ -1,6 +1,6 @@
/dev/sdg(0);osd-block-01234;ceph.osd_id=1
/dev/sdh(0);osd-journal-01234;ceph.osd_id=1
/dev/sdi(0);osd-db-01234;ceph.osd_id=1,dasdf
/dev/sdj(0);osd-data-01234;ceph.osd_id=0,asfd
/dev/sdj(0);osd-data-01234;ceph.osd_id=0,asfd,ceph.encrypted=1
/dev/sdk(0);osd-data-231231;ceph.osd_id=230,ceph.fsid=test
/dev/sdl(0);osd-data-234132;ceph.osd_id=,bar