Skip to content

CloudHub 서비스 파일 수정: 서비스 재시작 관련 옵션 값 수정 #452

Open
@jaegeunha

Description

CloudHub Service 파일 수정

문제

  • ch-collector로 설정한 장비가 늦게 올라올 경우 CloudHub 서비스가 정상적으로 시작되지 않는 문제
    위 문제는 osp on의 경우 collector 서버가 동작하지 않는 경우에만 발생합니다.
-u=osp:on \
-k=osp:ch-collector-1 \

CloudHub Service File (Before)

# If you modify this, please also make sure to edit init.sh

[Unit]
After=network-online.target

[Service]
User=root
Group=root
Environment="HOST=0.0.0.0"
Environment="PORT=8888"
#Environment="PORT=443"
Environment="TLS_CERTIFICATE=/usr/lib/cloudhub/key/cloudhub_self_signed.pem"
Environment="ETCD_ENDPOINTS=cmp-db:2382"
Environment="CANNED_PATH=/usr/share/cloudhub/cloudhub-canned"
Environment="PROTOBOARDS_PATH=/usr/share/cloudhub/cloudhub-protoboards"
EnvironmentFile=-/etc/default/cloudhub
ExecStart=/usr/bin/cloudhub $CLOUDHUB_OPTS
KillMode=control-group
Restart=on-failure

[Install]
WantedBy=multi-user.target

CloudHub Service File (방법 1)

[Unit]
After=network-online.target

[Service]
User=root
Group=root
Environment="HOST=0.0.0.0"
Environment="PORT=8888"
#Environment="PORT=443"
Environment="TLS_CERTIFICATE=/usr/lib/cloudhub/key/cloudhub_self_signed.pem"
Environment="ETCD_ENDPOINTS=cmp-web-1:2379,cmp-web-2:2379,cmp-web-3:2379"
Environment="CANNED_PATH=/usr/share/cloudhub/cloudhub-canned"
Environment="PROTOBOARDS_PATH=/usr/share/cloudhub/cloudhub-protoboards"
EnvironmentFile=-/etc/default/cloudhub
ExecStart=/usr/bin/cloudhub $CLOUDHUB_OPTS
KillMode=control-group
Restart=on-failure
+// RestartSec=5
+// StartLimitIntervalSec=90
+// StartLimitBurst=5

[Install]
WantedBy=multi-user.target
  • StartLimitIntervalSec: 이 시간 간격(초 단위) 내에서 재시작 시도 횟수를 추적
  • StartLimitBurst: StartLimitIntervalSec 기간 동안 허용되는 최대 재시작 횟수
  • RestartSec 지시어를 사용하여 재시작 사이의 지연 시간을 설정

CloudHub Service File (방법 2)

[Unit]
After=network-online.target

[Service]
User=root
Group=root
Environment="HOST=0.0.0.0"
Environment="PORT=8888"
#Environment="PORT=443"
Environment="TLS_CERTIFICATE=/usr/lib/cloudhub/key/cloudhub_self_signed.pem"
Environment="ETCD_ENDPOINTS=cmp-web-1:2379,cmp-web-2:2379,cmp-web-3:2379"
Environment="CANNED_PATH=/usr/share/cloudhub/cloudhub-canned"
Environment="PROTOBOARDS_PATH=/usr/share/cloudhub/cloudhub-protoboards"
EnvironmentFile=-/etc/default/cloudhub
ExecStart=/usr/bin/cloudhub $CLOUDHUB_OPTS
KillMode=control-group
Restart=on-failure
+// ExecStartPre=/bin/bash -c 'if ! /usr/bin/curl -s http://10.20.2.53:8000/run | grep -q "\"Welcome\""; then echo "API check failed: ch-collector server is not active. Please check the status of the collector server." >&2; exit 1; fi'
+// RestartSec=10


[Install]
WantedBy=multi-user.target
  • StartLimitIntervalSec: systemd 서비스 파일에서 사용되는 설정으로, 서비스가 시작되기 전에 실행할 명령어 또는 스크립트를 지정하는 데 사용됩니다. 이 명령어는 본 서비스(ExecStart)가 실행되기 전에 선행 작업을 처리할 수 있게 합니다. 만약 ExecStartPre 명령이 실패하면, 본 서비스는 실행되지 않으며, 설정에 따라 서비스가 중단되거나 재시작할 수 있습니다.
  • RestartSec 지시어를 사용하여 재시작 사이의 지연 시간을 설정

Metadata

Projects

  • Status

    In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions