Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / src / test / cli / crushtool / help.t
1   $ crushtool --help
2   usage: crushtool ...
3   
4   Display, modify and test a crush map
5   
6   There are five stages, running one after the other:
7   
8    - input/build
9    - tunables adjustments
10    - modifications
11    - display/test
12    - output
13   
14   Options that are not specific to a stage.
15   
16      [--infn|-i infile]
17                            read the crush map from infile
18   
19   Options for the input/build stage
20   
21      --decompile|-d map    decompile a crush map to source
22      [--outfn|-o outfile]
23                            specify output for for (de)compilation
24      --compile|-c map.txt  compile a map from source
25      --enable-unsafe-tunables
26                            compile with unsafe tunables
27      --build --num_osds N layer1 ...
28                            build a new map, where each 'layer' is
29                            'name (uniform|straw2|straw|list|tree) size'
30   
31   Options for the tunables adjustments stage
32   
33      --set-choose-local-tries N
34                            set choose local retries before re-descent
35      --set-choose-local-fallback-tries N
36                            set choose local retries using fallback
37                            permutation before re-descent
38      --set-choose-total-tries N
39                            set choose total descent attempts
40      --set-chooseleaf-descend-once <0|1>
41                            set chooseleaf to (not) retry the recursive descent
42      --set-chooseleaf-vary-r <0|1>
43                            set chooseleaf to (not) vary r based on parent
44      --set-chooseleaf-stable <0|1>
45                            set chooseleaf firstn to (not) return stable results
46   
47   Options for the modifications stage
48   
49      -i mapfn --add-item id weight name [--loc type name ...]
50                            insert an item into the hierarchy at the
51                            given location
52      -i mapfn --update-item id weight name [--loc type name ...]
53                            insert or move an item into the hierarchy at the
54                            given location
55      -i mapfn --remove-item name
56                            remove the given item
57      -i mapfn --reweight-item name weight
58                            reweight a given item (and adjust ancestor
59                            weights as needed)
60      -i mapfn --reweight   recalculate all bucket weights
61      -i mapfn --create-simple-rule name root type mode
62                            create crush rule <name> to start from <root>,
63                            replicate across buckets of type <type>, using
64                            a choose mode of <firstn|indep>
65      -i mapfn --create-replicated-rule name root type
66                            create crush rule <name> to start from <root>,
67                            replicate across buckets of type <type>
68      --device-class <class>
69                            use device class <class> for new rule
70      -i mapfn --remove-rule name
71                            remove the specified crush rule
72   
73   Options for the display/test stage
74   
75      -f --format           the format of --dump, defaults to json-pretty
76                            can be one of json, json-pretty, xml, xml-pretty,
77                            table, table-kv, html, html-pretty
78      --dump                dump the crush map
79      --tree                print map summary as a tree
80      --check [max_id]      check if any item is referencing an unknown name/type
81      -i mapfn --show-location id
82                            show location for given device id
83      -i mapfn --test       test a range of inputs on the map
84         [--min-x x] [--max-x x] [--x x]
85         [--min-rule r] [--max-rule r] [--rule r] [--ruleset rs]
86         [--num-rep n]
87         [--pool-id n]      specifies pool id
88         [--batches b]      split the CRUSH mapping into b > 1 rounds
89         [--weight|-w devno weight]
90                            where weight is 0 to 1.0
91         [--simulate]       simulate placements using a random
92                            number generator in place of the CRUSH
93                            algorithm
94      --show-utilization    show OSD usage
95      --show-utilization-all
96                            include zero weight items
97      --show-statistics     show chi squared statistics
98      --show-mappings       show mappings
99      --show-bad-mappings   show bad mappings
100      --show-choose-tries   show choose tries histogram
101      --output-name name
102                            prepend the data file(s) generated during the
103                            testing routine with name
104      --output-csv
105                            export select data generated during testing routine
106                            to CSV files for off-line post-processing
107                            use --help-output for more information
108   
109   Options for the output stage
110   
111      [--outfn|-o outfile]
112                            specify output for modified crush map
113   
114  
115   $ crushtool --help-output
116   data output from testing routine ...
117              absolute_weights
118                     the decimal weight of each OSD
119                     data layout: ROW MAJOR
120                                  OSD id (int), weight (int)
121              batch_device_expected_utilization_all
122                     the expected number of objects each OSD should receive per placement batch
123                     which may be a decimal value
124                     data layout: COLUMN MAJOR
125                                  round (int), objects expected on OSD 0...OSD n (float)
126              batch_device_utilization_all
127                     the number of objects stored on each OSD during each placement round
128                     data layout: COLUMN MAJOR
129                                  round (int), objects stored on OSD 0...OSD n (int)
130              device_utilization_all
131                     the number of objects stored on each OSD at the end of placements
132                     data_layout: ROW MAJOR
133                                  OSD id (int), objects stored (int), objects expected (float)
134              device_utilization
135                     the number of objects stored on each OSD marked 'up' at the end of placements
136                     data_layout: ROW MAJOR
137                                  OSD id (int), objects stored (int), objects expected (float)
138              placement_information
139                     the map of input -> OSD
140                     data_layout: ROW MAJOR
141                                  input (int), OSD's mapped (int)
142              proportional_weights_all
143                     the proportional weight of each OSD specified in the CRUSH map
144                     data_layout: ROW MAJOR
145                                  OSD id (int), proportional weight (float)
146              proportional_weights
147                     the proportional weight of each 'up' OSD specified in the CRUSH map
148                     data_layout: ROW MAJOR
149                                  OSD id (int), proportional weight (float)