Merge lp:~cjohnston/helipad/more-graphics-stuff into lp:helipad/graphics

Proposed by Chris Johnston
Status: Merged
Approved by: Chris Johnston
Approved revision: 24
Merged at revision: 24
Proposed branch: lp:~cjohnston/helipad/more-graphics-stuff
Merge into: lp:helipad/graphics
Diff against target: 128 lines (+39/-15)
3 files modified
management/commands/jenkins_pull_phoronix.py (+33/-15)
migrations/0001_initial.py (+4/-0)
models.py (+2/-0)
To merge this branch: bzr merge lp:~cjohnston/helipad/more-graphics-stuff
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve
Chris Johnston Approve
Francis Ginther Pending
Review via email: mp+182089@code.launchpad.net

This proposal supersedes a proposal from 2013-08-25.

Commit message

Add manufacturer and model of gfx card for GraphicsMachines

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal

PASSED: Continuous integration, rev:25
http://s-jenkins:8080/job/helipad-graphics-ci/15/
Executed test runs:

Click here to trigger a rebuild:
http://s-jenkins:8080/job/helipad-graphics-ci/15/rebuild

review: Approve (continuous-integration)
Revision history for this message
Francis Ginther (fginther) wrote : Posted in a previous version of this proposal

Does gfx_range refer to the 'le' or 'he' portion of the machine name? If so, I think this category is irrelevant and not worth tracking. It was originally used back in the day when we were testing unity 7 and needed a high end and low end box. Now just the mfg and chipset really matter. Also, newer machines aren't using this naming convention (i.e. 'ps-nvidia-310' or 'ps-intel-3000').

review: Needs Information
Revision history for this message
Francis Ginther (fginther) wrote : Posted in a previous version of this proposal

I gave this a test drive and found that the gfx_range is the 'le', 'he' bit. I wouldn't track this as it doesn't add any factual info. Some of these 'high-end' chips are probably considered 'low-end' by today's standards.

review: Needs Fixing
Revision history for this message
Chris Johnston (cjohnston) : Posted in a previous version of this proposal
review: Needs Resubmitting
Revision history for this message
Francis Ginther (fginther) wrote : Posted in a previous version of this proposal

Approve!

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal

FAILED: Autolanding.
More details in the following jenkins job:
http://s-jenkins:8080/job/helipad-graphics-autolanding/5/
Executed test runs:

review: Needs Fixing (continuous-integration)
24. By Chris Johnston

Add better support for displaying graphics data

Revision history for this message
Chris Johnston (cjohnston) :
review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:24
http://s-jenkins:8080/job/helipad-graphics-ci/19/
Executed test runs:

Click here to trigger a rebuild:
http://s-jenkins:8080/job/helipad-graphics-ci/19/rebuild

review: Approve (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'management/commands/jenkins_pull_phoronix.py'
2--- management/commands/jenkins_pull_phoronix.py 2013-08-25 03:54:43 +0000
3+++ management/commands/jenkins_pull_phoronix.py 2013-08-26 12:42:30 +0000
4@@ -1,11 +1,16 @@
5+import re
6 import logging
7 from time import ctime
8 from datetime import datetime
9+
10+from django.core.management.base import BaseCommand
11+
12+from common.management import jenkins_get
13+from common.models import JenkinsJob, JenkinsBuild
14+
15 from graphics.models import GraphicsImage, GraphicsMachine, GraphicsMetric
16-from common.models import JenkinsJob, JenkinsBuild
17-from django.core.management.base import BaseCommand
18+
19 from graphics.util import jenkins_pull
20-from common.management import jenkins_get
21
22 job_names = ['openarena-benchmark',
23 'gui-toolkits-benchmark',
24@@ -78,36 +83,49 @@
25 release='saucy',
26 arch='amd64',
27 variant='desktop',
28- md5=datetime.now().strftime(
29- "%s%f"),
30+ md5="{}{}{}{}".format(
31+ 'saucy',
32+ 'amd64',
33+ 'desktop',
34+ dic['iso'],
35+ ),
36 build_number=dic['iso'],
37 image_type='daily',
38- )
39+ )
40+ machine = dic['machine']
41+ machine_regex = re.compile(
42+ ur'(ps)-([^-]*)-([^-]*)((-[^-]*)?)$'
43+ )
44+ m = machine_regex.match(machine)
45+ if m:
46+ self.gfx_manufacturer = m.group(2)
47+ self.gfx_model = m.group(3)
48
49 #get_machine, created_machine
50 gm, cm = GraphicsMachine.objects.get_or_create(
51 name=dic['machine'],
52+ gfx_manufacturer=self.gfx_manufacturer,
53+ gfx_model=self.gfx_model,
54 mac_address='None',
55- )
56+ )
57 gjj, cjj = JenkinsJob.objects.get_or_create(
58 name=jenkins_job_name,
59 url="/".join(url_file.split('/')[:5])
60- )
61+ )
62 gjb, cjb = JenkinsBuild.objects.get_or_create(
63 job=gjj,
64 failed=False,
65 build_number=dic['build'],
66 ran_at=dt,
67- )
68+ )
69 gg, cg = GraphicsMetric.objects.get_or_create(
70- #recorded_image
71 image=gi,
72- #recorded_machine
73 machine=gm,
74- #recorded_jenkins_build
75 jenkins_build=gjb,
76- name="{}-{}".format(dic['machine'],
77- bench_name),
78+ name="{}-{}".format(
79+ dic['machine'],
80+ bench_name,
81+ ),
82 minimum=dic['min'],
83 maximum=dic['max'],
84 average=dic['average'],
85@@ -116,7 +134,7 @@
86 jenkins_url=url_file,
87 test_resolution=dic['options'],
88 framework='utah',
89- )
90+ )
91
92 job_list = []
93 for machine in machine_list:
94
95=== modified file 'migrations/0001_initial.py'
96--- migrations/0001_initial.py 2013-08-23 18:08:14 +0000
97+++ migrations/0001_initial.py 2013-08-26 12:42:30 +0000
98@@ -17,6 +17,8 @@
99 ('publish', self.gf('django.db.models.fields.BooleanField')(default=True)),
100 ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=200)),
101 ('mac_address', self.gf('django.db.models.fields.CharField')(max_length=200)),
102+ ('gfx_manufacturer', self.gf('django.db.models.fields.CharField')(max_length=4096)),
103+ ('gfx_model', self.gf('django.db.models.fields.CharField')(max_length=4096)),
104 ))
105 db.send_create_signal('graphics', ['GraphicsMachine'])
106
107@@ -126,6 +128,8 @@
108 'graphics.graphicsmachine': {
109 'Meta': {'object_name': 'GraphicsMachine', 'db_table': "'graphics_machines'"},
110 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
111+ 'gfx_manufacturer': ('django.db.models.fields.CharField', [], {'max_length': '4096'}),
112+ 'gfx_model': ('django.db.models.fields.CharField', [], {'max_length': '4096'}),
113 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
114 'internal': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
115 'mac_address': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
116
117=== modified file 'models.py'
118--- models.py 2013-08-23 18:08:14 +0000
119+++ models.py 2013-08-26 12:42:30 +0000
120@@ -5,6 +5,8 @@
121
122 class GraphicsMachine(MachineBase):
123 """ Graphics Machine model. """
124+ gfx_manufacturer = models.CharField(max_length=4096)
125+ gfx_model = models.CharField(max_length=4096)
126
127 class Meta:
128 db_table = "graphics_machines"

Subscribers

People subscribed via source and target branches

to all changes: