Merge lp:~cjohnston/qa-dashboard/bootspeed-max-length into lp:qa-dashboard

Proposed by Chris Johnston
Status: Superseded
Proposed branch: lp:~cjohnston/qa-dashboard/bootspeed-max-length
Merge into: lp:qa-dashboard
Diff against target: 310 lines (+259/-13)
2 files modified
bootspeed/migrations/0007_increase_max_length.py (+246/-0)
bootspeed/models.py (+13/-13)
To merge this branch: bzr merge lp:~cjohnston/qa-dashboard/bootspeed-max-length
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve
Canonical CI Engineering Pending
Review via email: mp+191930@code.launchpad.net

This proposal has been superseded by a proposal from 2013-10-22.

Commit message

Increase the max_length of bootspeed model fields

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

PASSED: Continuous integration, rev:645
http://10.97.0.26:8080/job/dashboard-ci/204/
Executed test runs:

Click here to trigger a rebuild:
http://10.97.0.26:8080/job/dashboard-ci/204/rebuild

review: Approve (continuous-integration)
646. By Chris Johnston

Fix typo

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'bootspeed/migrations/0007_increase_max_length.py'
2--- bootspeed/migrations/0007_increase_max_length.py 1970-01-01 00:00:00 +0000
3+++ bootspeed/migrations/0007_increase_max_length.py 2013-10-21 00:37:55 +0000
4@@ -0,0 +1,246 @@
5+# -*- coding: utf-8 -*-
6+import datetime
7+from south.db import db
8+from south.v2 import SchemaMigration
9+from django.db import models
10+
11+
12+class Migration(SchemaMigration):
13+
14+ def forwards(self, orm):
15+
16+ # Changing field 'Image.build_number'
17+ db.alter_column('images', 'build_number', self.gf('django.db.models.fields.CharField')(max_length=4096))
18+
19+ # Changing field 'Image.image_type'
20+ db.alter_column('images', 'image_type', self.gf('django.db.models.fields.CharField')(max_length=4096))
21+
22+ # Changing field 'Image.variant'
23+ db.alter_column('images', 'variant', self.gf('django.db.models.fields.CharField')(max_length=4096))
24+
25+ # Changing field 'Image.release'
26+ db.alter_column('images', 'release', self.gf('django.db.models.fields.CharField')(max_length=4096))
27+
28+ # Changing field 'Image.arch'
29+ db.alter_column('images', 'arch', self.gf('django.db.models.fields.CharField')(max_length=4096))
30+
31+ # Changing field 'Image.md5'
32+ db.alter_column('images', 'md5', self.gf('django.db.models.fields.CharField')(unique=True, max_length=4096))
33+
34+ # Changing field 'JobImage.build_number'
35+ db.alter_column('job_image', 'build_number', self.gf('django.db.models.fields.CharField')(max_length=4096))
36+
37+ # Changing field 'JobImage.variant'
38+ db.alter_column('job_image', 'variant', self.gf('django.db.models.fields.CharField')(max_length=4096))
39+
40+ # Changing field 'JobImage.release'
41+ db.alter_column('job_image', 'release', self.gf('django.db.models.fields.CharField')(max_length=4096))
42+
43+ # Changing field 'JobImage.arch'
44+ db.alter_column('job_image', 'arch', self.gf('django.db.models.fields.CharField')(max_length=4096))
45+
46+ # Changing field 'ImageResultLog.display_name'
47+ db.alter_column('image_result_logs', 'display_name', self.gf('django.db.models.fields.CharField')(max_length=40965, null=True))
48+
49+ # Changing field 'Machine.name'
50+ db.alter_column('machines', 'name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=4096))
51+
52+ # Changing field 'Machine.mac_address'
53+ db.alter_column('machines', 'mac_address', self.gf('django.db.models.fields.CharField')(max_length=4096))
54+
55+ def backwards(self, orm):
56+
57+ # Changing field 'Image.build_number'
58+ db.alter_column('images', 'build_number', self.gf('django.db.models.fields.CharField')(max_length=50))
59+
60+ # Changing field 'Image.image_type'
61+ db.alter_column('images', 'image_type', self.gf('django.db.models.fields.CharField')(max_length=10))
62+
63+ # Changing field 'Image.variant'
64+ db.alter_column('images', 'variant', self.gf('django.db.models.fields.CharField')(max_length=200))
65+
66+ # Changing field 'Image.release'
67+ db.alter_column('images', 'release', self.gf('django.db.models.fields.CharField')(max_length=200))
68+
69+ # Changing field 'Image.arch'
70+ db.alter_column('images', 'arch', self.gf('django.db.models.fields.CharField')(max_length=200))
71+
72+ # Changing field 'Image.md5'
73+ db.alter_column('images', 'md5', self.gf('django.db.models.fields.CharField')(max_length=200, unique=True))
74+
75+ # Changing field 'JobImage.build_number'
76+ db.alter_column('job_image', 'build_number', self.gf('django.db.models.fields.CharField')(max_length=25))
77+
78+ # Changing field 'JobImage.variant'
79+ db.alter_column('job_image', 'variant', self.gf('django.db.models.fields.CharField')(max_length=100))
80+
81+ # Changing field 'JobImage.release'
82+ db.alter_column('job_image', 'release', self.gf('django.db.models.fields.CharField')(max_length=100))
83+
84+ # Changing field 'JobImage.arch'
85+ db.alter_column('job_image', 'arch', self.gf('django.db.models.fields.CharField')(max_length=25))
86+
87+ # Changing field 'ImageResultLog.display_name'
88+ db.alter_column('image_result_logs', 'display_name', self.gf('django.db.models.fields.CharField')(max_length=255, null=True))
89+
90+ # Changing field 'Machine.name'
91+ db.alter_column('machines', 'name', self.gf('django.db.models.fields.CharField')(max_length=200, unique=True))
92+
93+ # Changing field 'Machine.mac_address'
94+ db.alter_column('machines', 'mac_address', self.gf('django.db.models.fields.CharField')(max_length=200))
95+
96+ models = {
97+ u'bootspeed.image': {
98+ 'Meta': {'unique_together': "(('release', 'variant', 'arch', 'build_number'),)", 'object_name': 'Image', 'db_table': "'images'"},
99+ 'arch': ('django.db.models.fields.CharField', [], {'max_length': '4096'}),
100+ 'build_number': ('django.db.models.fields.CharField', [], {'max_length': '4096'}),
101+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
102+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
103+ 'image_type': ('django.db.models.fields.CharField', [], {'default': "u'daily'", 'max_length': '4096'}),
104+ 'internal': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
105+ 'md5': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '4096'}),
106+ 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
107+ 'release': ('django.db.models.fields.CharField', [], {'max_length': '4096'}),
108+ 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
109+ 'variant': ('django.db.models.fields.CharField', [], {'max_length': '4096'})
110+ },
111+ u'bootspeed.imagebuild': {
112+ 'Meta': {'object_name': 'ImageBuild', 'db_table': "'image_builds'"},
113+ 'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['common.JenkinsBuild']"}),
114+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
115+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
116+ 'internal': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
117+ 'job_image': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bootspeed.JobImage']"}),
118+ 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
119+ 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
120+ },
121+ u'bootspeed.imagemachineagg': {
122+ 'Meta': {'object_name': 'ImageMachineAgg', 'db_table': "'image_machine_agg'"},
123+ 'boot_avg': ('django.db.models.fields.FloatField', [], {'default': '0'}),
124+ 'boot_max': ('django.db.models.fields.FloatField', [], {'default': '0'}),
125+ 'boot_min': ('django.db.models.fields.FloatField', [], {'default': '0'}),
126+ 'boot_std': ('django.db.models.fields.FloatField', [], {'default': '0'}),
127+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
128+ 'desktop_avg': ('django.db.models.fields.FloatField', [], {'default': '0'}),
129+ 'desktop_max': ('django.db.models.fields.FloatField', [], {'default': '0'}),
130+ 'desktop_min': ('django.db.models.fields.FloatField', [], {'default': '0'}),
131+ 'desktop_std': ('django.db.models.fields.FloatField', [], {'default': '0'}),
132+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
133+ 'image': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bootspeed.Image']"}),
134+ 'internal': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
135+ 'kernel_avg': ('django.db.models.fields.FloatField', [], {'default': '0'}),
136+ 'kernel_init_avg': ('django.db.models.fields.FloatField', [], {'default': '0'}),
137+ 'kernel_init_max': ('django.db.models.fields.FloatField', [], {'default': '0'}),
138+ 'kernel_init_min': ('django.db.models.fields.FloatField', [], {'default': '0'}),
139+ 'kernel_init_std': ('django.db.models.fields.FloatField', [], {'default': '0'}),
140+ 'kernel_max': ('django.db.models.fields.FloatField', [], {'default': '0'}),
141+ 'kernel_min': ('django.db.models.fields.FloatField', [], {'default': '0'}),
142+ 'kernel_std': ('django.db.models.fields.FloatField', [], {'default': '0'}),
143+ 'machine': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bootspeed.Machine']"}),
144+ 'plumbing_avg': ('django.db.models.fields.FloatField', [], {'default': '0'}),
145+ 'plumbing_max': ('django.db.models.fields.FloatField', [], {'default': '0'}),
146+ 'plumbing_min': ('django.db.models.fields.FloatField', [], {'default': '0'}),
147+ 'plumbing_std': ('django.db.models.fields.FloatField', [], {'default': '0'}),
148+ 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
149+ 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
150+ 'xorg_avg': ('django.db.models.fields.FloatField', [], {'default': '0'}),
151+ 'xorg_max': ('django.db.models.fields.FloatField', [], {'default': '0'}),
152+ 'xorg_min': ('django.db.models.fields.FloatField', [], {'default': '0'}),
153+ 'xorg_plumbing_avg': ('django.db.models.fields.FloatField', [], {'default': '0'}),
154+ 'xorg_plumbing_max': ('django.db.models.fields.FloatField', [], {'default': '0'}),
155+ 'xorg_plumbing_min': ('django.db.models.fields.FloatField', [], {'default': '0'}),
156+ 'xorg_plumbing_std': ('django.db.models.fields.FloatField', [], {'default': '0'}),
157+ 'xorg_std': ('django.db.models.fields.FloatField', [], {'default': '0'})
158+ },
159+ u'bootspeed.imageresult': {
160+ 'Meta': {'object_name': 'ImageResult', 'db_table': "'images_results'"},
161+ 'boot': ('django.db.models.fields.FloatField', [], {}),
162+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
163+ 'desktop': ('django.db.models.fields.FloatField', [], {}),
164+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
165+ 'image': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bootspeed.Image']"}),
166+ 'internal': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
167+ 'kernel': ('django.db.models.fields.FloatField', [], {}),
168+ 'kernel_init': ('django.db.models.fields.FloatField', [], {}),
169+ 'machine': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bootspeed.Machine']"}),
170+ 'plumbing': ('django.db.models.fields.FloatField', [], {}),
171+ 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
172+ 'ran_at': ('django.db.models.fields.DateTimeField', [], {}),
173+ 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
174+ 'xorg': ('django.db.models.fields.FloatField', [], {})
175+ },
176+ u'bootspeed.imageresultlog': {
177+ 'Meta': {'object_name': 'ImageResultLog', 'db_table': "'image_result_logs'"},
178+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
179+ 'display_name': ('django.db.models.fields.CharField', [], {'max_length': '40965', 'null': 'True'}),
180+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
181+ 'image_result': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bootspeed.ImageResult']"}),
182+ 'internal': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
183+ 'path': ('django.db.models.fields.TextField', [], {}),
184+ 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
185+ 'remote_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
186+ 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
187+ },
188+ u'bootspeed.jobimage': {
189+ 'Meta': {'object_name': 'JobImage', 'db_table': "'job_image'"},
190+ 'arch': ('django.db.models.fields.CharField', [], {'max_length': '4096'}),
191+ 'build_number': ('django.db.models.fields.CharField', [], {'max_length': '4096'}),
192+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
193+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
194+ 'internal': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
195+ 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
196+ 'release': ('django.db.models.fields.CharField', [], {'max_length': '4096'}),
197+ 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
198+ 'variant': ('django.db.models.fields.CharField', [], {'max_length': '4096'})
199+ },
200+ u'bootspeed.machine': {
201+ 'Meta': {'object_name': 'Machine', 'db_table': "'machines'"},
202+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
203+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
204+ 'internal': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
205+ 'mac_address': ('django.db.models.fields.CharField', [], {'max_length': '4096'}),
206+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '4096'}),
207+ 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
208+ 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
209+ },
210+ u'common.bug': {
211+ 'Meta': {'object_name': 'Bug', 'db_table': "'bugs'"},
212+ 'assignee': ('django.db.models.fields.CharField', [], {'max_length': '4096', 'null': 'True'}),
213+ 'bug_no': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
214+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
215+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
216+ 'importance': ('django.db.models.fields.CharField', [], {'default': "u'unknown'", 'max_length': '4096'}),
217+ 'internal': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
218+ 'project': ('django.db.models.fields.CharField', [], {'max_length': '4096', 'null': 'True'}),
219+ 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
220+ 'status': ('django.db.models.fields.CharField', [], {'default': "u'unknown'", 'max_length': '4096'}),
221+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '4096', 'null': 'True'}),
222+ 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
223+ },
224+ u'common.jenkinsbuild': {
225+ 'Meta': {'unique_together': "(('job', 'build_number'),)", 'object_name': 'JenkinsBuild', 'db_table': "'jenkins_builds'"},
226+ 'bugs': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'build_bugs'", 'symmetrical': 'False', 'to': u"orm['common.Bug']"}),
227+ 'build_description': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '1024'}),
228+ 'build_number': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
229+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
230+ 'failed': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
231+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
232+ 'internal': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
233+ 'job': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['common.JenkinsJob']"}),
234+ 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
235+ 'ran_at': ('django.db.models.fields.DateTimeField', [], {}),
236+ 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
237+ },
238+ u'common.jenkinsjob': {
239+ 'Meta': {'object_name': 'JenkinsJob', 'db_table': "'jenkins_jobs'"},
240+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
241+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
242+ 'internal': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
243+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '200'}),
244+ 'publish': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
245+ 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
246+ 'url': ('django.db.models.fields.URLField', [], {'max_length': '200'})
247+ }
248+ }
249+
250+ complete_apps = ['bootspeed']
251\ No newline at end of file
252
253=== modified file 'bootspeed/models.py'
254--- bootspeed/models.py 2013-08-09 03:20:35 +0000
255+++ bootspeed/models.py 2013-10-21 00:37:55 +0000
256@@ -35,13 +35,13 @@
257 db_table = 'images'
258 unique_together = ('release', 'variant', 'arch', 'build_number')
259
260- release = models.CharField(max_length=200)
261- variant = models.CharField(max_length=200)
262- arch = models.CharField(max_length=200)
263- md5 = models.CharField(max_length=200, unique=True)
264- build_number = models.CharField(max_length=50)
265+ release = models.CharField(max_length=4096)
266+ variant = models.CharField(max_length=4096)
267+ arch = models.CharField(max_length=4096)
268+ md5 = models.CharField(max_length=4096, unique=True)
269+ build_number = models.CharField(max_length=4096)
270 image_type = models.CharField(
271- max_length=10,
272+ max_length=4096,
273 choices=TYPE_CHOICES,
274 default=TYPE_CHOICES[0][0]
275 )
276@@ -141,8 +141,8 @@
277 class Machine(DashboardBaseModel):
278 class Meta:
279 db_table = 'machines'
280- name = models.CharField(max_length=200, unique=True)
281- mac_address = models.CharField(max_length=200)
282+ name = models.CharField(max_length=4096, unique=True)
283+ mac_address = models.CharField(max_length=4096)
284
285 # Used by MySerializer to add property fields to the JSON representation
286 # of an instance of this class.
287@@ -436,7 +436,7 @@
288 class Meta:
289 db_table = "image_result_logs"
290
291- display_name = models.CharField(max_length=255, null=True)
292+ display_name = models.CharField(max_length=40965, null=True)
293 path = models.TextField()
294 image_result = models.ForeignKey(ImageResult)
295 remote_url = models.URLField()
296@@ -451,10 +451,10 @@
297 class Meta:
298 db_table = "job_image"
299
300- build_number = models.CharField(max_length=25)
301- arch = models.CharField(max_length=25)
302- release = models.CharField(max_length=100)
303- variant = models.CharField(max_length=100)
304+ build_number = models.CharField(max_length=4096)
305+ arch = models.CharField(max_length=4096)
306+ release = models.CharField(max_length=4096)
307+ variant = models.CharField(max_length=4096)
308
309 def __unicode__(self):
310 return "{}-{}-{}-{}".format(

Subscribers

People subscribed via source and target branches