summaryrefslogtreecommitdiff
path: root/bin/swift-container-sharder
blob: 0374b8d91ba4c02e62e95326a3a297ea8e3a6ba5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env python
# Copyright (c) 2010-2015 OpenStack Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from swift.container.sharder import ContainerSharder
from swift.common.utils import parse_options
from swift.common.daemon import run_daemon
from optparse import OptionParser

if __name__ == '__main__':
    parser = OptionParser("%prog CONFIG [options]")
    parser.add_option('-d', '--devices',
                      help='Shard containers only on given devices. '
                           'Comma-separated list. '
                           'Only has effect if --once is used.')
    parser.add_option('-p', '--partitions',
                      help='Shard containers only in given partitions. '
                           'Comma-separated list. '
                           'Only has effect if --once is used.')
    parser.add_option('--no-auto-shard', action='store_false',
                      dest='auto_shard', default=None,
                      help='Disable auto-sharding. Overrides the auto_shard '
                           'value in the config file.')
    conf_file, options = parse_options(parser=parser, once=True)
    run_daemon(ContainerSharder, conf_file, **options)