Page MenuHomePhabricator

Configure draftquality deployment pipeline
Closed, ResolvedPublic

Description

We want to deploy our production image to the WMF docker registry by using the deployment pipeline. We should also run a test before publishing the image.

This will require us to update multiple repos:

  • Configure the pipeline in the inference-services repo: ./pipeline/config.yaml
  • Update the integrations/config repo:
    • create pipelines & define jobs: jjb/project-pipelines.yaml file
    • assign job triggers: zuul/layouts.yaml
      • also make sure the pipeline only runs when the config, blubberfile or model-server is changed.

This has already been done for editquality (see: T279004) which can be used as an example.

Pipeline tutorial: https://wikitech.wikimedia.org/wiki/Deployment_pipeline/Migration/Tutorial#Publishing_Docker_Images

Event Timeline

Change 711690 had a related patch set uploaded (by Accraze; author: Accraze):

[machinelearning/liftwing/inference-services@main] add draftquality pipeline config

https://gerrit.wikimedia.org/r/711690

Change 711731 had a related patch set uploaded (by Accraze; author: Accraze):

[integration/config@master] inference-services: added draftquality pipeline

https://gerrit.wikimedia.org/r/711731

Change 711690 merged by jenkins-bot:

[machinelearning/liftwing/inference-services@main] add draftquality pipeline config

https://gerrit.wikimedia.org/r/711690

Change 711731 merged by jenkins-bot:

[integration/config@master] inference-services: added draftquality pipeline

https://gerrit.wikimedia.org/r/711731

It seems our production image build for the draftquality model server is unable to build. It ran all night and could not resolve all the dependencies between the draftquality repo and revscoring package, getting the error: ResolutionTooDeep. The image seems to build fine for me locally though, so I will continue investigating this issue.

https://integration.wikimedia.org/ci/job/inference-services-pipeline-draftquality/

After digging into the issue a bit more, it seems that pip is unable to resolve the correct version of the tqdm library. The version ranges defined for revscoring, nltk and kfserving seem to conflict using our requirements.txt included with the draftquality model-server production image.

After checking the ores-deploy repo, it seems we should be able to pin tqdm==4.15.0, nltk==3.5 and revscoring==2.8.2, however we will need to figure out which version of kfserving will run with these deps.

Change 714435 had a related patch set uploaded (by Accraze; author: Accraze):

[machinelearning/liftwing/inference-services@main] add explicit versions for draftquality deps

https://gerrit.wikimedia.org/r/714435

Change 714435 merged by Accraze:

[machinelearning/liftwing/inference-services@main] add explicit versions for draftquality deps

https://gerrit.wikimedia.org/r/714435

Looks like the pipeline is working well now:
https://integration.wikimedia.org/ci/job/inference-services-pipeline-draftquality/

Also the draftquality model-server production image is now available in the WMF docker registry:
https://docker-registry.wikimedia.org/wikimedia/machinelearning-liftwing-inference-services-draftquality/tags/

Marking this as RESOLVED