Skip to content

Conversation

reinvantveer
Copy link
Contributor

@reinvantveer reinvantveer commented Feb 4, 2021

Description of the change:
Use Pipenv - the Python packaging authority recommended way - as a dependency resolution managemente system and vulnerability checker to install Python dependencies.

This PR is part of #4237 to work towards a more user-friendly way of doing reproducible local builds

Motivation for the change:
Python package dependency is best managed using a fit-for-purpose package manager that checks for dependency conflicts, separates wanted dependencies from required subdependencies and that is able to check for vulnerabilities. The proposed solution is fully backwards compatible.

Checklist

If the pull request includes user-facing changes, extra documentation is required:

@reinvantveer
Copy link
Contributor Author

Note that the commit list is rather long simply because I rebased and merged from upstream, but the Python version pinning and Docker image pinning were already merged.

@reinvantveer reinvantveer changed the title Pipenv dependency management WIP: Pipenv dependency management Feb 4, 2021
@openshift-ci-robot openshift-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Feb 4, 2021
@reinvantveer reinvantveer force-pushed the pipenv_dependency_management branch from 984be31 to ff9f845 Compare February 4, 2021 17:02
@openshift-ci-robot openshift-ci-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Feb 4, 2021
@reinvantveer reinvantveer changed the title WIP: Pipenv dependency management Pipenv dependency management Feb 4, 2021
@openshift-ci-robot openshift-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Feb 4, 2021
@reinvantveer
Copy link
Contributor Author

Yay, passed!

@estroz
Copy link
Member

estroz commented Feb 4, 2021

@reinvantveer looks like you need to rebase onto the latest master.

Eric Stroczynski and others added 16 commits February 5, 2021 09:16
…erator-framework#4407)

Signed-off-by: Eric Stroczynski <estroczy@redhat.com>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
…-framework#4431)

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
… a previous operator version doesn't exist (operator-framework#4448)

* `run bundle-upgrade` should handle error gracefully when a previous operator version doesn't exist

Signed-off-by: rashmigottipati <chowdary.grashmi@gmail.com>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
…erator-framework#4449)

Bumped to operator-framework/api.

Signed-off-by: jesus m. rodriguez <jesusr@redhat.com>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
…g release (operator-framework#3431)

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
…erator-framework#4462)

Signed-off-by: Eric Stroczynski <ericstroczynski@gmail.com>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
…projects (operator-framework#4419)

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
…ework#4445)

internal/generatel/clusterserviceversion/bases/definitions: make the
owned CRD generator package- and type-aware so multiple packages
containing the same type names can be used.

Signed-off-by: Eric Stroczynski <ericstroczynski@gmail.com>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
* upgrade Python to v 3.8
* add change notes
* add python to installation guide

Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
This commit modifies the suggested format for finalizers
from <finalizer-name>.<qualified-group> to <qualified-group>/<finalizer-name>,
which is the recommended format in k8s docs. This change is
not breaking because technically any name format is allowed

Signed-off-by: Eric Stroczynski <ericstroczynski@gmail.com>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
…-framework#4471)

* Fixed invalid object names generated for long package names

* TrimDNS1123Label would trim strings but end up creating invalid DNS1123
strings.
* FormatOperatorNameDNS1123 would return strings that were invalid if
  they begin or end with non-alphanumeric or hyphens.

* Handle capitals and use more efficient trim mechanism

* React to new expectation.

Fixes operator-framework#4470

Signed-off-by: jesus m. rodriguez <jmrodri@gmail.com>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
…iption

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
…ub-dependencies and resolve potential conflicts

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
reinvantveer and others added 25 commits February 5, 2021 09:26
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
…iption

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
…iption

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
…iption

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
…iption

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
… vulnerability checks in base site-packages

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
…iption

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
…iption

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
…iption

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
…iption

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
… vulnerability checks in base site-packages

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
…iption

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
…iption

Signed-off-by: Rein van 't Veer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein.van.t.veer@geodan.nl>
…to pipenv_dependency_management

# Conflicts:
#	images/ansible-operator/Dockerfile
@reinvantveer
Copy link
Contributor Author

reinvantveer commented Feb 5, 2021

@reinvantveer looks like you need to rebase onto the latest master.

@estroz I'm in a spot of trouble here. I tried rebasing using git pull --rebase but now I apparently have 380 commits in this PR. How do I fix this? I'm a little in over my head here.

It appears I'm stuck in some kind of loop with failing rebases, merges, missing signoffs, forced pushes. I have no idea on how to get out of this.

@reinvantveer reinvantveer deleted the pipenv_dependency_management branch February 5, 2021 18:41
@reinvantveer
Copy link
Contributor Author

I'll try in a new PR

@reinvantveer reinvantveer mentioned this pull request Feb 5, 2021
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.