python~crush之convert工具

本篇主要介绍convert这个工具

$ crush convert -h
usage: crush convert [-h] --in-path IN_PATH
                     [--in-format {txt,json,python-json,crush}] --out-path
                     OUT_PATH [--out-format {txt,json,python-json,crush}]

The Ceph crushmap can be stored in three formats:

- JSON, the output of *ceph osd crush dump* or *ceph report*

- txt, the output of *crushtool -d*

- binary, the output of *crushtool -c* or *ceph getcrushmap*

The JSON used is different from the python-crush format documented at
http://crush.readthedocs.io/en/latest/api.html#crush.Crush.parse.

It supports any of the existing Ceph formats and is
compatible with Luminous and below. It converts the
crushmap into the python-crush format and display the
result on the standard output.

optional arguments:
  -h, --help            show this help message and exit
  --in-path IN_PATH     path of the input file
  --in-format {txt,json,python-json,crush}
                        format of the input file
  --out-path OUT_PATH   path of the output file
  --out-format {txt,json,python-json,crush}
                        format of the output file

Examples:

Convert a Ceph JSON crushmap into a python-crush crushmap:
- crush convert --in-path crushmap-ceph.json --out-path crushmap.json

Convert a Ceph text crushmap into a python-crush crushmap:
- crush convert --in-path crushmap.txt --out-path crushmap.json

Convert a binary crushmap to python-crush crushmap:
- crush convert --in-path crushmap.bin --out-path crushmap.json

Convert a python-crush crushmap to Ceph text crushmap
- crush convert --in-path crushmap.json \
                --out-path crushmap.json --out-format txt

http://crush.readthedocs.io/en/latest/

你可能感兴趣的:(GSOC,2017,ceph,crush)