]>
Commit | Line | Data |
---|---|---|
20effc67 TL |
1 | // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- |
2 | // vim: ts=8 sw=2 smarttab | |
3 | ||
4 | #include "build_options.h" | |
5 | ||
6 | #include <algorithm> | |
7 | #include <cstring> | |
8 | ||
9 | std::vector<Option> get_global_options(); | |
10 | std::vector<Option> get_mgr_options(); | |
11 | std::vector<Option> get_mon_options(); | |
12 | std::vector<Option> get_crimson_options(); | |
13 | std::vector<Option> get_osd_options(); | |
14 | std::vector<Option> get_rgw_options(); | |
15 | std::vector<Option> get_rbd_options(); | |
16 | std::vector<Option> get_rbd_mirror_options(); | |
17 | std::vector<Option> get_immutable_object_cache_options(); | |
18 | std::vector<Option> get_mds_options(); | |
19 | std::vector<Option> get_mds_client_options(); | |
20 | std::vector<Option> get_cephfs_mirror_options(); | |
2a845540 | 21 | std::vector<Option> get_ceph_exporter_options(); |
20effc67 TL |
22 | |
23 | std::vector<Option> build_options() | |
24 | { | |
25 | std::vector<Option> result = get_global_options(); | |
26 | ||
27 | auto ingest = [&result](std::vector<Option>&& options, const char* svc) { | |
28 | for (auto &o : options) { | |
29 | if (std::none_of(o.services.begin(), o.services.end(), | |
30 | [svc](const char* known_svc) { | |
31 | return std::strcmp(known_svc, svc) == 0; | |
32 | })) { | |
33 | o.add_service(svc); | |
34 | } | |
35 | result.push_back(std::move(o)); | |
36 | } | |
37 | }; | |
38 | ||
39 | ingest(get_crimson_options(), "osd"); | |
40 | ingest(get_mgr_options(), "mgr"); | |
41 | ingest(get_mon_options(), "mon"); | |
42 | ingest(get_osd_options(), "osd"); | |
43 | ingest(get_rgw_options(), "rgw"); | |
44 | ingest(get_rbd_options(), "rbd"); | |
45 | ingest(get_rbd_mirror_options(), "rbd-mirror"); | |
46 | ingest(get_immutable_object_cache_options(), "immutable-object-cache"); | |
47 | ingest(get_mds_options(), "mds"); | |
48 | ingest(get_mds_client_options(), "mds_client"); | |
49 | ingest(get_cephfs_mirror_options(), "cephfs-mirror"); | |
2a845540 | 50 | ingest(get_ceph_exporter_options(), "ceph-exporter"); |
20effc67 TL |
51 | |
52 | return result; | |
53 | } |