Project

Profile

Help

Task #5913

closed

Make the option to generate fixtures locally available for all plugins

Added by fao89 over 4 years ago. Updated about 4 years ago.

Status:
CLOSED - COMPLETE
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

100%

Estimated time:
Platform Release:
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
CI/CD
Sprint:
Sprint 65
Quarter:

Description

Currently, only pulpcore and pulp_file have the option to generate fixtures locally.
We want that option to be available for all plugins,
since some plugins have limitation to be generated on travis(due ubuntu), one approach would be container based.


Related issues

Related to File Support - Task #5872: Generate pulp_file fixtures on Travis and serve using nginxCLOSED - CURRENTRELEASEfao89

Actions
Related to Pulp - Task #5873: update pulpcore and pulp_file functional tests to use a configurable hostname+prefix for fixturesCLOSED - CURRENTRELEASEfao89

Actions
Related to RPM Support - Task #6030: Switch to local fixturesCLOSED - CURRENTRELEASEfao89

Actions
Actions #1

Updated by fao89 over 4 years ago

  • Related to Task #5872: Generate pulp_file fixtures on Travis and serve using nginx added
Actions #2

Updated by fao89 over 4 years ago

  • Related to Task #5873: update pulpcore and pulp_file functional tests to use a configurable hostname+prefix for fixtures added
Actions #3

Updated by fao89 over 4 years ago

  • Subject changed from Make available for all plugins the option to generate fixtures locally to Make the option to generate fixtures locally available for all plugins
Actions #4

Updated by daviddavis over 4 years ago

Thank you for filing this. The hard part I think is generating the fixtures. Here's a link to the list of dependencies:

https://github.com/pulp/pulp-fixtures#dependencies

Definitely the hard ones are going to be the rpm dependencies (createrepo, rpmsign, fedpkg, etc).

I don't see us generating fixtures in Travis without some sort of container-based approach. Either generating the fixtures inside a container or just shipping a container with the fixtures already built.

Actions #5

Updated by mdepaulo@redhat.com over 4 years ago

Using a travis cronjob, we can write and build a container image from a dockerfile (or use buildah to copy the fixtures as arbitrary files into a container image.) In either case, we can try to base it on an existing nginx image.

Once it's built, we can push like we do for pulp-operator (and will soon do for plugins):
https://github.com/pulp/pulp-operator/blob/master/.travis.yml#L28
https://github.com/pulp/pulp-operator/blob/master/.travis/quay-push.sh

However, when the image is pulled, you'll then have to either run it via Docker and point the pulp containers to it, or try to run it via kubernetes. The former is probably easier.

I can advise on all this.

Actions #6

Updated by dkliban@redhat.com over 4 years ago

  • Groomed changed from No to Yes
  • Sprint set to Sprint 63
Actions #7

Updated by daviddavis over 4 years ago

  • Sprint Candidate changed from No to Yes

I've got a Dockerfile that generates the fixtures and serves them via nginx:

https://gist.github.com/daviddavis/562569487be1622ac8e05515e8fee385

Actions #8

Updated by daviddavis over 4 years ago

@mikedep333,

Any idea where the Dockerfile should live and which project should build/push the pulp-fixtures container? I was thinking maybe we could keep it in the pulp-fixtures[0] project?

[0] https://github.com/pulp/pulp-fixtures

Actions #9

Updated by mdepaulo@redhat.com over 4 years ago

daviddavis wrote:

@mikedep333,

Any idea where the Dockerfile should live and which project should build/push the pulp-fixtures container? I was thinking maybe we could keep it in the pulp-fixtures[0] project?

[0] https://github.com/pulp/pulp-fixtures

Yes, after reviewing the Dockerfile (which only references files in that repo), I agree.

I can advise on making .travis.yml and other changes.

Actions #10

Updated by daviddavis over 4 years ago

  • Status changed from NEW to POST
  • Assignee set to daviddavis
Actions #11

Updated by rchan over 4 years ago

  • Sprint changed from Sprint 63 to Sprint 64

Added by daviddavis over 4 years ago

Revision ffe42296 | View on GitHub

Add option to use pulp-fixtures docker container

fixes #5913 https://pulp.plan.io/issues/5913

Actions #12

Updated by daviddavis over 4 years ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100
Actions #13

Updated by daviddavis over 4 years ago

  • Status changed from MODIFIED to POST

Still waiting to merge this PR: https://github.com/pulp/pulp-fixtures/pull/129

Actions #14

Updated by daviddavis over 4 years ago

  • Blocks Task #6030: Switch to local fixtures added
Actions #15

Updated by rchan over 4 years ago

  • Sprint changed from Sprint 64 to Sprint 65
Actions #16

Updated by daviddavis over 4 years ago

  • Status changed from POST to MODIFIED
Actions #17

Updated by ttereshc about 4 years ago

  • Blocks deleted (Task #6030: Switch to local fixtures)
Actions #18

Updated by ttereshc about 4 years ago

  • Related to Task #6030: Switch to local fixtures added
Actions #19

Updated by daviddavis about 4 years ago

  • Status changed from MODIFIED to CLOSED - COMPLETE

Also available in: Atom PDF