Page MenuHomePhabricator

tag phab task once it is deployed
Open, Stalled, Needs TriagePublic

Description

would be very useful to be able to know when a phab task is deployed.
most of the times when I start testing a task I don't know if it's deployed so I need to either ask the developer or an ops person.

Idea:

  • after the code is deployed on a test server, tag as "deployed to X test server"
  • after the code is deployed in production, tag as "deployed to production"

Event Timeline

Jpita created this task.Jul 25 2019, 7:53 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJul 25 2019, 7:53 AM

Can you elaborate how this should work exactly? By "tag", do you mean a project tag?

I think this should not be in Phab but in Gerrit.
A Gerrit patchset is code which can be deployed. A Phabricator task is a thread of comments which are often related to more than one Gerrit patchset, so that won't work.

Assuming this task is about Project-Admins, hence adding project tag so others can find this task when searching for tasks under that code project.

Aklapper changed the task status from Open to Stalled.Jul 25 2019, 8:20 AM
Aklapper moved this task from Incoming to Projects to create on the Project-Admins board.

Also, what does "deployed" mean? betalabs (for testing)? production (group0 vs group1 vs group2, on different dates) plus SWAT deploys (all groups)?
Which logic would track this, as I don't think you'd want to manually add tags to tasks? :)

Jpita added a comment.Jul 25 2019, 8:25 AM

@Aklapper
A tag would be more useful since I can add a query to a dashboard and test the tickets that appear there.
If that's not possible, a comment on gerrit is also useful, but I need to

1- open the task
2- find the patch link
3- read the messages to check if it is deployed

Jpita added a comment.Jul 25 2019, 8:26 AM

Which logic would track this, as I don't think you'd want to manually add tags to tasks? :)

no, something automatic, manual is our current method

Jpita added a comment.Jul 25 2019, 8:27 AM

Also, what does "deployed" mean? betalabs (for testing)? production (group0 vs group1 vs group2, on different dates) plus SWAT deploys (all groups)?

cx2-testing or cx-ofb for testing, group2 for production

Which existing Phabricator project tags do you have in mind which you would like to see included in such a workflow?

Jpita added a comment.Jul 25 2019, 8:34 AM

new ones would be needed:

  • deployed-to-cx2
  • deployed-to-cx-ofb
  • deployed-to-group2

the repos this tags would be set from would be

Okay. Which existing Phabricator project tags do you have in mind which you would like to see included in such a workflow?

Jpita added a comment.Jul 25 2019, 8:39 AM

new ones would be needed:

  • deployed-to-cx2
  • deployed-to-cx-ofb
  • deployed-to-group2

I don't know how to create tags or if I have the needed permissions.
@KartikMistry a hand?

new ones would be needed:

  • deployed-to-cx2
  • deployed-to-cx-ofb
  • deployed-to-group2

I don't know how to create tags or if I have the needed permissions.
@KartikMistry a hand?

Deployment to Labs are done via cron at every 30 min when patches are merged to master. We don't need tag in this case. For Production code for extensions, We've tag which tags which wmf branches they going into. However, real problem is with service (eg cxserver) which is independent of MW train. Task is updated when patch is merged, but it doesn't say it is deployed until we manually log to SAL.

I think making connection to SAL and Phab tag is already there, but forgetting it is the biggest issue as of now. This should be done automatically, IMHO.

My question which existing Phabricator project[tag]s this is about does not get through, it seems. Last comment implies this might be CX-cxserver though.

However, real problem is with service (eg cxserver) which is independent of MW train. Task is updated when patch is merged, but it doesn't say it is deployed until we manually log to SAL.

Ah! Now that's something I wasn't aware of and the root of the problem. Thanks!

I think making connection to SAL and Phab tag is already there, but forgetting it is the biggest issue as of now. This should be done automatically, IMHO.

Maybe you could write some bot, not sure what's the best approach.

For the records, in Gerrit, you could use the "Hashtags" field to indicate when a patch is deployed.
You may want to talk to the Release-Engineering-Team for more information.

Is there an example SAL entry which links to a corresponding Phab task?

Do you know how other teams whose Services projects do not follow the MediaWiki deployment train handle this issue?

My question which existing Phabricator project[tag]s this is about does not get through, it seems. Last comment implies this might be CX-cxserver though.

CX-cxserver ContentTranslation Language-Team should be what you are asking about, but I don't think it is necessary, should be task based, project-agnostic

This task is stalled until someone writes something that somehow recognizes CX or ContentTranslation items in SAL and then does stuff here...

In any case, I do not see why any of this would require any new project tags, as https://phabricator.wikimedia.org/project/view/4071/ has a "Recheck after deployment" column, so Workboard Column Triggers could move a task to that very workboard column.

Humm, interesting, will investigate that, thanks!

Is there an example SAL entry which links to a corresponding Phab task?

See: https://phabricator.wikimedia.org/T227553#5353550 (Logged manually)

Do you know how other teams whose Services projects do not follow the MediaWiki deployment train handle this issue?

No. Need to check. Most of service deployments are as per need and not in Deployment calendar (AFAIK).

Humm, interesting, will investigate that, thanks!

@Jpita: Did you find time to do that?

Jpita added a comment.Aug 9 2019, 8:43 AM

Humm, interesting, will investigate that, thanks!

@Jpita: Did you find time to do that?

not sure how I can use that, once the task is moved to "Needs QA" it doesn't mean it is deployed, so how would the trigger know the task is deployed?

not sure how I can use that, once the task is moved to "Needs QA" it doesn't mean it is deployed, so how would the trigger know the task is deployed?

As per T228960#5367891, a person needs to manually log that something has been deployed. So you'd have to write code to detect that (T228960#5364710).

Jpita added a comment.Aug 9 2019, 11:55 AM

not sure how I can use that, once the task is moved to "Needs QA" it doesn't mean it is deployed, so how would the trigger know the task is deployed?

As per T228960#5367891, a person needs to manually log that something has been deployed. So you'd have to write code to detect that (T228960#5364710).

@KartikMistry is this something we can do?

Temporarily reassigning to @KartikMistry; feel free to remove assignee again (via the Add Action...Assign / Claim dropdown) once answered - thanks!