From f0852d90099fb80f4550154065166b95cd8bfdbc Mon Sep 17 00:00:00 2001 From: mprahl Date: Tue, 27 Feb 2018 13:29:00 -0500 Subject: [PATCH] Port to libmodulemd and support v2 modulemd without module stream expansion --- Jenkinsfile | 4 +- Vagrantfile | 4 +- .../builder/CoprModuleBuilder.py | 16 +- .../builder/KojiModuleBuilder.py | 7 +- .../builder/MockModuleBuilder.py | 13 +- .../versions/9ca1c166f426_contexts.py | 19 +- module_build_service/models.py | 23 +- module_build_service/resolver/PDCResolver.py | 63 ++-- module_build_service/resolver/base.py | 11 +- .../scheduler/handlers/modules.py | 6 +- module_build_service/utils.py | 309 +++++++++--------- requirements.txt | 2 +- tests/__init__.py | 91 +++--- tests/conftest.py | 49 ++- tests/staged_data/platform.yaml | 6 +- tests/staged_data/testmodule_mse.yaml | 39 +++ tests/staged_data/testmodule_v2.yaml | 38 +++ tests/test_build/test_build.py | 10 +- tests/test_builder/test_mock.py | 95 +++--- tests/test_models/__init__.py | 17 +- tests/test_models/test_models.py | 8 +- tests/test_resolver/test_pdc.py | 42 ++- tests/test_scheduler/test_module_init.py | 5 +- tests/test_scheduler/test_module_wait.py | 22 +- tests/test_utils/test_utils.py | 68 ++-- tests/test_views/test_views.py | 24 +- 26 files changed, 591 insertions(+), 400 deletions(-) create mode 100644 tests/staged_data/testmodule_mse.yaml create mode 100644 tests/staged_data/testmodule_v2.yaml diff --git a/Jenkinsfile b/Jenkinsfile index 3aef5503..09ed25d2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,7 +26,9 @@ node('factory2'){ stage('Pre Setup Node'){ // Install EPEL and the SCLs repo onmyduffynode 'yum -y install epel-release yum-config-manager centos-release-scl && yum-config-manager --enable rhel-server-rhscl-7-rpms' - onmyduffynode 'yum -y install python27 python-devel rh-python36 @development krb5-devel openssl-devel libffi-devel swig createrepo_c' + onmyduffynode 'yum -y install python27 python-devel rh-python36 @development krb5-devel openssl-devel libffi-devel swig createrepo_c cairo-gobject-devel gobject-introspection-devel' + // Remove this once it's available in the official repos + onmyduffynode 'yum -y install https://kojipkgs.fedoraproject.org//packages/libmodulemd/1.0.4/1.fc26/x86_64/libmodulemd-1.0.4-1.fc26.x86_64.rpm' // Update pip and setuptools and install tox in the SCL environment onmyduffynode 'scl enable python27 \'pip install --upgrade pip setuptools tox\'' onmyduffynode 'scl enable rh-python36 \'pip install --upgrade pip setuptools tox\'' diff --git a/Vagrantfile b/Vagrantfile index d5716db8..b1789e49 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -21,6 +21,7 @@ $script = <