Story #1283
Updated by rbarlow over 8 years ago
Developers using Vagrant or working on the dev-setup.sh script do not always have the same versions of the dependencies that master branch are found in the deps folder of the Pulp repository. This is unable to run pulp-manage-db due to the use a missing required version of the beta repository gofer: <pre> $ sudo -u apache pulp-manage-db Attempting to connect to localhost:27017 Mongo database for pulling in dependencies. There connection is a lag between dependencies being updated version 2.6.11 Loading content types. Loading type descriptors [node.json, deb.json, openstack.json, puppet.json, python.json, rpm_support.json, iso_support.json] Parsing type descriptors Validating type descriptor syntactic integrity Validating type descriptor semantic integrity Updating the database with types [repository, node, deb, openstack_image, puppet_module, python_package, distribution, drpm, erratum, package_group, package_category, package_environment, rpm, srpm, yum_repo_metadata_file, iso] Content types loaded. Ensuring the admin role and user are in place. cannot import name Connector Traceback (most recent call last): File "/home/vagrant/devel/pulp/server/pulp/server/db/manage.py", line 144, in main return _auto_manage_db(options) File "/home/vagrant/devel/pulp/server/pulp/server/db/manage.py", line 182, in _auto_manage_db factory.initialize() File "/home/vagrant/devel/pulp/server/pulp/server/managers/factory.py", line 392, in initialize from pulp.server.managers.consumer.agent import AgentManager File "/home/vagrant/devel/pulp/server/pulp/server/managers/consumer/agent.py", line 18, in <module> from pulp.server.agent.context import Context File "/home/vagrant/devel/pulp/server/pulp/server/agent/context.py", line 17, in <module> from pulp.server.agent.connector import add_connector, get_url File "/home/vagrant/devel/pulp/server/pulp/server/agent/connector.py", line 1, in <module> from gofer.messaging import Connector ImportError: cannot import name Connector </pre> I considered having the Vagrant environment always build dependencies from the deps folder, and a build being made but that contains those versions. During this lag it is possible also fails because the tag for Pulp to depend on the updated dependency, which can break the development environment until the new version of the dependency newest Gofer is published missing: <pre> $ tito build --rpm WARNING: Please rename [globalconfig] to the beta repository. This can waste developer time [buildconfig] in tito.props WARNING: please rename 'default_builder' to 'builder' in tito.props WARNING: please rename 'default_tagger' to 'tagger' in tito.props Loaded package specific tito.props overrides ERROR: Tag does not exist in remote git repo: gofer-2.6.6-1 You must tag, then git push and cause confusion. git push --tags </pre> Instead, we should We need to either publish this newer gofer dependency in a beta repository, or add an ability to the development playbook missing tag so that will Vagrant can build and install the dependencies from the pulp/deps subfolders so that developers always have access to the latest dependencies. newer version.