parameters: (osd_id, osd_fsid, lockbox_keyring=None)
return_statement: return ' '.join(stdout).strip()
docstring: Retrieve the dmcrypt (secret) key stored initially on the monitor. The key
      is sent initially with JSON, and the Monitor then mangles the name to
      ``dm-crypt/osd/<fsid>/luks``
  
      The ``lockbox.keyring`` file is required for this operation, and it is
      assumed it will exist on the path for the same OSD that is being activated.
      To support scanning, it is optionally configurable to a custom location
      (e.g. inside a lockbox partition mounted in a temporary location)
docstring_summary: Retrieve the dmcrypt (secret) key stored initially on the monitor. The key
      is sent initially with JSON, and the Monitor then mangles the name to
      ``dm-crypt/osd/<fsid>/luks``
docstring_tokens: Retrieve the dmcrypt ( secret ) key stored initially on the monitor . The key is sent initially with JSON and the Monitor then mangles the name to dm - crypt / osd / <fsid > / luks
function: def get_dmcrypt_key(osd_id, osd_fsid, lockbox_keyring=None):
      """
      Retrieve the dmcrypt (secret) key stored initially on the monitor. The key
      is sent initially with JSON, and the Monitor then mangles the name to
      ``dm-crypt/osd/<fsid>/luks``
  
      The ``lockbox.keyring`` file is required for this operation, and it is
      assumed it will exist on the path for the same OSD that is being activated.
      To support scanning, it is optionally configurable to a custom location
      (e.g. inside a lockbox partition mounted in a temporary location)
      """
      if lockbox_keyring is None:
          lockbox_keyring = '/var/lib/ceph/osd/%s-%s/lockbox.keyring' % (conf.cluster, osd_id)
      name = 'client.osd-lockbox.%s' % osd_fsid
      config_key = 'dm-crypt/osd/%s/luks' % osd_fsid
  
      stdout, stderr, returncode = process.call(
          [
              'ceph',
              '--cluster', conf.cluster,
              '--name', name,
              '--keyring', lockbox_keyring,
              'config-key',
              'get',
              config_key
          ],
          show_command=True
      )
      if returncode != 0:
          raise RuntimeError('Unable to retrieve dmcrypt secret')
      return ' '.join(stdout).strip()
function_tokens: def get_dmcrypt_key ( osd_id , osd_fsid , lockbox_keyring = None ) : if lockbox_keyring is None : lockbox_keyring = '/var/lib/ceph/osd/%s-%s/lockbox.keyring' % ( conf . cluster , osd_id ) name = 'client.osd-lockbox.%s' % osd_fsid config_key = 'dm-crypt/osd/%s/luks' % osd_fsid stdout , stderr , returncode = process . call ( [ 'ceph' , '--cluster' , conf . cluster , '--name' , name , '--keyring' , lockbox_keyring , 'config-key' , 'get' , config_key ] , show_command = True ) if returncode != 0 : raise RuntimeError ( 'Unable to retrieve dmcrypt secret' ) return ' ' . join ( stdout ) . strip ( )