1 from pecan.jsonify import jsonify
2 from ceph_brag.model import db
4 @jsonify.register(db.version_info)
5 def jsonify_version(vi):
7 version_number=vi.version_number,
8 version_date=str(vi.version_date)
11 @jsonify.register(db.cluster_info)
12 def jsonify_cluster_info(ci):
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
22 @jsonify.register(db.components_info)
23 def jsonify_components_info(comps):
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)
34 @jsonify.register(db.crush_types)
35 def jsonify_crush_types(crush):
36 return dict(type=crush.crush_type,
37 count=crush.crush_count)
39 @jsonify.register(db.pools_info)
40 def jsonify_pools_info(pool):
41 return dict(size=pool.pool_rep_size,
45 @jsonify.register(db.os_info)
46 def jsonify_os_info(value):
47 return dict(os=value.os,
50 @jsonify.register(db.kernel_versions)
51 def jsonify_kernel_versions(value):
52 return dict(version=value.version,
55 @jsonify.register(db.kernel_types)
56 def jsonify_kernel_types(value):
57 return dict(type=value.type,
60 @jsonify.register(db.distros)
61 def jsonify_distros(value):
62 return dict(distro=value.distro,
65 @jsonify.register(db.cpus)
66 def jsonify_cpus(value):
67 return dict(cpu=value.cpu,
70 @jsonify.register(db.cpu_archs)
71 def jsonify_cpu_archs(value):
72 return dict(arch=value.arch,
75 @jsonify.register(db.ceph_versions)
76 def jsonify_ceph_versions(value):
77 return dict(version=value.version,
80 @jsonify.register(db.sysinfo)
81 def jsonify_sysinfo(value):
85 retval['os_info'] = value.os
87 retval['kernel_versions'] = value.kern_vers
89 retval['kernel_types'] = value.kern_types
91 retval['distros'] = value.distros
93 retval['cpus'] = value.cpus
95 retval['cpu_archs'] = value.cpu_archs
97 retval['ceph_versions'] = value.ceph_vers
101 @jsonify.register(db.brag)
103 ownership = {'organization':b.ci.organization,
104 'description':b.ci.description,
105 'email':b.ci.contact_email,
106 'name':b.ci.cluster_name
108 return dict(uuid=b.ci.uuid,
109 cluster_creation_date=str(b.ci.cluster_creation_date),
110 components_count=b.comps,
113 pool_metadata=b.pools,