support mig64 query argument

RESOLVED FIXED

Status

Release Engineering
Balrog: Backend
P1
normal
RESOLVED FIXED
7 months ago
6 months ago

People

(Reporter: bhearsum, Assigned: bhearsum)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [lang=python][ready])

Attachments

(2 attachments)

(Assignee)

Description

7 months ago
Some Windows clients will start sending this after bug 1386176 lands. Despite being a query argument, it's really more like an URL part because we'll want to make it possible to configure rules based on its value.

If mig64 is set to 1, this indicates the client should be allowed to migrate from 32 -> 64-bit. If mig64 is set to 0 or not present, the client should NOT be allowed to migrate. In practice, we shouldn't see any mig64=0, but let's handle it explicitly  just in case.

Here's what I think we need to do:
* Add a mig64 column to the Rules table, web layer, and UI. I think it makes sense to use a boolean (which is "BIT" in mysql speak) in the db.
* Add matching support in getRulesMatchingQuery. I think the truth table will look similar to other columns:
rule | query | matches?
  F      0        Y
  F      1        N
  F     null      N
  T      0        N
  T      1        Y
  T     null      N
null     0        Y
null     1        Y
null    null      Y

The vast majority of rules will never need to set mig64. Probably the only time we'll ever use it is for explicit rules that do 32 -> 64-bit migration. I imagine this will end up looking like the "migrate old windows users to ESR" rule we set up awhile back.

For the primary Rules UI, we should treat it like other columns (hide when null, show when not). I'm not exactly sure what to do about the add/edit UI. A checkbox is normally what you would use for boolean values, but we actually have True/False/null as allowed values - so we'll need to figure out something else.
It looks like adding mig64=1 at this moment makes it so no update xml file is returned so I am going to hold off on landing bug 1386176 until it does.

Ben, since I can't land bug 1386176 and release drivers like to see patches bake before uplift can I get a time frame for either adding the query string not breaking updates or this bug being fixed?
Flags: needinfo?(bhearsum)
(Assignee)

Comment 2

7 months ago
(In reply to Robert Strong [:rstrong] (use needinfo to contact me) from comment #1)
> It looks like adding mig64=1 at this moment makes it so no update xml file
> is returned so I am going to hold off on landing bug 1386176 until it does.
> 
> Ben, since I can't land bug 1386176 and release drivers like to see patches
> bake before uplift can I get a time frame for either adding the query string
> not breaking updates or this bug being fixed?

I think we'll fix the latter in bug 1387049. We don't normally do code pushes during release weeks, so the next scheduled one isn't until August 16th. I don't see any reason why we can't have a fix ready by then. If you need it sooner just let me know, and I'll figure something out.
Flags: needinfo?(bhearsum)
(Assignee)

Comment 3

7 months ago
Created attachment 8895500 [details] [review]
allow mig64 to be passed as a query arg
Assignee: nobody → bhearsum
Status: NEW → ASSIGNED
Attachment #8895500 - Flags: review?(jlorenzo)
Attachment #8895500 - Flags: review?(jlorenzo) → review+

Comment 4

7 months ago
Commit pushed to master at https://github.com/mozilla/balrog

https://github.com/mozilla/balrog/commit/5504b2a525d388d15406f8c51c85090678c6155c
bug 1386756:  allow mig64 query argument to be present (#369). r=jlorenzo
(Assignee)

Updated

6 months ago
Depends on: 1390197

Comment 5

6 months ago
With 1390197 done, is this one ready to go also?
(Assignee)

Comment 6

6 months ago
(In reply to Worcester12345 from comment #5)
> With 1390197 done, is this one ready to go also?

Not quite -- the first patch here just allowed mig64 to be specified. I'm still working on the patch that actually supports the requirements from comment #0.
(Assignee)

Comment 7

6 months ago
Created attachment 8897967 [details] [review]
add support for mig64

Nick, I think you're the best reviewer for this since it touches Rule matching and update request handling code.
Attachment #8897967 - Flags: review?(nthomas)
I will endeavor to get this reviewed early next week.
Attachment #8897967 - Flags: review?(nthomas) → review+

Comment 9

6 months ago
Commit pushed to master at https://github.com/mozilla/balrog

https://github.com/mozilla/balrog/commit/bb4a5c4d11b72d6a9133da15f3fe865691ccfca2
bug 1386756: add support for mig64 query parameter (#372). r=nthomas
(Assignee)

Updated

6 months ago
Depends on: 1393125
(Assignee)

Comment 10

6 months ago
Deployed to production yesterday.
Status: ASSIGNED → RESOLVED
Last Resolved: 6 months ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.