Closed tnaganawa closed 3 years ago
Hi, I noticed blkid check logic is disabled in test logic :), https://github.com/LINBIT/linstor-server/blob/master/satellite/src/test/java/com/linbit/linstor/layer/storage/utils/LsBlkUtilsTest.java#L51
so I tried with disabling this logic in a test setup.
diff --git a/satellite/src/main/java/com/linbit/linstor/api/protobuf/ListPhysicalDevices.java b/satellite/src/main/java/com/linbit/linstor/api/protobuf/ListPhysicalDevices.java
index ece1603f8..86a918fb3 100644
--- a/satellite/src/main/java/com/linbit/linstor/api/protobuf/ListPhysicalDevices.java
+++ b/satellite/src/main/java/com/linbit/linstor/api/protobuf/ListPhysicalDevices.java
@@ -59,7 +59,7 @@ public class ListPhysicalDevices implements ApiCall
MsgReqPhysicalDevicesOuterClass.MsgReqPhysicalDevices.parseDelimitedFrom(msgDataIn);
List<LsBlkEntry> entries = LsBlkUtils.lsblk(extCmdFactory.create());
- String[] blkIdEntries = LsBlkUtils.blkid(extCmdFactory.create());
+ String[] blkIdEntries = new String[]{}; // skip blkid command
if (msgReqPhysicalDevices.getFilter())
{
With this patch and using this command to wait for previous pvc to be 'Bound' state,
# for i in $(seq 1 50); do kubectl create -f /tmp/pvc$i.yaml; kubectl get --watch pvc demo-rwo-r$i -o 'go-template={{if eq .status.phase "Bound"}}{{.err}}{{end}}' | head -n 0; done
up to 50 parallel PVC creation worked fine :)
Best Regards,
Hi, I'm testing PVC creation feature with 3 node kubernetes cluster with piraeus-operator.
After setting lvm.conf through this issue, parallel creation of PVC becomes much faster and I can create 10 PVC in parallel now :) https://github.com/piraeusdatastore/piraeus/pull/61
Having said that, when 20 PVC is created in parallel, it still returns bunch of Inconsistent volumes ..
Investigating this behavior, blkid -o device command is always running when 'linstor volume list' is slow, and this command also directly access /dev/drbdXXXX file, although it could be slow when DRBD state is 'Secondary'.
same behavior with pvs, vgs, lvs without setting lvm.conf
strace also states that that blkid command tries to access each /dev/drbdXXXX disk, and after a while, it get 'EMEDIUMTYPE (Wrong medium type)', so it takes long time to access all the volumes, and hits some timeout and volumes remain Inconsistent state.
To suppress this behavior, is it possible to skip blkid command when device major number is 147?
Best Regards, Tatsuya