@@ -67,6 +67,7 @@ def task(ctx, config):
6767
6868 with contextutil .safe_while (sleep = 1 , tries = 15 ) as proceed :
6969 while proceed ():
70+ remote .run (args = ['lsblk' ], stdout = StringIO ())
7071 p = remote .run (args = ['sudo' , 'nvme' , 'list' , '-o' , 'json' ], stdout = StringIO ())
7172 new_devs = []
7273 # `nvme list -o json` will return the following output:
@@ -96,6 +97,7 @@ def task(ctx, config):
9697 vendor = device ['ModelNumber' ]
9798 if dev .startswith ('/dev/' ) and vendor == 'Linux' :
9899 new_devs .append (dev )
100+ bluestore_zap (remote , dev )
99101 log .info (f'new_devs { new_devs } ' )
100102 assert len (new_devs ) <= len (devs )
101103 if len (new_devs ) == len (devs ):
@@ -128,3 +130,13 @@ def task(ctx, config):
128130 data = old_scratch_by_remote [remote ],
129131 sudo = True
130132 )
133+
134+ def bluestore_zap (remote , device : str ) -> None :
135+ for offset in [0 , 1073741824 , 10737418240 ]:
136+ remote .run (args = ['sudo' , 'dd' ,
137+ 'if=/dev/zero' , f'of={ device } ' ,
138+ f'seek={ offset } ' , 'bs=1' ,
139+ 'count=4096' ], stdout = StringIO ())
140+ remote .run (args = ['sudo' , 'hexdump' , '-n22' ,
141+ '-C' , f'-s{ offset } ' , f'{ device } ' ],
142+ stdout = StringIO ())
0 commit comments