Project

Profile

Help

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.

Back