Issue #1793
closedpuppet repo doesn't support modules with names like "organization/module_name"
Description
We have some modules that have in metadata.json the name set to something like this: "name": "management/role".
Uploading those modules to pulp fail because it tries to copy them in /var/lib/pulp/uploads/management/role-version.tar.gz.
This is the error from server side:
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) [Errno 2] No such file or directory: u'/var/lib/pulp/uploads/management/role-0.9.0.tar.gz'
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) Traceback (most recent call last):
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) File "/usr/lib/python2.7/site-packages/pulp_puppet/plugins/importers/importer.py", line 82, in upload_unit
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) conduit)
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) File "/usr/lib/python2.7/site-packages/pulp_puppet/plugins/importers/upload.py", line 43, in handle_uploaded_unit
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) shutil.move(file_path, new_file_path)
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) File "/usr/lib64/python2.7/shutil.py", line 301, in move
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) copy2(src, real_dst)
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) File "/usr/lib64/python2.7/shutil.py", line 130, in copy2
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) copyfile(src, dst)
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) File "/usr/lib64/python2.7/shutil.py", line 83, in copyfile
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) with open(dst, 'wb') as fdst:
mar 24 09:58:09 v-so-repo-01.company.com pulp[2696]: pulp_puppet.plugins.importers.importer:ERROR: (2696-36288) IOError: [Errno 2] No such file or directory: u'/var/lib/pulp/uploads/management/role-0.9.0.tar.gz'
This error is hidden on the client side and the upload returns success.
I think that the names are valid on puppet, as at least zypprepo module has the same naming convention: https://github.com/deadpoint/puppet-zypprepo/blob/master/metadata.json.