BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
a20121248
Obsidian | Level 7

Hi experts:

 

I am following this article:

https://blogs.sas.com/content/sgf/2019/09/19/using-python-to-run-jobs-in-your-sas-grid/

 

I was able to follow all steps but I'm don't know the value of IOM Host (and what is it for?)

a20121248_0-1678920044335.png

Is there any code way to get that host and port value? (for eg., run a proc iomhost?)

 

I've tried to follow other articles but they already know their host values. It's difficult to get support from admin since I am more a SAS-user but doing things proactively so sorry in advance.

 

Also, if it's worth I have SAS Guide, I've read that it's possible to use COM instead of IOM? I am able to run list types:

a20121248_1-1678920325026.png

 

Best regards

1 ACCEPTED SOLUTION

Accepted Solutions
sastpw
SAS Employee

Ok, just had to try SMC to see where the info is. First, it looked like you have 3 app servers (like you said). 

SASApp, SASAppVA, SASAppCS. If you expand those, you should see if they have Workspace servers defined on them. The Workspace server definition will show what port it's configured for. Use that for the IOMPORT. 

Then look at the Object Spawners that are defined and you see the host(s) they run on; can be more than 1 and you can provide a list of them for IOMHOST (again see the saspy doc - Configuration for IOM). What you need to do is right-click on each object spawner and select properties. Then click the Server tab in the properties window and that shows which servers it spawns; this is where you match up the correct object spawner for the Workspace server you want to connect to. You can create a configuration for each one, if you want to be able to connect to all of them, or just whichever one you want.

Hopefully this all makes sense and you see this info in your SMC.

View solution in original post

9 REPLIES 9
SASKiwi
PROC Star

Do you have access to SAS Management Console as all of the SAS server and port definitions are available in that tool? Ask your SAS administrator if you don't have it. 

sastpw
SAS Employee

You can use proc iomoperate as described in this section of the doc to query for the Object Spawner host names (IOMHOST) and the Workspace server ports (IOMPORT) for your configuration. https://sassoftware.github.io/saspy/advanced-topics.html#using-proc-iomoperate-to-find-object-spawne...

I would use the IOM access method, and Not the COM access method; they both require these values anyway, to know where SAS is that they are trying to connect to. But IOM is the fully supported and fully functional access method.

a20121248
Obsidian | Level 7

Hi @SASKiwi@sastpw:

Thanks for answer. I've tried to follow this tutorial. Context: We have 3 AppServer, one of them is Grid. I connect to SAS Server (remote server) through an Azure Virtual Machine using SAS Guide (local client), and the machine name it's something like CTXDXXX.XXXXcloud.local.

a20121248_2-1678981430338.png

According to the tutorial, I replaced the name but with no luck (timeout error).

a20121248_3-1678981606753.png

a20121248_4-1678981769918.png

 

I also tried to use the host name we use to connect through SAS Guide but as the logs says the procedure expects the IOM host name.

ERROR: The client has connected to a SAS Metadata Server (v1.0) when it intended to connect to a SAS Object Spawner.
ERROR: A connection to the IOM Server cannot be established.

a20121248_0-1678980724101.png

By reading the docs, I understand a little more about Object Spawner and see that in my company we have more than one. I have access to SAS Management Console. Is it possible to find the IOM host name in this tool?

a20121248_1-1678980985676.png

 

Best regards,

Javier

sastpw
SAS Employee

Well, the proc iomoperate attempts you show aren't what is in the doc for this. You would need to submit the code in the doc. But, having access to SMC is better; same info (it's the metadata in the metadata server), but this is a nicer GUI that you can see the information in. So yes, look at the object spawners and workspace servers for the host names and port numbers. 

sastpw
SAS Employee

Ok, just had to try SMC to see where the info is. First, it looked like you have 3 app servers (like you said). 

SASApp, SASAppVA, SASAppCS. If you expand those, you should see if they have Workspace servers defined on them. The Workspace server definition will show what port it's configured for. Use that for the IOMPORT. 

Then look at the Object Spawners that are defined and you see the host(s) they run on; can be more than 1 and you can provide a list of them for IOMHOST (again see the saspy doc - Configuration for IOM). What you need to do is right-click on each object spawner and select properties. Then click the Server tab in the properties window and that shows which servers it spawns; this is where you match up the correct object spawner for the Workspace server you want to connect to. You can create a configuration for each one, if you want to be able to connect to all of them, or just whichever one you want.

Hopefully this all makes sense and you see this info in your SMC.

a20121248
Obsidian | Level 7

UPDATE

The IOM host was right in the Management Console. SASPy is working. Thank you thank you @sastpw .

a20121248_0-1678991642176.png

 

 

Hi:

According to Management Console, my IOM host is 

a20121248_2-1678990084501.png

and according to SAS Guide the value is the same

a20121248_0-1678990872415.png

 

I tried this alternative (Example 2: CONNECT Example Using Credentials) due to the % character in my pass but I got another error message:

The client has connected to a SAS Workspace Server when it intented to connect to a SAS Object Spawner

a20121248_3-1678990165637.png

 

The Workspace server definition will show what port it's configured for. Use that for the IOMPORT.

According to the image, the port is 8591.

a20121248_3-1678989239072.png

Sorry if some prints are irrelevant, it's just these spawns server are difficult to understand for me.

 

Best regards,

Javier

sastpw
SAS Employee

I'm not completely sure I understand. But, you do show the host and port you would need to configure SASPy to connect to that SASAppCS - Workspace Server. You showed that the Object Spawner 2 launches that workspace server, and that the object spawner is on host 'plnsascrep01.datalake.local' (If I can read that picture right); it's the one from the pic you posted. And, the workspace server is on the default port of 8591.

 

So just use those for the values in your your sascfg_personal.py configuration and try to connect with SASPy. Can you get into python and try to connect? Can you show your config file and the code you submit and the output it produces?

 

iomhost = plnsascrep01.datalake.local

iomport = 8591

 

Thanks,

Tom

a20121248
Obsidian | Level 7
You were right, it's working now. Thank you!!!
sastpw
SAS Employee

Great! It's easy when you know how to navigate the metadata, but complicated to tell someone how 🙂

 

Also, you can put your credentials in an authinfo file so that you won't get prompted and have to enter them each time you connect. See that here: https://sassoftware.github.io/saspy/configuration.html#the-authinfo-file-authinfo-on-windows

 

Glad you're up and running!

Tom

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

SAS Enterprise Guide vs. SAS Studio

What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 9 replies
  • 1955 views
  • 5 likes
  • 3 in conversation