efactl

Starts, stops, restarts, and displays the status services for XCO.

Syntax

efactl start
efactl stop
efactl restart
efactl start-service service-name
efactl restart-service service-name
efactl clean
efactl status
efactl stop-service service-name
efactl db-status
efactl rabbit-status

Examples

The following example starts all services.

# efactl start
Are you sure you want to start all services? [Y/n]
Y
gosystem-service has been started
goauth-service has been started
gorbac-service has been started
godb-service has been started
gonotification-service has been started
goinventory-service has been started
gofabric-service has been started
gotenant-service has been started
goopenstack-service has been started
gohyperv-service has been started
govcenter-service has been started
goswitch-service has been started
goraslog-service has been started
efa-api-docs has been started
rabbitmq has been started
Services have been started

The following example stops all services.

# efactl stop
Are you sure you want to stop all services? [Y/n]
Y
gosystem-service has been stopped
goauth-service has been stopped
gorbac-service has been stopped
godb-service has been stopped
gonotification-service has been stopped
goinventory-service has been stopped
gofabric-service has been stopped
gotenant-service has been stopped
goopenstack-service has been stopped
gohyperv-service has been stopped
govcenter-service has been stopped
goswitch-service has been stopped
goraslog-service has been stopped
efa-api-docs has been stopped
rabbitmq has been stopped
Services have been stopped
root@administrator-08:~#

The following example restarts all services.

efactl restart
Are you sure you want to restart all services? [Y/n]
Y
gosystem-service has been stopped
goauth-service has been stopped
gorbac-service has been stopped
godb-service has been stopped
gonotification-service has been stopped
goinventory-service has been stopped
gofabric-service has been stopped
gotenant-service has been stopped
goopenstack-service has been stopped
gohyperv-service has been stopped
govcenter-service has been stopped
goswitch-service has been stopped
goraslog-service has been stopped
efa-api-docs has been stopped
rabbitmq has been stopped
Services have been stopped
gosystem-service has been started
goauth-service has been started
gorbac-service has been started
godb-service has been started
gonotification-service has been started
goinventory-service has been started
gofabric-service has been started
gotenant-service has been started
goopenstack-service has been started
gohyperv-service has been started
govcenter-service has been started
goswitch-service has been started
goraslog-service has been started
efa-api-docs has been started
rabbitmq has been started
Services have been started
All services have been restarted

The following example starts one service.

# efactl start-service gofabric-service
Are you sure you want to start gofabric-service? [Y/n]
y
gofabric-service has been started

The following example stops one service.

# efactl stop-service gorbac-service
Are you sure you want to stop gorbac-service? [Y/n]
y
gorbac-service has been stopped

The following example restarts one service.

# efactl restart-service rabbitmq
Are you sure you want to restart rabbitmq? [Y/n]
Y
rabbitmq has been stopped
rabbitmq has been started
rabbitmq has been restarted

The following example deletes all logs.

# efactl clean
This will delete all logs.  Are you sure [Y/n]?
Y
Cleaning efa Logs...
Cleaned logs

The following example shows XCO status.

(efa:extreme)extreme@tpvm:~$ efactl status
NAME    STATUS   ROLES    AGE   VERSION        LABELS
tpvm    Ready    primary   50m   v1.18.6+k3s1   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,keepalived=active,kubernetes.io/arch=amd64,kubernetes.io/hostname=tpvm,kubernetes.io/os=linux,node-role.kubernetes.io/primary=true
tpvm2   Ready    primary   50m   v1.18.6+k3s1   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,keepalived=standby,kubernetes.io/arch=amd64,kubernetes.io/hostname=tpvm2,kubernetes.io/os=linux,node-role.kubernetes.io/primary=true
NAME                                         READY   STATUS     RESTARTS   AGE   IP              NODE    NOMINATED NODE   READINESS GATES
pod/gofabric-service-cb547d7db-lk6r9         0/1     Init:0/2   0          45m   10.42.2.8       tpvm2   <none>           <none>
pod/gonotification-service-ffccd5bf6-wl96v   0/1     Init:0/2   0          45m   10.20.255.114   tpvm2   <none>           <none>
pod/goauth-service-5fdd67574-g6jw5           0/1     Init:0/2   0          45m   10.42.2.9       tpvm2   <none>           <none>
pod/gotenant-service-7db6648b97-rvft9        0/1     Init:0/3   0          45m   10.42.2.10      tpvm2   <none>           <none>
pod/efa-api-docs-5886cb6fb4-vnq8x            1/1     Running    0          45m   10.42.2.12      tpvm2   <none>           <none>
pod/efa-api-docs-5886cb6fb4-h7lrb            1/1     Running    0          45m   10.42.0.11      tpvm    <none>           <none>
pod/gosnmp-service-56dc6c46c8-hd8nk          0/1     Init:0/1   0          45m   10.20.255.114   tpvm2   <none>           <none>
pod/goopenstack-service-798b445769-sgdc6     0/1     Init:0/2   0          45m   10.42.2.13      tpvm2   <none>           <none>
pod/goinventory-service-5c7f7b57c4-txr9m     0/1     Init:0/2   0          45m   10.42.2.14      tpvm2   <none>           <none>
pod/gosnmp-service-56dc6c46c8-vbtbv          1/1     Running    0          45m   10.20.255.230   tpvm    <none>           <none>
pod/govcenter-service-6ff99bf8b8-dx2dk       0/1     Init:0/2   0          45m   10.42.2.15      tpvm2   <none>           <none>
pod/goopenstack-service-798b445769-v7dzr     1/1     Running    0          45m   10.42.0.13      tpvm    <none>           <none>
pod/gohyperv-service-7f8d87d55-xspkg         0/1     Init:0/2   0          45m   10.42.2.16      tpvm2   <none>           <none>
pod/gosystem-service-67767c4796-n7rc4        1/1     Running    0          45m   10.20.255.114   tpvm2   <none>           <none>
pod/gosystem-service-67767c4796-l4w4m        1/1     Running    0          45m   10.20.255.230   tpvm    <none>           <none>
pod/rabbitmq-0                               1/1     Running    0          46m   10.42.0.6       tpvm    <none>           <none>
pod/gorbac-service-69c665497b-bdlkh          0/1     Init:1/2   0          45m   10.42.2.11      tpvm2   <none>           <none>
pod/goauth-service-5fdd67574-5h4rx           1/1     Running    0          45m   10.42.0.9       tpvm    <none>           <none>
pod/gorbac-service-69c665497b-slkr2          1/1     Running    0          45m   10.42.0.10      tpvm    <none>           <none>
pod/goinventory-service-5c7f7b57c4-68b7w     1/1     Running    0          45m   10.42.0.12      tpvm    <none>           <none>
pod/gonotification-service-ffccd5bf6-755ld   1/1     Running    0          45m   10.20.255.230   tpvm    <none>           <none>
pod/goraslog-service-6d89f667bd-6d46n        1/1     Running    0          45m   10.20.255.114   tpvm2   <none>           <none>
pod/gofabric-service-cb547d7db-nntlb         1/1     Running    0          45m   10.42.0.7       tpvm    <none>           <none>
pod/gotenant-service-7db6648b97-6wdht        1/1     Running    0          45m   10.42.0.8       tpvm    <none>           <none>
pod/goraslog-service-6d89f667bd-jgkwk        1/1     Running    0          45m   10.20.255.230   tpvm    <none>           <none>
pod/rabbitmq-1                               1/1     Running    0          43m   10.42.2.17      tpvm2   <none>           <none>
pod/govcenter-service-6ff99bf8b8-lvm46       1/1     Running    2          45m   10.42.0.14      tpvm    <none>           <none>
pod/gohyperv-service-7f8d87d55-bqzlz         1/1     Running    2          45m   10.42.0.15      tpvm    <none>           <none>

NAME                                  TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                          AGE   SELECTOR
service/rabbitmq                      NodePort    10.43.215.4     <none>        15672:31672/TCP,5672:30672/TCP   46m   app=rabbitmq
service/gofabric-service              ClusterIP   10.43.76.230    <none>        8081/TCP                         46m   app=gofabric-service
service/goinventory-service           ClusterIP   10.43.63.133    <none>        8082/TCP                         46m   app=goinventory-service
service/goinventory-cluster-service   ClusterIP   10.43.55.0      <none>        8082/TCP                         46m   app=goinventory-service
service/gotenant-service              ClusterIP   10.43.51.68     <none>        8083/TCP                         46m   app=gotenant-service
service/efa-api-docs                  ClusterIP   10.43.243.140   <none>        80/TCP                           46m   app=efa-api-docs
service/goraslog-service              ClusterIP   10.43.207.123   <none>        8091/TCP                         46m   app=goraslog-service
service/gosnmp-service                ClusterIP   10.43.122.218   <none>        8092/TCP                         46m   app=gosnmp-service
service/gonotification-service        ClusterIP   10.43.95.30     <none>        8088/TCP                         46m   app=gonotification-service
service/goauth-service                ClusterIP   10.43.106.23    <none>        8080/TCP                         46m   app=goauth-service
service/gorbac-service                ClusterIP   10.43.10.15     <none>        8089/TCP                         46m   app=gorbac-service
service/goopenstack-service           ClusterIP   10.43.91.98     <none>        8085/TCP                         45m   app=goopenstack-service
service/govcenter-service             ClusterIP   10.43.25.206    <none>        8086/TCP                         45m   app=govcenter-service
service/gohyperv-service              ClusterIP   10.43.44.224    <none>        8087/TCP                         45m   app=gohyperv-service
service/gosystem-service              ClusterIP   10.43.210.54    <none>        8090/TCP                         45m   app=gosystem-service

NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS               IMAGES                 SELECTOR
deployment.apps/efa-api-docs             2/2     2            2           46m   efa-api-docs             efa-api-docs:2.4.0     app=efa-api-docs
deployment.apps/gosystem-service         2/2     2            2           45m   gosystem                 gosystem:2.4.0         app=gosystem-service
deployment.apps/goraslog-service         2/2     2            2           45m   goraslog-service         goraslog:2.4.0         app=goraslog-service
deployment.apps/gosnmp-service           1/2     2            1           45m   gosnmp-service           gosnmp:2.4.0           app=gosnmp-service
deployment.apps/goopenstack-service      1/2     2            1           45m   openstack                goopenstack:2.4.0      app=goopenstack-service
deployment.apps/goauth-service           1/2     2            1           46m   go-auth                  goauth:2.4.0           app=goauth-service
deployment.apps/gorbac-service           1/2     2            1           46m   go-rbac                  gorbac:2.4.0           app=gorbac-service
deployment.apps/goinventory-service      1/2     2            1           46m   goinventory-service      goinventory:2.4.0      app=goinventory-service
deployment.apps/gonotification-service   1/2     2            1           46m   gonotification-service   gonotification:2.4.0   app=gonotification-service
deployment.apps/gofabric-service         1/2     2            1           46m   gofabric-service         gofabric:2.4.0         app=gofabric-service
deployment.apps/gotenant-service         1/2     2            1           46m   gotenant-service         gotenant:2.4.0         app=gotenant-service
deployment.apps/govcenter-service        1/2     2            1           45m   vcenter                  govcenter:2.4.0        app=govcenter-service
deployment.apps/gohyperv-service         1/2     2            1           45m   hyperv                   gohyperv:2.4.0         app=gohyperv-service

NAME                                               DESIRED   CURRENT   READY   AGE   CONTAINERS               IMAGES                 SELECTOR
replicaset.apps/efa-api-docs-5886cb6fb4            2         2         2       45m   efa-api-docs             efa-api-docs:2.4.0     app=efa-api-docs,pod-template-hash=5886cb6fb4
replicaset.apps/gosnmp-service-56dc6c46c8          2         2         1       45m   gosnmp-service           gosnmp:2.4.0           app=gosnmp-service,pod-template-hash=56dc6c46c8
replicaset.apps/goopenstack-service-798b445769     2         2         1       45m   openstack                goopenstack:2.4.0      app=goopenstack-service,pod-template-hash=798b445769
replicaset.apps/gosystem-service-67767c4796        2         2         2       45m   gosystem                 gosystem:2.4.0         app=gosystem-service,pod-template-hash=67767c4796
replicaset.apps/goauth-service-5fdd67574           2         2         1       46m   go-auth                  goauth:2.4.0           app=goauth-service,pod-template-hash=5fdd67574
replicaset.apps/gorbac-service-69c665497b          2         2         1       45m   go-rbac                  gorbac:2.4.0           app=gorbac-service,pod-template-hash=69c665497b
replicaset.apps/goinventory-service-5c7f7b57c4     2         2         1       46m   goinventory-service      goinventory:2.4.0      app=goinventory-service,pod-template-hash=5c7f7b57c4
replicaset.apps/gonotification-service-ffccd5bf6   2         2         1       46m   gonotification-service   gonotification:2.4.0   app=gonotification-service,pod-template-hash=ffccd5bf6
replicaset.apps/gofabric-service-cb547d7db         2         2         1       46m   gofabric-service         gofabric:2.4.0         app=gofabric-service,pod-template-hash=cb547d7db
replicaset.apps/gotenant-service-7db6648b97        2         2         1       46m   gotenant-service         gotenant:2.4.0         app=gotenant-service,pod-template-hash=7db6648b97
replicaset.apps/goraslog-service-6d89f667bd        2         2         2       45m   goraslog-service         goraslog:2.4.0         app=goraslog-service,pod-template-hash=6d89f667bd
replicaset.apps/govcenter-service-6ff99bf8b8       2         2         1       45m   vcenter                  govcenter:2.4.0        app=govcenter-service,pod-template-hash=6ff99bf8b8
replicaset.apps/gohyperv-service-7f8d87d55         2         2         1       45m   hyperv                   gohyperv:2.4.0         app=gohyperv-service,pod-template-hash=7f8d87d55

NAME                        READY   AGE   CONTAINERS      IMAGES
statefulset.apps/rabbitmq   2/2     46m   rabbitmq-node   rabbitmq:2.4.0
(efa:extreme)extreme@tpvm:~$ 

The following example shows XCO db-status.

$ efactl db-status
● mariadb.service - MariaDB 10.4.17 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─migrated-from-my.cnf-settings.conf
   Active: active (running) since Thu 2022-04-28 09:37:31 PDT; 5h 50min ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 5355 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 5349 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 4730 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $?
  Process: 4719 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 4717 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 4992 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 36 (limit: 4630)
   CGroup: /system.slice/mariadb.service
           └─4992 /usr/sbin/mysqld --wsrep_start_position=cd3b7a5b-c670-11ec-9dbc-2e615cfda7d0:2502

Apr 28 09:37:24 tpvm2 systemd[1]: Starting MariaDB 10.4.17 database server...
Apr 28 09:37:27 tpvm2 mysqld[4730]: WSREP: Recovered position cd3b7a5b-c670-11ec-9dbc-2e615cfda7d0:2502
Apr 28 09:37:27 tpvm2 mysqld[4992]: 2022-04-28  9:37:27 0 [Note] /usr/sbin/mysqld (mysqld 10.4.17-MariaDB-1:10.4.17+maria~bionic) starting
Apr 28 09:37:28 tpvm2 -wsrep-sst-joiner[5248]: Streaming with xbstream
Apr 28 09:37:28 tpvm2 -wsrep-sst-joiner[5293]: Evaluating timeout -k 310 300 socat -u TCP-LISTEN:4444,reuseaddr stdio | mbstream -x; RC=( $
Apr 28 09:37:31 tpvm2 -wsrep-sst-joiner[5312]: Removing the sst_in_progress file
Apr 28 09:37:31 tpvm2 systemd[1]: Started MariaDB 10.4.17 database server.
The following example shows XCO rabbit-status.
$ efactl rabbit-status
RABBITMQ_ERLANG_COOKIE env variable support is deprecated and will be REMOVED in a future version. Use the $HOME/.erlang.cookie file or the --erlang-cookie switch instead.
Cluster status of node rabbit@rabbitmq ...
Basics

Cluster name: rabbit@rabbitmq

Disk Nodes

rabbit@rabbitmq

Running Nodes

rabbit@rabbitmq

Versions

rabbit@rabbitmq: RabbitMQ 3.8.14 on Erlang 23.3.2

Maintenance status

Node: rabbit@rabbitmq, status: not under maintenance

Alarms

(none)

Network Partitions

(none)

Listeners

Node: rabbit@rabbitmq, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: rabbit@rabbitmq, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@rabbitmq, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0

Feature flags

Flag: drop_unroutable_metric, state: enabled
Flag: empty_basic_get_metric, state: enabled
Flag: implicit_default_bindings, state: enabled
Flag: maintenance_mode_status, state: enabled
Flag: quorum_queue, state: enabled
Flag: user_limits, state: enabled
Flag: virtual_host_metadata, state: enabled
extreme@tpvm2:~$ efactl db-status
● mariadb.service - MariaDB 10.4.17 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─migrated-from-my.cnf-settings.conf
   Active: active (running) since Thu 2022-04-28 09:37:31 PDT; 5h 43min ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 5355 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 5349 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 4730 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $?
  Process: 4719 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 4717 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 4992 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 36 (limit: 4630)
   CGroup: /system.slice/mariadb.service
           └─4992 /usr/sbin/mysqld --wsrep_start_position=cd3b7a5b-c670-11ec-9dbc-2e615cfda7d0:2502

Apr 28 09:37:24 tpvm2 systemd[1]: Starting MariaDB 10.4.17 database server...
Apr 28 09:37:27 tpvm2 mysqld[4730]: WSREP: Recovered position cd3b7a5b-c670-11ec-9dbc-2e615cfda7d0:2502
Apr 28 09:37:27 tpvm2 mysqld[4992]: 2022-04-28  9:37:27 0 [Note] /usr/sbin/mysqld (mysqld 10.4.17-MariaDB-1:10.4.17+maria~bionic) starting
Apr 28 09:37:28 tpvm2 -wsrep-sst-joiner[5248]: Streaming with xbstream
Apr 28 09:37:28 tpvm2 -wsrep-sst-joiner[5293]: Evaluating timeout -k 310 300 socat -u TCP-LISTEN:4444,reuseaddr stdio | mbstream -x; RC=( $
Apr 28 09:37:31 tpvm2 -wsrep-sst-joiner[5312]: Removing the sst_in_progress file
Apr 28 09:37:31 tpvm2 systemd[1]: Started MariaDB 10.4.17 database server.