Story #3181
closedAs a user, I have a roles API for published distribution base paths
100%
Description
This basic implementation should create a live API at /pulp_ansible/galaxy/<distribution.base_path>/roles/
that will provide the minimum functionality for the galaxy client to discover role urls from it.
This work will probably require the addition of a new field (e.g. "url") in the galaxy api format to serve as an alternative to the github_user and github_repo fields. The galaxy cli client will probably need to be updated too.
There will have to be two pages really: one for roles and one for versions. The galaxy cli first looks up roles and then the versions for these roles.
Updated by bmbouter about 7 years ago
- Blocked by Story #3180: As a user, I can mirror Galaxy roles to a local repo added
Updated by daviddavis about 7 years ago
- Groomed changed from No to Yes
- Sprint Candidate changed from No to Yes
Updated by daviddavis about 7 years ago
- Sprint/Milestone changed from 0.1 Release to 52
Updated by daviddavis almost 7 years ago
- Description updated (diff)
- Groomed changed from Yes to No
- Sprint Candidate changed from Yes to No
- Sprint deleted (
Sprint 33)
Updated by daviddavis almost 7 years ago
- Blocked by Story #3467: As a user, I can publish roles as tar files which I can install over http/https with the galaxy cli client. added
Updated by daviddavis over 6 years ago
- Related to Story #3473: As a plugin writer, I have documentation on how to create live api endpoints responsibly added
Updated by daviddavis over 6 years ago
- Related to deleted (Story #3473: As a plugin writer, I have documentation on how to create live api endpoints responsibly)
Updated by daviddavis over 6 years ago
- Blocked by Story #3473: As a plugin writer, I have documentation on how to create live api endpoints responsibly added
Updated by bmbouter over 6 years ago
- Subject changed from As a user, I can publish a repository version containing Ansible roles in a Galaxy compatible format to As a user, I have a roles API for published distribution base paths
- Description updated (diff)
rewriting based on requirements review w/ @daviddavis
Updated by daviddavis over 6 years ago
FYI, we can use GALAXY_SERVER[0] in the ansible cli client config and point it to our pulp instance instead of the public galaxy server.
Updated by daviddavis over 6 years ago
We'll need a change to the ansible galaxy client (which lives in https://github.com/ansible/ansible) to be able to fetch roles from somewhere other than github. I'm imagining that we'll have a url field for roles in which case this should work:
diff --git a/lib/ansible/galaxy/role.py b/lib/ansible/galaxy/role.py
index c9d8ddd3eb..7d0765d84f 100644
--- a/lib/ansible/galaxy/role.py
+++ b/lib/ansible/galaxy/role.py
@@ -167,13 +167,15 @@ class GalaxyRole(object):
def fetch(self, role_data):
"""
- Downloads the archived role from github to a temp location
+ Downloads the archived role to a temp location based on role data
"""
if role_data:
# first grab the file and save it to a temp location
if "github_user" in role_data and "github_repo" in role_data:
archive_url = 'https://github.com/%s/%s/archive/%s.tar.gz' % (role_data["github_user"], role_data["github_repo"], self.version)
+ elif "url" in role_data:
+ archive_url = role_data["url"]
else:
archive_url = self.src
Updated by amacdona@redhat.com over 6 years ago
- Blocked by deleted (Story #3473: As a plugin writer, I have documentation on how to create live api endpoints responsibly)
Updated by amacdona@redhat.com over 6 years ago
- Blocked by Story #3473: As a plugin writer, I have documentation on how to create live api endpoints responsibly added
Updated by daviddavis over 6 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to daviddavis
Updated by daviddavis over 6 years ago
Ansible galaxy cli looks up role by name
and owner__username
:
Looks like owner__username
is just using namespace
:
Updated by daviddavis over 6 years ago
- Status changed from ASSIGNED to POST
Added by daviddavis over 6 years ago
Updated by daviddavis over 6 years ago
- % Done changed from 0 to 100
Applied in changeset pulp_ansible|91d53969dc03c0dae6dafd46f309ba6a31bbcbe3.
Updated by bmbouter about 6 years ago
- Blocked by deleted (Story #3180: As a user, I can mirror Galaxy roles to a local repo)
Updated by bmbouter about 6 years ago
- Blocked by deleted (Story #3467: As a user, I can publish roles as tar files which I can install over http/https with the galaxy cli client.)
Updated by bmbouter about 6 years ago
- Blocked by deleted (Story #3473: As a plugin writer, I have documentation on how to create live api endpoints responsibly)
Updated by bmbouter about 6 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Add a compatible Galaxy v1 api that ansible-galaxy cli can use
fixes #3181 https://pulp.plan.io/issues/3181