dmcrypt support / osd disk encryption support

related prod:
PROD-15919

Change-Id: I80c84b8bd7df45959d4a6dc1bbc643d0df4720fe
diff --git a/_grains/ceph.py b/_grains/ceph.py
index a678404..003fcd0 100644
--- a/_grains/ceph.py
+++ b/_grains/ceph.py
@@ -9,9 +9,9 @@
     import re
 
     # osd
-    mount_path = check_output("df -h | awk '{print $6}' | grep ceph | sed 's/[0-9]*//g' | awk 'NR==1{print $1}'", shell=True).rstrip()
+    mount_path = check_output("df -h | awk '{print $6}' | grep ceph | grep -v lockbox | sed 's/[0-9]*//g' | awk 'NR==1{print $1}'", shell=True).rstrip()
     sed = 'sed \'s#{0}##g\''.format(mount_path)
-    cmd = "df -h | awk '{print $1,$6}' | grep ceph | " + sed
+    cmd = "lsblk -rp | awk '{print $1,$6,$7}' | grep -v lockbox | grep ceph | " + sed
     osd_output = check_output(cmd, shell=True)
     grain = {}
     grain["ceph"] = {}
@@ -19,10 +19,21 @@
         devices = {}
         for line in osd_output.splitlines():
             device = line.split()
-            dev = device[0].replace('1','')
-            device[0] = device[1]
+            encrypted = False
+            if "crypt" in device[1]:
+                output = check_output("lsblk -rp | grep -B1 " + device[0], shell=True)
+                for l in output.splitlines():
+                    d = l.split()
+                    dev = d[0].replace('1','')
+                    encrypted = True
+                    break
+            else:
+                dev = device[0].replace('1','')
+            device[0] = device[2]
             devices[device[0]] = {}
             devices[device[0]]['dev'] = dev
+            if encrypted:
+                devices[device[0]]['dmcrypt'] = 'true'
             tline = check_output("ceph osd tree | awk '{print $1,$2,$3,$4}' | grep -w 'osd." + device[0] + "'", shell=True)
             osd = tline.split()
             if "osd" not in osd[2]: