Merge lp:~lifeless/launchpad/edge into lp:launchpad

Proposed by Robert Collins
Status: Merged
Approved by: Robert Collins
Approved revision: no longer in the source branch.
Merged at revision: 11796
Proposed branch: lp:~lifeless/launchpad/edge
Merge into: lp:launchpad
Diff against target: 1166 lines (+68/-489)
46 files modified
configs/README.txt (+0/-4)
lib/canonical/config/schema-lazr.conf (+2/-6)
lib/canonical/launchpad/doc/decoratedresultset.txt (+1/-1)
lib/canonical/launchpad/doc/google-searchservice.txt (+2/-2)
lib/canonical/launchpad/ftests/googlesearches/blog.launchpad.net-feed.xml (+1/-1)
lib/canonical/launchpad/ftests/googlesearches/googlesearchservice-missing-title.xml (+2/-2)
lib/canonical/launchpad/mail/errortemplates/oops.txt (+1/-1)
lib/canonical/launchpad/pagetests/basics/demo-and-lpnet.txt (+2/-90)
lib/canonical/launchpad/pagetests/standalone/xx-offsite-form-post.txt (+2/-2)
lib/canonical/launchpad/templates/launchpad-noreferrer.pt (+1/-1)
lib/canonical/launchpad/templates/launchpad-requestexpired.pt (+0/-10)
lib/canonical/launchpad/templates/oops.pt (+0/-20)
lib/canonical/launchpad/testing/browser.py (+1/-1)
lib/canonical/launchpad/tour/bugs (+1/-1)
lib/canonical/launchpad/webapp/servers.py (+0/-4)
lib/canonical/launchpad/webapp/tests/test_servers.py (+0/-13)
lib/devscripts/autoland.py (+1/-1)
lib/lp/app/browser/tests/base-layout.txt (+1/-0)
lib/lp/app/stories/basics/xx-beta-testers-redirection.txt (+0/-256)
lib/lp/app/templates/base-layout-macros.pt (+2/-14)
lib/lp/app/templates/base-layout.pt (+1/-2)
lib/lp/archiveuploader/tests/test_ppauploadprocessor.py (+2/-2)
lib/lp/blueprints/vocabularies/specificationdependency.py (+1/-1)
lib/lp/blueprints/vocabularies/tests/specificationdepcandidates.txt (+1/-1)
lib/lp/bugs/javascript/tests/test_me_too.js (+4/-4)
lib/lp/bugs/model/bug.py (+3/-3)
lib/lp/bugs/model/bugtask.py (+1/-1)
lib/lp/bugs/stories/distribution/xx-distribution-upstream-bug-report.txt (+1/-1)
lib/lp/code/browser/sourcepackagerecipe.py (+1/-1)
lib/lp/code/model/tests/test_branchlookup.py (+1/-3)
lib/lp/registry/help/home-page-staging-help.html (+2/-2)
lib/lp/registry/interfaces/distributionsourcepackage.py (+1/-1)
lib/lp/registry/model/distributionsourcepackage.py (+1/-1)
lib/lp/registry/model/person.py (+1/-1)
lib/lp/services/features/__init__.py (+1/-1)
lib/lp/services/features/webapp.py (+1/-1)
lib/lp/services/mail/tests/incomingmail.txt (+3/-3)
lib/lp/services/memcache/doc/tales-cache.txt (+1/-2)
lib/lp/services/memcache/tales.py (+1/-1)
lib/lp/testing/__init__.py (+1/-1)
lib/lp/translations/templates/translationimportqueue-index.pt (+1/-1)
utilities/on-edge (+11/-17)
utilities/page-performance-report-daily.sh (+0/-1)
utilities/page-performance-report.ini (+5/-5)
utilities/rocketfuel-get (+1/-1)
utilities/rocketfuel-mp-status (+1/-1)
To merge this branch: bzr merge lp:~lifeless/launchpad/edge
Reviewer Review Type Date Requested Status
Henning Eggers (community) code Approve
Review via email: mp+39233@code.launchpad.net

Commit message

Remove the beta redirect and is_edge facilities.

Description of the change

Bye Bye edge.

I thought about keeping the cookie stuff around, but really to do a disable-feature check against it it would need to change anyway, so its better to have someone just resurrect any useful bits from this commit.

Almost entirely mechanical.

To post a comment you must log in.
Revision history for this message
Henning Eggers (henninge) wrote :

Thanks a lot for this work! Great to see it really happening now. Apart from the little glitch in webapp.py I did not find anything. Needless to say, though, that this branch needs to pass the test suite.

Cheers,
Henning

review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'configs/README.txt'
2--- configs/README.txt 2010-10-18 03:29:59 +0000
3+++ configs/README.txt 2010-10-26 01:28:51 +0000
4@@ -299,10 +299,6 @@
5 | |
6 | + staging-mailman/launchpad-lazr.conf
7 |
8- + edge-lazr.conf
9- | |
10- | + edge<1-4>/launchpad-lazr.conf
11- |
12 + lpnet-lazr.conf
13 | |
14 | + lpnet<1-8>/launchpad-lazr.conf
15
16=== modified file 'lib/canonical/config/schema-lazr.conf'
17--- lib/canonical/config/schema-lazr.conf 2010-10-22 10:23:44 +0000
18+++ lib/canonical/config/schema-lazr.conf 2010-10-26 01:28:51 +0000
19@@ -356,8 +356,8 @@
20 bzr_lp_prefix: lp:
21
22 # The hosts which may be used to refer to this server's branches in lp: urls
23-# The double-comma is used to produce the empty string.
24-lp_url_hosts: edge,,production
25+# The comma is used to produce the empty string.
26+lp_url_hosts: ,production
27
28 # see [error_reports].
29 error_dir: none
30@@ -988,10 +988,6 @@
31 # datatype: boolean
32 is_demo: False
33
34-# Should the 'edge system' indicator in the footer be turned on?
35-# Should be true for edge and false for all other live systems.
36-is_edge: False
37-
38 # On launchpad.net, Launchpad's version and revision numbers aren't shown,
39 # because it's a Web site. Should be True for launchpad.net and False for all
40 # other systems.
41
42=== modified file 'lib/canonical/launchpad/doc/decoratedresultset.txt'
43--- lib/canonical/launchpad/doc/decoratedresultset.txt 2010-10-09 16:36:22 +0000
44+++ lib/canonical/launchpad/doc/decoratedresultset.txt 2010-10-26 01:28:51 +0000
45@@ -75,7 +75,7 @@
46
47 There was a bug in the Storm API whereby calling count (or other aggregates)
48 on a storm ResultSet does not respect the distinct
49-config option (https://bugs.edge.launchpad.net/storm/+bug/217644):
50+config option (https://bugs.launchpad.net/storm/+bug/217644):
51
52 >>> from canonical.launchpad.database import (BinaryPackageRelease,
53 ... BinaryPackagePublishingHistory)
54
55=== modified file 'lib/canonical/launchpad/doc/google-searchservice.txt'
56--- lib/canonical/launchpad/doc/google-searchservice.txt 2010-10-09 16:36:22 +0000
57+++ lib/canonical/launchpad/doc/google-searchservice.txt 2010-10-26 01:28:51 +0000
58@@ -300,8 +300,8 @@
59 <M>2</M>
60 ...
61 <R N="1">
62- <U>https://edge.launchpad.net/gc</U>
63- <UE>https://edge.launchpad.net/gc</UE>
64+ <U>https://launchpad.net/gc</U>
65+ <UE>https://launchpad.net/gc</UE>
66 <RK>0</RK>
67 <S>
68 </S>
69
70=== modified file 'lib/canonical/launchpad/ftests/googlesearches/blog.launchpad.net-feed.xml'
71--- lib/canonical/launchpad/ftests/googlesearches/blog.launchpad.net-feed.xml 2010-07-16 20:55:29 +0000
72+++ lib/canonical/launchpad/ftests/googlesearches/blog.launchpad.net-feed.xml 2010-10-26 01:28:51 +0000
73@@ -54,7 +54,7 @@
74 import httplib2
75 [...]]]></description>
76 <content:encoded><![CDATA[<p>Three tips from <a href="http://launchpad.net/~leonardr">Leonard&#8217;s</a> lightning talk in Prague about writing faster <a href="https://help.launchpad.net/API/launchpadlib#preview">Launchpadlib</a> API clients:</p>
77-<p><b>1. Use the latest launchpadlib.</b> It gets faster from one release to the next. (The versions in the current Ubuntu release should be fine; otherwise run from the <a href="https://code.edge.launchpad.net/~lazr-developers/launchpadlib/trunk">branch</a> or the latest <a href="https://launchpad.net/launchpadlib/+download">tarball</a>.)</p>
78+<p><b>1. Use the latest launchpadlib.</b> It gets faster from one release to the next. (The versions in the current Ubuntu release should be fine; otherwise run from the <a href="https://code.launchpad.net/~lazr-developers/launchpadlib/trunk">branch</a> or the latest <a href="https://launchpad.net/launchpadlib/+download">tarball</a>.)</p>
79 <p><b>2. Profile:</b></p>
80 <pre>
81 import httplib2
82
83=== modified file 'lib/canonical/launchpad/ftests/googlesearches/googlesearchservice-missing-title.xml'
84--- lib/canonical/launchpad/ftests/googlesearches/googlesearchservice-missing-title.xml 2008-05-28 00:48:48 +0000
85+++ lib/canonical/launchpad/ftests/googlesearches/googlesearchservice-missing-title.xml 2010-10-26 01:28:51 +0000
86@@ -25,8 +25,8 @@
87 </NB>
88
89 <R N="1">
90-<U>https://edge.launchpad.net/gc</U>
91-<UE>https://edge.launchpad.net/gc</UE>
92+<U>https://launchpad.net/gc</U>
93+<UE>https://launchpad.net/gc</UE>
94 <RK>0</RK>
95 <S>
96 </S>
97
98=== modified file 'lib/canonical/launchpad/mail/errortemplates/oops.txt'
99--- lib/canonical/launchpad/mail/errortemplates/oops.txt 2008-02-13 13:32:25 +0000
100+++ lib/canonical/launchpad/mail/errortemplates/oops.txt 2010-10-26 01:28:51 +0000
101@@ -3,5 +3,5 @@
102 Apologies for the inconvenience.
103
104 If this is blocking your work, please file a question at
105-https://answers.edge.launchpad.net/launchpad/+addquestion
106+https://answers.launchpad.net/launchpad/+addquestion
107 and include the error ID %(oops_id)s in the description.
108
109=== modified file 'lib/canonical/launchpad/pagetests/basics/demo-and-lpnet.txt'
110--- lib/canonical/launchpad/pagetests/basics/demo-and-lpnet.txt 2010-06-16 19:07:12 +0000
111+++ lib/canonical/launchpad/pagetests/basics/demo-and-lpnet.txt 2010-10-26 01:28:51 +0000
112@@ -51,7 +51,7 @@
113 <style...url(/@@/demo)...</style>
114 ...
115 >>> print extract_text(find_tag_by_id(browser.contents, 'lp-version'))
116- &bull; r... devmode demo site
117+ &bull; r... devmode demo site (get the code)
118
119 >>> print extract_text(find_tags_by_class(
120 ... browser.contents, 'sitemessage')[0])
121@@ -70,94 +70,6 @@
122
123 >>> browser.open('http://launchpad.dev/ubuntu')
124 >>> print extract_text(find_tag_by_id(browser.contents, 'lp-version'))
125- &bull; r... devmode
126+ &bull; r... devmode (get the code)
127 >>> len(find_tags_by_class(browser.contents, 'sitemessage'))
128 0
129-
130-
131-== Launchpad Edge ==
132-
133-Additionally, when a server is running as an edge server, the site-message
134-is appended with a link to disable edge redirects.
135-
136-In addition to this prominent display on the root page, most pages will
137-also include the disable-redirect link in the site_message - if the
138-user is a member of the beta group and has not already disabled
139-the redirects.
140-
141- # Now setup an edge site-message config and re-check.
142- >>> edge_config_data = """
143- ... [launchpad]
144- ... site_message: This is a beta site.
145- ... is_edge: True
146- ... """
147- >>> config.push('edge_config_data', edge_config_data)
148- >>> beta_browser = setupBrowser(
149- ... auth='Basic beta-admin@launchpad.net:test')
150- >>> beta_browser.open('http://launchpad.dev/ubuntu')
151- >>> site_message = find_tags_by_class(
152- ... beta_browser.contents, 'sitemessage')[0]
153- >>> print extract_text(site_message)
154- This is a beta site. Disable edge redirect.
155- >>> print extract_text(site_message.find(
156- ... 'a', onclick="setBetaRedirect(false)"))
157- Disable edge redirect.
158-
159-The disable-redirect link will also appear in the site_message when browsed by
160-non-beta/anonymous users. This is to reduce the annoyance when users are
161-logged into launchpad.net but haven't noticed yet that they need to log into
162-edge as well (https://launchpad.net/bugs/160191).
163-
164- >>> browser.open('http://launchpad.dev/ubuntu')
165- >>> print extract_text(find_tags_by_class(
166- ... browser.contents, 'sitemessage')[0])
167- This is a beta site. Disable edge redirect.
168-
169-Once the redirection has been inhibited, the link changes to enable
170-redirects.
171-
172- # Workaround bug in mechanize where you cannot use the Cookie
173- # header with the CookieJar
174- >>> from mechanize._clientcookie import Cookie
175- >>> cookiejar = (
176- ... beta_browser.mech_browser._ua_handlers['_cookies'].cookiejar)
177- >>> cookiejar.set_cookie(
178- ... Cookie(
179- ... version=0, name='inhibit_beta_redirect', value='1', port=None,
180- ... port_specified=False, domain='.launchpad.dev',
181- ... domain_specified=True, domain_initial_dot=True, path='/',
182- ... path_specified=True, secure=False, expires=None,
183- ... discard=None, comment=None, comment_url=None, rest={}))
184- >>> beta_browser.open('http://launchpad.dev/ubuntu')
185- >>> site_message = find_tags_by_class(
186- ... beta_browser.contents, 'sitemessage')[0]
187- >>> print extract_text(site_message)
188- This is a beta site. Enable edge redirect.
189- >>> print extract_text(site_message.find(
190- ... 'a', onclick="setBetaRedirect(true)"))
191- Enable edge redirect.
192-
193- # Remove the specific site-message config data before continuing.
194- >>> dummy = config.pop('edge_config_data')
195-
196-
197-== Launchpad.net ==
198-
199-On launchpad.net, the version and revision numbers are presented only in an
200-HTML comment.
201-
202- >>> # Pretend that we're on launchpad.net:
203- >>> test_data = dedent("""
204- ... [launchpad]
205- ... is_lpnet: True
206- ... """)
207- >>> config.push('test_data', test_data)
208-
209- >>> browser.open('http://launchpad.dev/ubuntu')
210- >>> print find_tag_by_id(browser.contents, 'lp-version')
211- None
212-
213- >>> # Restore the previous config:
214- >>> config_data = config.pop('test_data')
215- >>> print config.launchpad.is_lpnet
216- False
217
218=== modified file 'lib/canonical/launchpad/pagetests/standalone/xx-offsite-form-post.txt'
219--- lib/canonical/launchpad/pagetests/standalone/xx-offsite-form-post.txt 2010-03-30 14:33:26 +0000
220+++ lib/canonical/launchpad/pagetests/standalone/xx-offsite-form-post.txt 2010-10-26 01:28:51 +0000
221@@ -45,7 +45,7 @@
222 It also fails if there is no referrer.
223
224 Note that we have to set up a monkeypatch to test this in order to work
225-around Zope bug 98437 (https://bugs.edge.launchpad.net/zope3/+bug/98437).
226+around Zope bug 98437 (https://bugs.launchpad.net/zope3/+bug/98437).
227
228 >>> from canonical.launchpad.webapp.servers import LaunchpadBrowserRequest
229 >>> original_init = LaunchpadBrowserRequest.__init__
230@@ -87,7 +87,7 @@
231 No REFERER Header
232 ...
233 >>> browser.getLink('the FAQ').url
234- 'https://answers.edge.launchpad.net/launchpad/+faq/1024'
235+ 'https://answers.launchpad.net/launchpad/+faq/1024'
236 >>> browser.handleErrors = False
237
238 We have a few exceptional cases in which we allow POST requests without a
239
240=== modified file 'lib/canonical/launchpad/templates/launchpad-noreferrer.pt'
241--- lib/canonical/launchpad/templates/launchpad-noreferrer.pt 2010-03-29 16:11:05 +0000
242+++ lib/canonical/launchpad/templates/launchpad-noreferrer.pt 2010-10-26 01:28:51 +0000
243@@ -15,7 +15,7 @@
244 <code>REFERER</code> headers.</p>
245 <p>Unblock <code>REFERER</code> headers for launchpad.net and try
246 again, or see <a
247- href="https://answers.edge.launchpad.net/launchpad/+faq/1024">the
248+ href="https://answers.launchpad.net/launchpad/+faq/1024">the
249 FAQ <em>Why does Launchpad require a REFERER header?</em></a> for
250 more information.</p>
251 <p>You can also join <a href="irc://irc.freenode.net/launchpad">the
252
253=== modified file 'lib/canonical/launchpad/templates/launchpad-requestexpired.pt'
254--- lib/canonical/launchpad/templates/launchpad-requestexpired.pt 2010-03-10 19:10:04 +0000
255+++ lib/canonical/launchpad/templates/launchpad-requestexpired.pt 2010-10-26 01:28:51 +0000
256@@ -9,16 +9,6 @@
257 <body>
258 <div class="top-portlet" metal:fill-slot="main">
259 <h1 class="exception">Timeout error</h1>
260- <div tal:condition="is_edge"
261- id="redirect_notice" class="informational message">
262- <p>Our edge server has a lower timeout threshold than launchpad.net,
263- so we can catch those before they hit a wider audience.
264- If this is blocking your work and you are a member of the Launchpad
265- Beta Testers team, you can disable automatic redirection
266- to edge in order to use launchpad.net.</p>
267- <p><button onclick="setBetaRedirect(false)">Disable redirection
268- for 2 hours</button></p>
269- </div>
270 <p>
271 Sorry, something just went wrong in Launchpad.
272 </p>
273
274=== modified file 'lib/canonical/launchpad/templates/oops.pt'
275--- lib/canonical/launchpad/templates/oops.pt 2010-03-15 17:58:27 +0000
276+++ lib/canonical/launchpad/templates/oops.pt 2010-10-26 01:28:51 +0000
277@@ -31,26 +31,6 @@
278 <tal:oops replace="structure view/oops_id_text" />)
279 </p>
280
281- <div id="redirect_notice" style="display:none"
282- class="informational message">
283- <p>This server runs pre-release code, so it's possible this problem
284- doesn't affect launchpad.net. If you're a member of the Launchpad
285- Beta Testers team, you can disable redirection in order to use
286- launchpad.net.</p>
287- <p><button onclick="setBetaRedirect(false)">Disable redirection
288- for 2 hours</button></p>
289- </div>
290- <tal:comment condition="nothing">
291- Can't use the 'is_edge' global because we don't use our page
292- macros here.
293- </tal:comment>
294- <script type="text/javascript">
295- if (document.location.hostname.match('edge.')) {
296- redirect_notice_div = document.getElementById('redirect_notice');
297- redirect_notice_div.style.display = "block";
298- };
299- </script>
300-
301 <tal:traceback replace="structure view/maybeShowTraceback" />
302
303 <div class="related">
304
305=== modified file 'lib/canonical/launchpad/testing/browser.py'
306--- lib/canonical/launchpad/testing/browser.py 2010-08-20 20:31:18 +0000
307+++ lib/canonical/launchpad/testing/browser.py 2010-10-26 01:28:51 +0000
308@@ -104,7 +104,7 @@
309 def _clickSubmit(self, form, control, coord):
310 # XXX gary 2010-03-08 bug=98437
311 # This change is taken from
312- # https://bugs.edge.launchpad.net/zope3/+bug/98437/comments/9 . It
313+ # https://bugs.launchpad.net/zope3/+bug/98437/comments/9 . It
314 # should be pushed upstream, per that comment.
315 labels = control.get_labels()
316 if labels:
317
318=== modified file 'lib/canonical/launchpad/tour/bugs'
319--- lib/canonical/launchpad/tour/bugs 2010-04-21 09:47:58 +0000
320+++ lib/canonical/launchpad/tour/bugs 2010-10-26 01:28:51 +0000
321@@ -99,7 +99,7 @@
322 Manage bug reports entirely through your email client.
323 <br /><br />
324 You can use email to report, subscribe, comment on, assign, prioritise and make just about any other update to bugs tracked in Launchpad. Launchpad will also mail you with updates on any bug you're interested in, whether an individual bug or all the bugs associated with a particular project or package. Read more about <a href="https://help.launchpad.net/Bugs/EmailInterface">the bug tracker's e-mail interface &gt;</a><br /><br />
325- And, if you prefer, you can also subscribe to bug information in your feed reader with our Atom feeds. <img src="https://edge.launchpad.net/@@/rss" alt="Feed logo" />
326+ And, if you prefer, you can also subscribe to bug information in your feed reader with our Atom feeds. <img src="https://launchpad.net/@@/rss" alt="Feed logo" />
327 </p>
328 </div>
329 <div class="block odd">
330
331=== modified file 'lib/canonical/launchpad/webapp/servers.py'
332--- lib/canonical/launchpad/webapp/servers.py 2010-10-18 10:19:56 +0000
333+++ lib/canonical/launchpad/webapp/servers.py 2010-10-26 01:28:51 +0000
334@@ -620,10 +620,6 @@
335 """As per zope.publisher.browser.BrowserRequest._createResponse"""
336 return LaunchpadBrowserResponse()
337
338- def isRedirectInhibited(self):
339- """Returns True if edge redirection has been inhibited."""
340- return self.cookies.get('inhibit_beta_redirect', '0') == '1'
341-
342 @cachedproperty
343 def form_ng(self):
344 """See ILaunchpadBrowserApplicationRequest."""
345
346=== modified file 'lib/canonical/launchpad/webapp/tests/test_servers.py'
347--- lib/canonical/launchpad/webapp/tests/test_servers.py 2010-09-28 07:00:56 +0000
348+++ lib/canonical/launchpad/webapp/tests/test_servers.py 2010-10-26 01:28:51 +0000
349@@ -485,19 +485,6 @@
350 "The query_string_params dict correctly interprets encoded "
351 "parameters.")
352
353- def test_isRedirectInhibited_without_cookie(self):
354- # When the request doesn't include the inhibit_beta_redirect cookie,
355- # isRedirectInhibited() returns False.
356- request = LaunchpadBrowserRequest('', {})
357- self.assertFalse(request.isRedirectInhibited())
358-
359- def test_isRedirectInhibited_with_cookie(self):
360- # When the request includes the inhibit_beta_redirect cookie,
361- # isRedirectInhibited() returns True.
362- request = LaunchpadBrowserRequest(
363- '', dict(HTTP_COOKIE="inhibit_beta_redirect=1"))
364- self.assertTrue(request.isRedirectInhibited())
365-
366
367 def test_suite():
368 suite = unittest.TestSuite()
369
370=== modified file 'lib/devscripts/autoland.py'
371--- lib/devscripts/autoland.py 2010-09-02 20:25:02 +0000
372+++ lib/devscripts/autoland.py 2010-10-26 01:28:51 +0000
373@@ -28,7 +28,7 @@
374 self._launchpad = launchpad
375
376 @classmethod
377- def load(cls, service_root='edge'):
378+ def load(cls, service_root='production'):
379 # XXX: JonathanLange 2009-09-24: No unit tests.
380 # XXX: JonathanLange 2009-09-24 bug=435813: If cached data invalid,
381 # there's no easy way to delete it and try again.
382
383=== modified file 'lib/lp/app/browser/tests/base-layout.txt'
384--- lib/lp/app/browser/tests/base-layout.txt 2010-10-18 22:24:59 +0000
385+++ lib/lp/app/browser/tests/base-layout.txt 2010-10-26 01:28:51 +0000
386@@ -172,6 +172,7 @@
387 Terms of use http://launchpad.dev/legal
388 Contact Launchpad Support /feedback
389 System status http://identi.ca/launchpadstatus
390+ get the code https://code.launchpad.net/~launchpad-pqm/launchpad/stable/
391
392
393 Page registering
394
395=== removed file 'lib/lp/app/stories/basics/xx-beta-testers-redirection.txt'
396--- lib/lp/app/stories/basics/xx-beta-testers-redirection.txt 2010-10-17 15:44:08 +0000
397+++ lib/lp/app/stories/basics/xx-beta-testers-redirection.txt 1970-01-01 00:00:00 +0000
398@@ -1,256 +0,0 @@
399-= Redirection of Beta Testers =
400-
401-Launchpad occasionally runs private beta tests of large
402-changes. During these times, members of the launchpad-beta-testers
403-team have access to a separate web app running off the same database.
404-
405-To encourage members of this team to use the beta UI, we automatically
406-redirect them to the beta site when they use the main site.
407-
408-For these tests, we will use the user 'launchpad-beta-owner', who is
409-on the beta testers team. First, create a browser object for this
410-person:
411-
412- >>> beta_browser = setupBrowser(auth='Basic beta-admin@launchpad.net:test')
413-
414-# XXX jamesh 2007-01-31 bug=98482:
415-# zope.testbrowser does not handle redirects to remote sites, so we
416-# disable the redirection handling at the mechanize layer. We then need
417-# to check the HTTPError directly.
418-
419- >>> user_browser.mech_browser.set_handle_redirect(False)
420- >>> beta_browser.mech_browser.set_handle_redirect(False)
421- >>> from urllib2 import HTTPError
422- >>> def check(function, *args, **kwargs):
423- ... try:
424- ... function(*args, **kwargs)
425- ... except HTTPError, exc:
426- ... print str(exc)
427- ... location = exc.hdrs.getheader('Location')
428- ... if location is not None:
429- ... print 'Location:', location
430-
431-The redirection is controlled by the beta_testers_redirection_host
432-config item. If it is set to None, no redirection occurs:
433-
434- >>> from canonical.config import config
435-
436- >>> print config.launchpad.beta_testers_redirection_host
437- None
438- >>> check(beta_browser.open, 'http://launchpad.dev/ubuntu')
439- >>> print beta_browser.url
440- http://launchpad.dev/ubuntu
441-
442-Normally, we run the development system (launchpad.dev) with no beta
443-redirection host. For the purposes of this test, however, we will set it to
444-beta.launchpad.dev:
445-
446- >>> beta_data = """
447- ... [launchpad]
448- ... beta_testers_redirection_host = beta.launchpad.dev
449- ... """
450- >>> config.push('beta_data', beta_data)
451-
452-If a normal user goes to a page on the site, it will load as normal:
453-
454- >>> check(user_browser.open, 'http://launchpad.dev/ubuntu')
455- >>> print user_browser.url
456- http://launchpad.dev/ubuntu
457-
458-In contrast, members of the beta testers get redirected:
459-
460- >>> check(beta_browser.open, 'http://launchpad.dev/ubuntu')
461- HTTP Error 303: See Other
462- Location: http://beta.launchpad.dev/ubuntu
463-
464-The redirection also works for URLs below the root, and with query
465-parameters:
466-
467- >>> check(beta_browser.open,
468- ... 'http://launchpad.dev/ubuntu/+search?text=foo')
469- HTTP Error 303: See Other
470- Location: http://beta.launchpad.dev/ubuntu/+search?text=foo
471-
472-However, HTTP POST requests to the normal site are not redirected:
473-
474- >>> from urllib import urlencode
475- >>> check(beta_browser.open,
476- ... 'http://launchpad.dev/ubuntu/+search',
477- ... data=urlencode({'text': 'foo'}))
478- >>> print beta_browser.url
479- http://launchpad.dev/ubuntu/+search
480-
481-The redirection works for other Launchpad subdomains:
482-
483- >>> check(beta_browser.open,
484- ... 'http://bugs.launchpad.dev/launchpad/+bugs?orderby=-datecreated')
485- HTTP Error 303: See Other
486- Location: http://bugs.beta.launchpad.dev/launchpad/+bugs?orderby=-datecreated
487-
488- >>> check(beta_browser.open, 'http://answers.launchpad.dev/~name12')
489- HTTP Error 303: See Other
490- Location: http://answers.beta.launchpad.dev/~name12
491-
492-However, domains not under the main site will not be redirected:
493-
494- # Go behing the curtains and change the hostname of our mainsite so that
495- # we can test this.
496- >>> config.push('mainsite_data', """
497- ... [vhost.mainsite]
498- ... hostname: foo.dev
499- ... """)
500-
501- >>> check(beta_browser.open, 'http://launchpad.dev/~name12')
502- >>> print beta_browser.url
503- http://launchpad.dev/~name12
504-
505- # Now retore our mainsite's hostname.
506- >>> dummy = config.pop('mainsite_data')
507-
508-The front page of Launchpad does not redirect.
509-
510- >>> check(beta_browser.open, 'http://launchpad.dev/')
511- >>> print beta_browser.url
512- http://launchpad.dev/
513-
514-On the beta site, a client side JS is available on every page (except
515-the home page) in the footer that sets a cookie to inhibit
516-the redirection.
517-
518- # Configure the site as the beta site.
519- >>> config.push('fake_beta_site', """
520- ... [launchpad]
521- ... beta_testers_redirection_host = none
522- ... is_edge: True
523- ... site_message: This is the beta site
524- ... """)
525-
526- >>> check(beta_browser.open, 'http://launchpad.dev/ubuntu')
527- >>> print beta_browser.url
528- http://launchpad.dev/ubuntu
529- >>> print find_tags_by_class(beta_browser.contents, 'sitemessage')[0]
530- <div class="sitemessage">
531- This is the beta site
532- <a href="#" class="js-action" onclick="setBetaRedirect(false)">
533- Disable edge redirect.
534- </a>
535- </div>
536-
537- >>> dummy = config.pop('fake_beta_site')
538-
539- # Workaround bug in mechanize where you cannot use the Cookie
540- # header with the CookieJar
541- >>> from mechanize._clientcookie import Cookie
542- >>> cookiejar = (
543- ... beta_browser.mech_browser._ua_handlers['_cookies'].cookiejar)
544- >>> cookiejar.set_cookie(
545- ... Cookie(
546- ... version=0, name='inhibit_beta_redirect', value='1', port=None,
547- ... port_specified=False, domain='.launchpad.dev',
548- ... domain_specified=True, domain_initial_dot=True, path='/',
549- ... path_specified=True, secure=False, expires=None,
550- ... discard=None, comment=None, comment_url=None, rest={}))
551-
552-Now when they go to a page on the site, it loads as normal:
553-
554- >>> check(beta_browser.open, 'http://launchpad.dev/ubuntu')
555- >>> print beta_browser.url
556- http://launchpad.dev/ubuntu
557-
558-
559-== Shortcut redirection for bugs ==
560-
561-A bug URL, such as http://launchpad.dev/bugs/12, is commonly hit
562-directly and then, eventually, redirected to a bug task such as
563-https://bugs.launchpad.dev/jokosher/+bug/12. These bug URLs can be
564-redirected with fewer steps than the four it would normally take.
565-
566-The normal user gets redirected to the bug task page.
567-
568- >>> check(user_browser.open, 'http://launchpad.dev/bugs/12')
569- HTTP Error 303: See Other
570- Location: http://bugs.launchpad.dev/jokosher/+bug/12
571-
572-An anonymous user gets redirected to the bug task page.
573-
574- >>> anon_browser.mech_browser.set_handle_redirect(False)
575- >>> check(anon_browser.open, 'http://launchpad.dev/bugs/12')
576- HTTP Error 303: See Other
577- Location: http://bugs.launchpad.dev/jokosher/+bug/12
578-
579-The beta user gets redirected to the bug task page, but on the beta
580-host.
581-
582- >>> # Create a new beta browser that doesn't have redirection
583- >>> # override cookies.
584- >>> beta_browser = setupBrowser(auth='Basic beta-admin@launchpad.net:test')
585- >>> beta_browser.mech_browser.set_handle_redirect(False)
586- >>> check(beta_browser.open, 'http://launchpad.dev/bugs/12')
587- HTTP Error 303: See Other
588- Location: http://bugs.beta.launchpad.dev/jokosher/+bug/12
589-
590-Restore the config to state it was in at the start of the test.
591-
592- >>> config_data = config.pop('beta_data')
593-
594-
595-== Redirection notice in OOPS timeouts ==
596-
597-The beta site has timeout values lower than lpnet, so beta testers are more
598-likely to experience timeouts. When a page times out for beta testers the
599-notification to disable beta redirection is displayed.
600-
601-Add Foo Bar to the beta team.
602-
603- >>> from zope.component import getUtility
604- >>> from canonical.launchpad.interfaces.launchpad import ILaunchpadCelebrities
605- >>> from lp.registry.interfaces.person import IPersonSet
606- >>> from canonical.launchpad.ftests import login, logout
607- >>> login('foo.bar@canonical.com')
608- >>> foo_bar = getUtility(IPersonSet).getByName('name16')
609- >>> launchpad_beta_testers = getUtility(
610- ... ILaunchpadCelebrities).launchpad_beta_testers
611- >>> ignored = launchpad_beta_testers.addMember(foo_bar, reviewer=foo_bar)
612- >>> foo_bar.inTeam(launchpad_beta_testers)
613- True
614-
615- >>> logout()
616-
617-Decrease the timeout values for launchpad.dev and pretend we're on the edge
618-server.
619-
620- >>> beta_data = """
621- ... [launchpad]
622- ... is_edge: True
623- ... [database]
624- ... db_statement_timeout: 1
625- ... soft_request_timeout: 2
626- ... """
627- >>> config.push('beta_data', beta_data)
628-
629-Check that the notification is in the timeout page
630-
631- >>> print http(r"""
632- ... GET /+soft-timeout HTTP/1.1
633- ... Authorization: Basic Zm9vLmJhckBjYW5vbmljYWwuY29tOnRlc3Q=
634- ... """)
635- HTTP/1.1 503 Service Unavailable
636- ...
637- Retry-After: 900
638- ...
639- <title>Error: Timeout</title>
640- ...
641- <h1 class="exception">Timeout error</h1>
642- ...
643- <p>Our edge server has a lower timeout threshold than launchpad.net,
644- so we can catch those before they hit a wider audience.
645- If this is blocking your work and you are a member of the Launchpad
646- Beta Testers team, you can disable automatic redirection
647- to edge in order to use launchpad.net.</p>
648- <p><button onclick="setBetaRedirect(false)">Disable redirection
649- for 2 hours</button></p>
650- ...
651-
652-Restore the config to state it was in at the start of the test.
653-
654- >>> config_data = config.pop('beta_data')
655
656=== modified file 'lib/lp/app/templates/base-layout-macros.pt'
657--- lib/lp/app/templates/base-layout-macros.pt 2010-10-04 12:23:40 +0000
658+++ lib/lp/app/templates/base-layout-macros.pt 2010-10-26 01:28:51 +0000
659@@ -424,15 +424,13 @@
660 &nbsp;&bull;&nbsp;
661 <a href="http://identi.ca/launchpadstatus"
662 >System status</a>
663- <span id="lp-version" tal:condition="not:is_lpnet">
664+ <span id="lp-version">
665 &nbsp;&bull;&nbsp;
666 r<tal:revno replace="revno" />
667 <tal:devmode condition="devmode">devmode</tal:devmode>
668 <tal:demo condition="is_demo">demo site</tal:demo>
669- <tal:edge condition="is_edge">
670- beta site (<a href="https://code.edge.launchpad.net/~launchpad-pqm/launchpad/stable/"
671+ (<a href="https://code.launchpad.net/~launchpad-pqm/launchpad/stable/"
672 >get the code</a>)
673- </tal:edge>
674 </span>
675 </div>
676 </div>
677@@ -443,16 +441,6 @@
678 <tal:site_message tal:content="structure site_message">
679 This site is running pre-release code.
680 </tal:site_message>
681- <tal:edge_only condition="is_edge">
682- <a href="#" class="js-action" onclick="setBetaRedirect(false)"
683- tal:condition="not:request/isRedirectInhibited">
684- Disable edge redirect.
685- </a>
686- <a href="#" class="js-action" onclick="setBetaRedirect(true)"
687- tal:condition="request/isRedirectInhibited">
688- Enable edge redirect.
689- </a>
690- </tal:edge_only>
691 </div>
692 </metal:site-message>
693
694
695=== modified file 'lib/lp/app/templates/base-layout.pt'
696--- lib/lp/app/templates/base-layout.pt 2010-08-19 16:04:43 +0000
697+++ lib/lp/app/templates/base-layout.pt 2010-10-26 01:28:51 +0000
698@@ -9,7 +9,6 @@
699 devmode modules/canonical.config/config/devmode;
700 rooturl modules/canonical.launchpad.webapp.vhosts/allvhosts/configs/mainsite/rooturl;
701 is_demo modules/canonical.config/config/launchpad/is_demo;
702- is_edge modules/canonical.config/config/launchpad/is_edge;
703 is_lpnet modules/canonical.config/config/launchpad/is_lpnet;
704 site_message modules/canonical.config/config/launchpad/site_message;
705 icingroot string:${rooturl}+icing/rev${revno};
706@@ -72,7 +71,7 @@
707 ${view/context/fmt:public-private-css}
708 yui-skin-sam">
709 <script type="text/javascript"
710- tal:condition="python: is_edge or is_lpnet">
711+ tal:condition="python: is_lpnet">
712 var _gaq = _gaq || [];
713 _gaq.push(['_setAccount', 'UA-12833497-1']);
714 _gaq.push(['_setDomainName', '.launchpad.net']);
715
716=== modified file 'lib/lp/archiveuploader/tests/test_ppauploadprocessor.py'
717--- lib/lp/archiveuploader/tests/test_ppauploadprocessor.py 2010-10-22 14:54:39 +0000
718+++ lib/lp/archiveuploader/tests/test_ppauploadprocessor.py 2010-10-26 01:28:51 +0000
719@@ -484,7 +484,7 @@
720 Anyone listed as an uploader in ArchivePermissions will automatically
721 get an upload notification email.
722
723- See https://bugs.edge.launchpad.net/soyuz/+bug/397077
724+ See https://bugs.launchpad.net/soyuz/+bug/397077
725 """
726 # Create the extra permissions. We're making an extra team and
727 # adding it to cprov's upload permission, plus name12.
728@@ -1040,7 +1040,7 @@
729
730 Some error messages can contain the PPA display name, which may
731 sometimes contain unicode characters. There was a bug
732- https://bugs.edge.launchpad.net/bugs/275509 reported about getting
733+ https://bugs.launchpad.net/bugs/275509 reported about getting
734 upload errors related to unicode. This only happened when the
735 uploder was attaching a .orig.tar.gz file with different contents
736 than the one already in the PPA.
737
738=== modified file 'lib/lp/blueprints/vocabularies/specificationdependency.py'
739--- lib/lp/blueprints/vocabularies/specificationdependency.py 2010-09-26 22:29:58 +0000
740+++ lib/lp/blueprints/vocabularies/specificationdependency.py 2010-10-26 01:28:51 +0000
741@@ -97,7 +97,7 @@
742 This implementation is a little fuzzy and will return specs for URLs
743 that, for example, don't have the host name right. This seems
744 unlikely to cause confusion in practice, and being too anal probably
745- would be confusing (e.g. not accepting edge URLs on lpnet).
746+ would be confusing (e.g. not accepting production URLs on staging).
747 """
748 scheme, netloc, path, params, args, fragment = urlparse(url)
749 if not scheme or not netloc:
750
751=== modified file 'lib/lp/blueprints/vocabularies/tests/specificationdepcandidates.txt'
752--- lib/lp/blueprints/vocabularies/tests/specificationdepcandidates.txt 2010-08-27 04:24:55 +0000
753+++ lib/lp/blueprints/vocabularies/tests/specificationdepcandidates.txt 2010-10-26 01:28:51 +0000
754@@ -90,7 +90,7 @@
755 appropriately. Queries conataining regual expression operators, for
756 example, will simply look for the respective characters within the
757 vocabulary's item (this used to be the cause of an OOPS, see
758-https://bugs.edge.launchpad.net/blueprint/+bug/139385 for more
759+https://bugs.launchpad.net/blueprint/+bug/139385 for more
760 details).
761
762 >>> list(naked_vocab.search('*'))
763
764=== modified file 'lib/lp/bugs/javascript/tests/test_me_too.js'
765--- lib/lp/bugs/javascript/tests/test_me_too.js 2010-07-11 00:32:53 +0000
766+++ lib/lp/bugs/javascript/tests/test_me_too.js 2010-10-26 01:28:51 +0000
767@@ -53,19 +53,19 @@
768 var inpage = Y.Node.create([
769 '<span id="affectsmetoo">',
770 ' <span class="static">',
771- ' <img src="https://bugs.edge.launchpad.net/@@/flame-icon" alt="" />',
772+ ' <img src="https://bugs.launchpad.net/@@/flame-icon" alt="" />',
773 ' This bug affects me too',
774 ' <a href="+affectsmetoo">',
775 ' <img class="editicon" alt="Edit"',
776- ' src="https://bugs.edge.launchpad.net/@@/edit" />',
777+ ' src="https://bugs.launchpad.net/@@/edit" />',
778 ' </a>',
779 ' </span>',
780 ' <span class="dynamic unseen">',
781 ' <img class="editicon" alt="Edit"',
782- ' src="https://bugs.edge.launchpad.net/@@/edit" />',
783+ ' src="https://bugs.launchpad.net/@@/edit" />',
784 ' <a href="+affectsmetoo" class="js-action"',
785 ' ><span class="value">Does this bug affect you?</span></a>',
786- ' <img src="https://bugs.edge.launchpad.net/@@/flame-icon" alt=""/>',
787+ ' <img src="https://bugs.launchpad.net/@@/flame-icon" alt=""/>',
788 ' </span>',
789 '</span>'].join(''));
790 Y.one("body").appendChild(inpage);
791
792=== modified file 'lib/lp/bugs/model/bug.py'
793--- lib/lp/bugs/model/bug.py 2010-10-25 21:37:12 +0000
794+++ lib/lp/bugs/model/bug.py 2010-10-26 01:28:51 +0000
795@@ -946,12 +946,12 @@
796 # (person X is in the team X)
797 TeamParticipation.person == person.id,
798 # XXX: Storm fails to compile this, so manually done.
799- # bug=https://bugs.edge.launchpad.net/storm/+bug/627137
800+ # bug=https://bugs.launchpad.net/storm/+bug/627137
801 # RBC 20100831
802 SQL("""TeamParticipation.team = BugSubscription.person"""),
803 # Join in the Person rows we want
804 # XXX: Storm fails to compile this, so manually done.
805- # bug=https://bugs.edge.launchpad.net/storm/+bug/627137
806+ # bug=https://bugs.launchpad.net/storm/+bug/627137
807 # RBC 20100831
808 SQL("""Person.id = TeamParticipation.team"""),
809 ).order_by(Person.name),
810@@ -1658,7 +1658,7 @@
811 self.date_made_private = None
812
813 # XXX: This should be a bulk update. RBC 20100827
814- # bug=https://bugs.edge.launchpad.net/storm/+bug/625071
815+ # bug=https://bugs.launchpad.net/storm/+bug/625071
816 for attachment in self.attachments_unpopulated:
817 attachment.libraryfile.restricted = private
818
819
820=== modified file 'lib/lp/bugs/model/bugtask.py'
821--- lib/lp/bugs/model/bugtask.py 2010-10-25 21:37:12 +0000
822+++ lib/lp/bugs/model/bugtask.py 2010-10-26 01:28:51 +0000
823@@ -1492,7 +1492,7 @@
824 """See `IBugTaskSet`."""
825 # XXX: JSK: 2007-12-19: This method should probably return
826 # None when task_id is not present. See:
827- # https://bugs.edge.launchpad.net/launchpad/+bug/123592
828+ # https://bugs.launchpad.net/launchpad/+bug/123592
829 try:
830 bugtask = BugTask.get(task_id)
831 except SQLObjectNotFound:
832
833=== modified file 'lib/lp/bugs/stories/distribution/xx-distribution-upstream-bug-report.txt'
834--- lib/lp/bugs/stories/distribution/xx-distribution-upstream-bug-report.txt 2010-10-09 16:36:22 +0000
835+++ lib/lp/bugs/stories/distribution/xx-distribution-upstream-bug-report.txt 2010-10-26 01:28:51 +0000
836@@ -71,7 +71,7 @@
837 broken percentage when comparing with bugs marked upstream. Perhaps
838 we'd solve this by separating the watched column into natively watched
839 and remote watched, but I don't know how to fix this right now. See
840-https://bugs.edge.launchpad.net/malone/+bug/188020
841+https://bugs.launchpad.net/malone/+bug/188020
842 -- kiko, 2008-02-01
843
844
845
846=== modified file 'lib/lp/code/browser/sourcepackagerecipe.py'
847--- lib/lp/code/browser/sourcepackagerecipe.py 2010-10-03 15:30:06 +0000
848+++ lib/lp/code/browser/sourcepackagerecipe.py 2010-10-26 01:28:51 +0000
849@@ -77,7 +77,7 @@
850 'We\'re still working on source package recipes. '
851 'We would love for you to try them out, and if you have '
852 'any issues, please '
853- '<a href="http://bugs.edge.launchpad.net/launchpad-code">'
854+ '<a href="http://bugs.launchpad.net/launchpad-code">'
855 'file a bug</a>. We\'ll be happy to fix any problems you encounter.')
856
857
858
859=== modified file 'lib/lp/code/model/tests/test_branchlookup.py'
860--- lib/lp/code/model/tests/test_branchlookup.py 2010-09-28 21:27:42 +0000
861+++ lib/lp/code/model/tests/test_branchlookup.py 2010-10-26 01:28:51 +0000
862@@ -310,7 +310,7 @@
863 """test_getByURL works with production values."""
864 branch_set = getUtility(IBranchLookup)
865 branch = self.makeProductBranch()
866- self.pushConfig('codehosting', lp_url_hosts='edge,production,,')
867+ self.pushConfig('codehosting', lp_url_hosts='production,,')
868 branch2 = branch_set.getByUrl('lp://staging/~aa/b/c')
869 self.assertIs(None, branch2)
870 branch2 = branch_set.getByUrl('lp://asdf/~aa/b/c')
871@@ -319,8 +319,6 @@
872 self.assertEqual(branch, branch2)
873 branch2 = branch_set.getByUrl('lp://production/~aa/b/c')
874 self.assertEqual(branch, branch2)
875- branch2 = branch_set.getByUrl('lp://edge/~aa/b/c')
876- self.assertEqual(branch, branch2)
877
878 def test_getByUrls(self):
879 # getByUrls returns a dictionary mapping branches to URLs.
880
881=== modified file 'lib/lp/registry/help/home-page-staging-help.html'
882--- lib/lp/registry/help/home-page-staging-help.html 2010-01-12 16:16:27 +0000
883+++ lib/lp/registry/help/home-page-staging-help.html 2010-10-26 01:28:51 +0000
884@@ -18,8 +18,8 @@
885 <p>However, there are a few things to note about staging:</p>
886
887 <ul>
888- <li>Every 24 hours, staging's database is replaced with a fresh snapshot of Launchpad's production database: you will lose anything you do on staging.</li>
889- <li>Staging runs the latest bleeding edge code from the Launchpad developers &mdash; if things go wrong, <a target="_blank" href="https://bugs.launchpad.net/launchpad/+filebug">please let us know</a>.</li>
890+ <li>Every week, staging's database is replaced with a fresh snapshot of Launchpad's production database: you will lose anything you do on staging.</li>
891+ <li>Staging runs the latest code with changed database models from the Launchpad developers &mdash; if things go wrong, <a target="_blank" href="https://bugs.launchpad.net/launchpad/+filebug">please let us know</a>.</li>
892 <li>You can't create a new account on staging &mdash; instead, create one in <a href="https://launchpad.net/">Launchpad's production environment</a> and then wait up to 24 hours for your account to be available on staging.</li>
893 <li>Staging does not send email.</li>
894 <li>You can upload translations and templates but not export them &mdash; uploaded translations/templates will disappear after 24 hours.</li>
895
896=== modified file 'lib/lp/registry/interfaces/distributionsourcepackage.py'
897--- lib/lp/registry/interfaces/distributionsourcepackage.py 2010-08-23 16:51:11 +0000
898+++ lib/lp/registry/interfaces/distributionsourcepackage.py 2010-10-26 01:28:51 +0000
899@@ -176,7 +176,7 @@
900 - The latest distroseries wins
901 - updates > security > release
902
903- See https://bugs.edge.launchpad.net/soyuz/+bug/236922 for a plan
904+ See https://bugs.launchpad.net/soyuz/+bug/236922 for a plan
905 on how this criteria will be centrally encoded.
906 """)
907
908
909=== modified file 'lib/lp/registry/model/distributionsourcepackage.py'
910--- lib/lp/registry/model/distributionsourcepackage.py 2010-09-21 09:37:06 +0000
911+++ lib/lp/registry/model/distributionsourcepackage.py 2010-10-26 01:28:51 +0000
912@@ -235,7 +235,7 @@
913 # latest relevant publication. It relies on ordering of status
914 # and pocket enum values, which is arguably evil but much faster
915 # than CASE sorting; at any rate this can be fixed when
916- # https://bugs.edge.launchpad.net/soyuz/+bug/236922 is.
917+ # https://bugs.launchpad.net/soyuz/+bug/236922 is.
918 spph = SourcePackagePublishingHistory.selectFirst("""
919 SourcePackagePublishingHistory.distroseries = DistroSeries.id AND
920 DistroSeries.distribution = %s AND
921
922=== modified file 'lib/lp/registry/model/person.py'
923--- lib/lp/registry/model/person.py 2010-10-24 12:46:23 +0000
924+++ lib/lp/registry/model/person.py 2010-10-26 01:28:51 +0000
925@@ -311,7 +311,7 @@
926 Note that it performs poorly at least some of the time, and if
927 EmailAddress and Person are already being queried, its probably better to
928 query Account directly. See bug
929- https://bugs.edge.launchpad.net/launchpad-registry/+bug/615237 for some
930+ https://bugs.launchpad.net/launchpad-registry/+bug/615237 for some
931 corroborating information.
932 """
933
934
935=== modified file 'lib/lp/services/features/__init__.py'
936--- lib/lp/services/features/__init__.py 2010-09-29 08:36:22 +0000
937+++ lib/lp/services/features/__init__.py 2010-10-26 01:28:51 +0000
938@@ -27,7 +27,7 @@
939 Flags are defined by a I{name} that typically looks like a Python
940 identifier, for example C{notification.global.text}. A definition is
941 given for a particular I{scope}, which also looks like a dotted identifier,
942-for example C{user.beta} or C{server.edge}. This is just a naming
943+for example C{user.beta} or C{server.lpnet}. This is just a naming
944 convention, and they do not need to correspond to Python modules.
945
946 The value is stored in the database as just a Unicode string, and it might
947
948=== modified file 'lib/lp/services/features/webapp.py'
949--- lib/lp/services/features/webapp.py 2010-09-25 09:27:30 +0000
950+++ lib/lp/services/features/webapp.py 2010-10-26 01:28:51 +0000
951@@ -25,7 +25,7 @@
952
953 Currently supports the following scopes:
954 - default
955- - is_edge/is_lpnet etc (thunks through to the config)
956+ - server.lpnet etc (thunks through to the config is_lpnet)
957 - pageid:
958 This scope works on a namespace model: for a page
959 with pageid SomeType:+view#subselector
960
961=== modified file 'lib/lp/services/mail/tests/incomingmail.txt'
962--- lib/lp/services/mail/tests/incomingmail.txt 2010-10-18 22:24:59 +0000
963+++ lib/lp/services/mail/tests/incomingmail.txt 2010-10-26 01:28:51 +0000
964@@ -119,7 +119,7 @@
965 Apologies for the inconvenience.
966 <BLANKLINE>
967 If this is blocking your work, please file a question at
968- https://answers.edge.launchpad.net/launchpad/+addquestion
969+ https://answers.launchpad.net/launchpad/+addquestion
970 and include the error ID OOPS-... in the description.
971 ...
972 From: Sample Person <test@canonical.com>
973@@ -256,7 +256,7 @@
974 Apologies for the inconvenience.
975 <BLANKLINE>
976 If this is blocking your work, please file a question at
977- https://answers.edge.launchpad.net/launchpad/+addquestion
978+ https://answers.launchpad.net/launchpad/+addquestion
979 and include the error ID OOPS-...TEMAIL... in the description.
980 ...
981 From: Foo Bar <foo.bar@canonical.com>
982@@ -301,7 +301,7 @@
983 Apologies for the inconvenience.
984 <BLANKLINE>
985 If this is blocking your work, please file a question at
986- https://answers.edge.launchpad.net/launchpad/+addquestion
987+ https://answers.launchpad.net/launchpad/+addquestion
988 and include the error ID OOPS-...TEMAIL... in the description.
989 ...
990 From: Foo Bar <foo.bar@canonical.com>
991
992=== modified file 'lib/lp/services/memcache/doc/tales-cache.txt'
993--- lib/lp/services/memcache/doc/tales-cache.txt 2010-10-18 22:24:59 +0000
994+++ lib/lp/services/memcache/doc/tales-cache.txt 2010-10-26 01:28:51 +0000
995@@ -32,8 +32,7 @@
996
997 We also see some comments showing that we had a cache hit, and what the
998 configuration was for it ("public"). These comments are only present
999-when Launchpad's config is not configured as edge or production (``is_edge``
1000-or ``is_lpnet``, respectively).
1001+when Launchpad's config is not configured as production (``is_lpnet``).
1002
1003 If we clear the cache, it will be rendered as expected.
1004
1005
1006=== modified file 'lib/lp/services/memcache/tales.py'
1007--- lib/lp/services/memcache/tales.py 2010-09-12 05:52:41 +0000
1008+++ lib/lp/services/memcache/tales.py 2010-10-26 01:28:51 +0000
1009@@ -274,7 +274,7 @@
1010 self._memcache_expr = memcache_expr
1011
1012 def __call__(self, value):
1013- if not config.launchpad.is_lpnet and not config.launchpad.is_edge:
1014+ if not config.launchpad.is_lpnet:
1015 # For debugging and testing purposes, prepend a description of
1016 # the memcache expression used to the stored value.
1017 rule = '%s [%s seconds]' % (self._memcache_expr, self._max_age)
1018
1019=== modified file 'lib/lp/testing/__init__.py'
1020--- lib/lp/testing/__init__.py 2010-10-19 23:04:18 +0000
1021+++ lib/lp/testing/__init__.py 2010-10-26 01:28:51 +0000
1022@@ -90,7 +90,7 @@
1023 import transaction
1024 # zope.exception demands more of frame objects than twisted.python.failure
1025 # provides in its fake frames. This is enough to make it work with them
1026-# as of 2009-09-16. See https://bugs.edge.launchpad.net/bugs/425113.
1027+# as of 2009-09-16. See https://bugs.launchpad.net/bugs/425113.
1028 from twisted.python.failure import _Frame
1029 from windmill.authoring import WindmillTestClient
1030 from zope.component import (
1031
1032=== modified file 'lib/lp/translations/templates/translationimportqueue-index.pt'
1033--- lib/lp/translations/templates/translationimportqueue-index.pt 2010-01-12 13:48:24 +0000
1034+++ lib/lp/translations/templates/translationimportqueue-index.pt 2010-10-26 01:28:51 +0000
1035@@ -25,7 +25,7 @@
1036 </p>
1037 <p>
1038 If your import is taking longer than you'd expect, <a href="
1039- https://answers.edge.launchpad.net/rosetta/+addquestion"
1040+ https://answers.launchpad.net/rosetta/+addquestion"
1041 >contact us</a>.
1042 (<a href="/+help/successful-imports.html" target="help">Learn
1043 more about getting a successful import</a>)
1044
1045=== modified file 'utilities/on-edge'
1046--- utilities/on-edge 2010-04-27 19:48:39 +0000
1047+++ utilities/on-edge 2010-10-26 01:28:51 +0000
1048@@ -118,30 +118,24 @@
1049 parser.add_option(
1050 '-v', '--verbose', action='store_true', help="Show revision log.")
1051 parser.add_option(
1052- '--edge-only', action='store_true',
1053- help="Only show revisions not on edge. Do not consult staging.")
1054- parser.add_option(
1055- '--staging-only', action='store_true',
1056- help="Only show revisions not on staging. Do not consult edge.")
1057+ '--edge', action='store_true',
1058+ help="Show revisions on edge.")
1059 return parser
1060
1061
1062-def run(verbose, edge_only, staging_only):
1063- if edge_only and staging_only:
1064- raise UsageError("Cannot show only edge and only staging.")
1065+def run(verbose, edge):
1066 parent_dir = get_parent_directory()
1067- if not staging_only:
1068+ if edge:
1069 edge_revision = get_edge_revision()
1070 stable_branch = os.path.join(parent_dir, 'stable')
1071 report_difference_to_server(
1072 'edge', stable_branch, edge_revision, verbose)
1073- if not edge_only:
1074- staging_revision = get_staging_revision()
1075- db_stable_branch = os.path.join(parent_dir, 'db-stable')
1076- report_difference_to_server(
1077- 'staging', db_stable_branch, staging_revision, verbose)
1078- print "Last automatic merge on db-stable r%s was stable r%s." % (
1079- get_last_automatic_stable_merge_revno(db_stable_branch))
1080+ staging_revision = get_staging_revision()
1081+ db_stable_branch = os.path.join(parent_dir, 'db-stable')
1082+ report_difference_to_server(
1083+ 'staging', db_stable_branch, staging_revision, verbose)
1084+ print "Last automatic merge on db-stable r%s was stable r%s." % (
1085+ get_last_automatic_stable_merge_revno(db_stable_branch))
1086
1087
1088 def main(argv):
1089@@ -149,7 +143,7 @@
1090 options, args = parser.parse_args(argv)
1091 if args:
1092 raise UsageError("Don't know what to do with arguments: %s" % args)
1093- run(options.verbose, options.edge_only, options.staging_only)
1094+ run(options.verbose, options.edge)
1095
1096
1097 if __name__ == '__main__':
1098
1099=== modified file 'utilities/page-performance-report-daily.sh'
1100--- utilities/page-performance-report-daily.sh 2010-08-11 16:25:05 +0000
1101+++ utilities/page-performance-report-daily.sh 2010-10-26 01:28:51 +0000
1102@@ -39,7 +39,6 @@
1103 }
1104
1105 report() {
1106- category_report $* edge /srv/launchpad.net-logs/edge
1107 category_report $* lpnet /srv/launchpad.net-logs/production
1108 return 0
1109 }
1110
1111=== modified file 'utilities/page-performance-report.ini'
1112--- utilities/page-performance-report.ini 2010-08-11 11:53:39 +0000
1113+++ utilities/page-performance-report.ini 2010-10-26 01:28:51 +0000
1114@@ -5,13 +5,13 @@
1115 All Launchpad=.
1116 All launchpad except opstats=(?<!\+opstats)$
1117
1118-Launchpad Frontpage=^https?://(edge\.)?launchpad\.[^/]+/?$
1119+Launchpad Frontpage=^https?://launchpad\.[^/]+/?$
1120
1121 # Note that the bug text dump is served on the main launchpad domain
1122 # and we need to exlude it from the registry stats.
1123-Registry=^https?://(edge\.)?launchpad\.(?<!/\+text)$
1124-Registry - Person Index=^https?://(edge\.)?launchpad\.[^/]+/(~|%7E)[^/]+$
1125-Registry - Pillar Index=^https?://(edge\.)?launchpad\.[^/]+/\w[^/]*$
1126+Registry=^https?://launchpad\.(?<!/\+text)$
1127+Registry - Person Index=^https?://launchpad\.[^/]+/(~|%7E)[^/]+$
1128+Registry - Pillar Index=^https?://launchpad\.[^/]+/\w[^/]*$
1129
1130 Answers=^https?://answers\.
1131 Answers - Front page=^https?://answers\.[^/]+/?$
1132@@ -27,7 +27,7 @@
1133 Bugs - Bug Page=^https?://bugs\.[^/]+/.+/\+bug/\d+$
1134 Bugs - Pillar Index=^https?://bugs\.[^/]+/\w[^/]*$
1135 Bugs - Search=^https?://bugs\.[^/]+/.+/\+bugs\?.*field.searchtext=
1136-Bugs - Text Dump=^https?://(edge\.)?launchpad\..+/\+text$
1137+Bugs - Text Dump=^https?://launchpad\..+/\+text$
1138
1139 Code=^https?://code\.
1140 Code - Front page=^https?://code\.[^/]+/?$
1141
1142=== modified file 'utilities/rocketfuel-get'
1143--- utilities/rocketfuel-get 2009-09-11 05:01:06 +0000
1144+++ utilities/rocketfuel-get 2010-10-26 01:28:51 +0000
1145@@ -61,7 +61,7 @@
1146 echo ""
1147 echo " ALSO NOTE: You can ignore any warnings you see below about how"
1148 echo " 'You have not informed bzr of your Launchpad ID ...' etc."
1149-echo " See https://bugs.edge.launchpad.net/bzr/+bug/401617 for why."
1150+echo " See https://bugs.launchpad.net/bzr/+bug/401617 for why."
1151 echo ""
1152 echo " Sourcedeps: $LP_SOURCEDEPS_PATH"
1153
1154
1155=== modified file 'utilities/rocketfuel-mp-status'
1156--- utilities/rocketfuel-mp-status 2010-09-16 00:58:27 +0000
1157+++ utilities/rocketfuel-mp-status 2010-10-26 01:28:51 +0000
1158@@ -6,7 +6,7 @@
1159 import os
1160 import sys
1161
1162-launchpad = Launchpad.login_with('rocketfuel-mp-status', 'edge')
1163+launchpad = Launchpad.login_with('rocketfuel-mp-status', 'production')
1164 trunk = commands.getoutput(
1165 '. ~/.rocketfuel-env.sh && echo $LP_TRUNK_NAME')
1166 projpath = commands.getoutput(