The sas-viya-runlauncher-default service shows a "not ready" status


The sas-viya-runlauncher-default service shows in a "not ready" state when you run the sas-viya-all-services status command. For example, you might see the following in the command-line interface (CLI):

userid@sasserver:~#> sudo /etc/init.d/sas-viya-all-services status | grep runlauncher
  sas-viya-runlauncher-default                       not ready  11.222.33.44    11.222.33.44   32790
  41539                                              13871

 

This issue can occur if there are defunct SAS® Launcher Servers registered in Consul.

As a workaround, complete these steps to determine whether there are defunct SAS® Launcher Servers and remove them from Consul:

  1. Source the consul.conf file:

source /opt/sas/viya/config/consul.conf

 

  1. Dump the current Consul agent service list to a file:
/opt/sas/viya/home/bin/sas-bootstrap-config --token-file /opt/sas/viya/config/etc/SASSecurityCertificateFramework/tokens/consul/
default/client.token
agent service list > /tmp/servicelist.txt
 
  1. Search the output file for multiple instances of launcher-server as shown in this example:
"33fb3cde-446e-469f-bb35-dd1438b9ae44": {
        "ID": "33fb3cde-446e-469f-bb35-dd1438b9ae44",
        "Service": "launcher-server",
        "Tags": [
            "tls",
            "linux"
        ],
        "Port": 32790,
        "Address": "11.222.33.44",
        "EnableTagOverride": false,
        "CreateIndex": 0,
        "ModifyIndex": 0
    },
 "4bcacd24-e3bb-4c34-b980-25d1e5061864": {
        "ID": "4bcacd24-e3bb-4c34-b980-25d1e5061864",
        "Service": "launcher-server",
        "Tags": [
            "tls",
            "linux"
        ],
        "Port": 41539,
        "Address": "11.222.33.44",
        "EnableTagOverride": false,
        "CreateIndex": 0,
        "ModifyIndex": 0
    },
 "f460a699-1657-4fdb-ab03-579fdf4b7d59": {
        "ID": "f460a699-1657-4fdb-ab03-579fdf4b7d59",
        "Service": "launcher-server",
        "Tags": [
            "tls",
            "linux"
        ],
        "Port": 13871,
        "Address": "11.222.33.44",
        "EnableTagOverride": false,
        "CreateIndex": 0,
        "ModifyIndex": 0
    },

 

4. Determine which launcher-server instances are no longer functional. One way that you can do this is by using the lsof command as root with the port number for the launcher-server instances found in step #2. Here is an example:

lsof -i tcp:32790    
lsof -i tcp:41539
lsof -i tcp:13871

 

You receive output only from services that are legitimately listening.

  1. De-register the defunct services (those that returned nothing in step #3) using the ID from the services list file:
/opt/sas/viya/home/bin/sas-bootstrap-config --token-file /opt/sas/viya/config/etc/SASSecurityCertificateFramework/tokens/
consul/default/client.token
agent service deregister 4bcacd24-e3bb-4c34-b980-25d1e5061864
 
/opt/sas/viya/home/bin/sas-bootstrap-config --token-file /opt/sas/viya/config/etc/SASSecurityCertificateFramework/tokens/
consul/default/client.token
agent service deregister 33fb3cde-446e-469f-bb35-dd1438b9ae44