sassoftware / sassoftware/python-swat

SWAT within containerised (Viya4) environments : Referring to the bin and http K8s services

Open
#140 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
159
Forks
65
PR merge metrics
No merged PRs in 30d

Description

On a Viya 4 environment, I have published the sas-cas-server-default-bin and ..default-http services as NodePorts. A conscious decision has been taken to not deploy them as LoadBalancers in order to reduce entry points and administration overhead.

Accessing a Python editor from within SAS Studio (which is the customer's intended use), I am able to successfully connect to the binary service, through the controller's (internal) IP address - a sequence starting with 10.XX.XX.XX

Services in K8s are commonly accessed through the DNS name of <service_name>.<name_of_name_space>.svc.cluster.local. In this case, however, I am unable to connect through any of the following patterns (including port of 5570).

Within the connection string of

conn=swat.CAS(hostname=, port=, user=, password=)

hostname = any of the following :

sas-cas-server-default-bin.viya.svc.cluster.local
cas-shared-default-bin.viya.svc.cluster.local
sas-cas-server-default-controller.viya.svc.cluster.local

What might be the correct naming convention so that I do not have to have my users explicitly state the IP ?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the connection attempts from Python inside SAS Studio and compare the listed Kubernetes service names and port 5570 with the services published in the Viya environment. Check the Kubernetes service DNS and NodePort configuration to determine the supported hostname, then confirm that the resulting connection avoids requiring users to enter an internal IP.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, python
Domain
infrastructure, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.