Skip to content

Commit

Permalink
fix endpoints (#83)
Browse files Browse the repository at this point in the history
* fix endpoints

* Update galaxykit/registries.py

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update galaxykit/client.py

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update galaxykit/containers.py

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
chr-stian and github-actions[bot] authored Nov 21, 2022
1 parent 429b893 commit 4f626af
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 10 deletions.
7 changes: 5 additions & 2 deletions galaxykit/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
from . import collections
from . import roles
from . import __version__ as VERSION
from .constants import RBAC_VERSION, EE_ENDPOINTS_CHANGE_VERSION

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -180,7 +181,7 @@ def _get_server_version(self):

def _is_rbac_available(self):
galaxy_ng_version = self.server_version
return parse_version(galaxy_ng_version) >= parse_version("4.6.0dev")
return parse_version(galaxy_ng_version) >= parse_version(RBAC_VERSION)

def _http(self, method, path, *args, **kwargs):
url = urljoin(self.galaxy_root, path)
Expand Down Expand Up @@ -384,7 +385,9 @@ def server_version(self):
@property
def ui_ee_endpoint_prefix(self):
if self._ui_ee_endpoint_prefix is None:
if parse_version(self.server_version) >= parse_version("4.7.0dev"):
if parse_version(self.server_version) >= parse_version(
EE_ENDPOINTS_CHANGE_VERSION
):
# the EE endpoints that used to be under _ui/v1/ moved to v3/plugin/ starting with 4.7.0dev
self._ui_ee_endpoint_prefix = "v3/plugin/"
else:
Expand Down
2 changes: 2 additions & 0 deletions galaxykit/constants.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
RBAC_VERSION = "4.6.0dev"
EE_ENDPOINTS_CHANGE_VERSION = "4.7.0dev"
26 changes: 19 additions & 7 deletions galaxykit/containers.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
from pprint import pprint
from pkg_resources import parse_version
from . import registries
from .constants import EE_ENDPOINTS_CHANGE_VERSION


def get_readme(client, container):
Expand Down Expand Up @@ -46,20 +48,30 @@ def create_container(client, name, upstream_name, registry):
return client.post(create_url, data)


def add_owner_to_ee(client, ee_name, group_name, object_roles):
def add_owner_to_ee(client, ee_name, group_name, role):
"""
Add owner to Execution Environment
"""
url = f"{client.ui_ee_endpoint_prefix}execution-environments/namespaces/{ee_name}/"
existing_groups = client.get(url)["groups"]
existing_groups.append({"name": group_name, "object_roles": object_roles})
data = {"groups": existing_groups}
return client.put(url, data)
if parse_version(client.server_version) >= parse_version(
EE_ENDPOINTS_CHANGE_VERSION
):
url = f"pulp/api/v3/pulp_container/namespaces/?name={ee_name}"
pulp_href = client.get(url)["results"][0]["pulp_href"]
ns_id = pulp_href.split("/")[-2]
url = f"pulp/api/v3/pulp_container/namespaces/{ns_id}/add_role/"
data = {"groups": [group_name], "role": role[0]}
return client.post(url, data)
else:
url = f"_ui/v1/execution-environments/namespaces/{ee_name}/"
existing_groups = client.get(url)["groups"]
existing_groups.append({"name": group_name, "object_roles": role})
data = {"groups": existing_groups}
return client.put(url, data)


def inspect_container_namespace(client, ee_name):
"""
Inspect a container namepsace
"""
url = f"{client.ui_ee_endpoint_prefix}execution-environments/namespaces/{ee_name}/"
url = f"_ui/v1/execution-environments/namespaces/{ee_name}/"
return client.get(url)
5 changes: 4 additions & 1 deletion galaxykit/registries.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from pprint import pprint
from pkg_resources import parse_version
from .constants import EE_ENDPOINTS_CHANGE_VERSION


def get_registry_pk(client, name):
Expand All @@ -9,7 +10,9 @@ def get_registry_pk(client, name):
user_url = f"_ui/v1/execution-environments/registries/?name={name}"
resp = client.get(user_url)
if resp["data"]:
if parse_version(client.server_version) >= parse_version("4.7.0dev"):
if parse_version(client.server_version) >= parse_version(
EE_ENDPOINTS_CHANGE_VERSION
):
return resp["data"][0]["id"]
else:
return resp["data"][0]["pk"]
Expand Down

0 comments on commit 4f626af

Please sign in to comment.