4 from common import elastic_access
7 class DashboardAssembler(object):
17 super(DashboardAssembler, self).__init__()
18 self.project = project
20 self.test_family = family
21 self.installer = installer
23 self.visualizations = visualizations
25 self.es_creds = es_creds
32 "project_name": self.project,
33 "case_name": self.case,
34 "installer": self.installer,
35 "metric": self.visualizations[0].vis_state_title,
38 "test_family": self.test_family,
39 "ids": [visualization.id for visualization in self.visualizations]
41 template = utility.env.get_template('dashboard.json')
42 self.dashboard = json.loads(template.render(db=db))
43 utility.dumps(self.dashboard,
48 utility.dumps_2depth(self.dashboard,
49 'kibanaSavedObjectMeta',
51 self.id = self.dashboard['title'].replace(' ', '-').replace('/', '-')
55 elastic_access.publish_kibana(self.es_url,