]> git.proxmox.com Git - ceph.git/blob - ceph/src/brag/server/ceph_brag/json.py
bump version to 12.2.12-pve1
[ceph.git] / ceph / src / brag / server / ceph_brag / json.py
1 from pecan.jsonify import jsonify
2 from ceph_brag.model import db
3
4 @jsonify.register(db.version_info)
5 def jsonify_version(vi):
6 return dict(
7 version_number=vi.version_number,
8 version_date=str(vi.version_date)
9 )
10
11 @jsonify.register(db.cluster_info)
12 def jsonify_cluster_info(ci):
13 return dict(
14 uuid=ci.uuid,
15 organization=ci.organization,
16 email=ci.contact_email,
17 cluster_name=ci.cluster_name,
18 cluster_creation_date=str(ci.cluster_creation_date),
19 num_versions=ci.num_versions
20 )
21
22 @jsonify.register(db.components_info)
23 def jsonify_components_info(comps):
24 return dict(
25 num_data_bytes=comps.num_data_bytes,
26 num_bytes_total=comps.num_bytes_total,
27 num_osds=comps.num_osds,
28 num_objects=comps.num_objects,
29 num_pgs=comps.num_pgs,
30 num_pools=comps.num_pools,
31 num_mdss=comps.num_mdss,
32 num_mons=comps.num_mons)
33
34 @jsonify.register(db.crush_types)
35 def jsonify_crush_types(crush):
36 return dict(type=crush.crush_type,
37 count=crush.crush_count)
38
39 @jsonify.register(db.pools_info)
40 def jsonify_pools_info(pool):
41 return dict(size=pool.pool_rep_size,
42 type=pool.pool_type,
43 id=pool.pool_id)
44
45 @jsonify.register(db.os_info)
46 def jsonify_os_info(value):
47 return dict(os=value.os,
48 count=value.count)
49
50 @jsonify.register(db.kernel_versions)
51 def jsonify_kernel_versions(value):
52 return dict(version=value.version,
53 count=value.count)
54
55 @jsonify.register(db.kernel_types)
56 def jsonify_kernel_types(value):
57 return dict(type=value.type,
58 count=value.count)
59
60 @jsonify.register(db.distros)
61 def jsonify_distros(value):
62 return dict(distro=value.distro,
63 count=value.count)
64
65 @jsonify.register(db.cpus)
66 def jsonify_cpus(value):
67 return dict(cpu=value.cpu,
68 count=value.count)
69
70 @jsonify.register(db.cpu_archs)
71 def jsonify_cpu_archs(value):
72 return dict(arch=value.arch,
73 count=value.count)
74
75 @jsonify.register(db.ceph_versions)
76 def jsonify_ceph_versions(value):
77 return dict(version=value.version,
78 count=value.count)
79
80 @jsonify.register(db.sysinfo)
81 def jsonify_sysinfo(value):
82 retval = {}
83
84 if value.os:
85 retval['os_info'] = value.os
86 if value.kern_vers:
87 retval['kernel_versions'] = value.kern_vers
88 if value.kern_types:
89 retval['kernel_types'] = value.kern_types
90 if value.distros:
91 retval['distros'] = value.distros
92 if value.cpus:
93 retval['cpus'] = value.cpus
94 if value.cpu_archs:
95 retval['cpu_archs'] = value.cpu_archs
96 if value.ceph_vers:
97 retval['ceph_versions'] = value.ceph_vers
98
99 return retval
100
101 @jsonify.register(db.brag)
102 def jsonify_brag(b):
103 ownership = {'organization':b.ci.organization,
104 'description':b.ci.description,
105 'email':b.ci.contact_email,
106 'name':b.ci.cluster_name
107 }
108 return dict(uuid=b.ci.uuid,
109 cluster_creation_date=str(b.ci.cluster_creation_date),
110 components_count=b.comps,
111 crush_types=b.crush,
112 ownership=ownership,
113 pool_metadata=b.pools,
114 sysinfo=b.sysinfo
115 )