Skip to content

Instantly share code, notes, and snippets.

@bmbouter
Created February 3, 2020 11:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bmbouter/d0f42b2b64d6b8358547dbd61e1a8ae1 to your computer and use it in GitHub Desktop.
Save bmbouter/d0f42b2b64d6b8358547dbd61e1a8ae1 to your computer and use it in GitHub Desktop.
import pdb
import random
import string
import subprocess
import tempfile
import unittest
from pulpcore.client.pulp_ansible import (
DistributionsAnsibleApi,
RemotesCollectionApi,
RepositoriesAnsibleApi,
RepositoriesAnsibleVersionsApi,
)
from pulp_smash.pulp3.utils import gen_distribution, gen_repo
from pulp_ansible.tests.functional.utils import (
gen_ansible_client,
monitor_task,
)
client = gen_ansible_client()
repo_api = RepositoriesAnsibleApi(client)
repo_versions_api = RepositoriesAnsibleVersionsApi(client)
remote_collection_api = RemotesCollectionApi(client)
distributions_api = DistributionsAnsibleApi(client)
repo = repo_api.create(gen_repo())
pdb.set_trace()
# Create a distribution.
body = gen_distribution()
body["repository"] = repo.pulp_href
distribution_create = distributions_api.create(body)
distribution_url = monitor_task(distribution_create.task)
distribution = distributions_api.read(distribution_url[0])
pdb.set_trace()
with tempfile.TemporaryDirectory() as temp_dir:
collection_name = "".join([random.choice(string.ascii_lowercase) for i in range(26)])
cmd = "ansible-galaxy collection init --init-path {} pulp.{}".format(
temp_dir, collection_name
)
print(cmd)
pdb.set_trace()
subprocess.run(cmd.split())
cmd = "ansible-galaxy collection build --output-path {} {}{}".format(
temp_dir, temp_dir, "/pulp/" + collection_name + "/"
)
print(cmd)
pdb.set_trace()
subprocess.run(cmd.split())
repo_version = repo_versions_api.read(repo.latest_version_href)
print(cmd)
pdb.set_trace()
cmd = "ansible-galaxy collection publish -c -s {} {}{}".format(
distribution.client_url, temp_dir, "/pulp-" + collection_name + "-1.0.0.tar.gz"
)
subprocess.run(cmd.split())
repo = repo_api.read(repo.pulp_href)
repo_version = repo_versions_api.read(repo.latest_version_href)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment