BookmarkSubscribeRSS Feed
MarcoGhiglieri
Obsidian | Level 7

Hi there,

 I'm planning a "platform resilience" plan to OS updates, so I have my FE server to restart the services at bootup.
Did anyone already worked on a "sas.servers"-like script for systemd?

Thanks all!

Marco

9 REPLIES 9
StefanM
Obsidian | Level 7

You mean not using the systemv emulation layer anymore?

MarcoGhiglieri
Obsidian | Level 7
Yes, I'd like to manage the sas.server from systemd. I'm trying a systemd service invoking it, it's working... simplier than I thought!
gwootton
SAS Super FREQ
Are all of your services on a single host? If so, the sas.servers script if you open it in a text viewer has some detail on how to make it bootable. If you have multiple hosts then you would probably want to use SAS-lsm to orchestrate services starting in the correct order across multiple hosts.

https://github.com/sassoftware/SAS-lsm
--
Greg Wootton | Principal Systems Technical Support Engineer
MarcoGhiglieri
Obsidian | Level 7

Hi Greg, my deployment is a commonly multi-tiered VA install, but the customer IT wants to manage OS patches and restart the hosts freely, being sure the SAS platform would get back online.

 

I'm already using LSM, I've forked it on GitHub to make my personalisations (e.g., not update check on startup, manage a  Grid, and some other tweaks). The UserExit scripts aren't documented much, so I had to tinker a lot to manage extra components like solr.

I think I'll get it in the systemd script au lieu de sas.servers, since it would check the BE prerequisites.

I've modded the sas.servers.mid.template to do some housekeeping at shutdown (delete tmlogs, empty tomcat work and temp, rotate catalina.out) ... I'm pimping my deploys ! 😄

 

gwootton
SAS Super FREQ
@MarcoGhiglieri sounds very cool!
--
Greg Wootton | Principal Systems Technical Support Engineer
StefanM
Obsidian | Level 7

lsm isn't a full systemd thing, isn't it?

We got a fully systemd service implementation: (2 server, start/stop control from external)

sasallservices.service loaded active exited SAS Applications
sascachelocator.service loaded active running SAS Cache Locator Service ins_41415
sasconnect.service loaded active running SAS Connect Spawner
sasdeployd.service loaded active running SAS Deployment Agent
sasdipjrun.service loaded active running SAS DIP Job Runner
sashqagent.service loaded active running SAS Environment Manager Agent
sasirstudio.service loaded active running SAS Information Retrieval Studio Server
sasmeta.service loaded active running SAS MetadataServer
sasobj.service loaded active running SAS Object Spawner
sasrgpd.service loaded active running SAS Web Infrastructure Data Server RGF
saswip.service loaded active running SAS Web Infrastructure Data Server SharedServices

MarcoGhiglieri
Obsidian | Level 7
I don't get it. How did you implement LSM in systemd with single services?
StefanM
Obsidian | Level 7

We don't use lsm.
Don't remember why we didn't use it ad hoc.
We missed an official SAS supported modern startup concept without the systemv systemd compatibility layer which is very old meanwhile

MarcoGhiglieri
Obsidian | Level 7

Oh, sorry, I misunderstood your first sentence.
I've seen some Ansible implementations, others via sorts-of a framework bound to an operation manager, each with pros and cons, but whether you check single script output (single service or sas.servers) or listening ports... It's always difficult to keep the "wants" of services , and you'll always have to check them manually.

LSM does a great job with minimum implementation effort.

suga badge.PNGThe SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment. 

Join SUGA 

Get Started with SAS Information Catalog in SAS Viya

SAS technical trainer Erin Winters shows you how to explore assets, create new data discovery agents, schedule data discovery agents, and much more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 9 replies
  • 1291 views
  • 2 likes
  • 3 in conversation