Run etcd as a service in fedora (systemd)
Change-Id: I53a720bcc40c6caf3d4d94d4240bfaa1684d9d65
This commit is contained in:
parent
21f048cd18
commit
f12cb0b606
15
devstack/etcd.service
Normal file
15
devstack/etcd.service
Normal file
@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Etcd Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
WorkingDirectory=/var/lib/etcd/
|
||||
EnvironmentFile=-/etc/etcd/etcd.conf
|
||||
#User=etcd
|
||||
ExecStart=/usr/local/bin/etcd
|
||||
Restart=on-failure
|
||||
LimitNOFILE=65536
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
41
devstack/etcd.service.conf
Normal file
41
devstack/etcd.service.conf
Normal file
@ -0,0 +1,41 @@
|
||||
# [member]
|
||||
#ETCD_NAME=default
|
||||
#ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
|
||||
#ETCD_SNAPSHOT_COUNTER="10000"
|
||||
#ETCD_HEARTBEAT_INTERVAL="100"
|
||||
#ETCD_ELECTION_TIMEOUT="1000"
|
||||
#ETCD_LISTEN_PEER_URLS="http://localhost:2380"
|
||||
#ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"
|
||||
#ETCD_MAX_SNAPSHOTS="5"
|
||||
#ETCD_MAX_WALS="5"
|
||||
#ETCD_CORS=""
|
||||
#
|
||||
#[cluster]
|
||||
#ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380"
|
||||
# if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."
|
||||
#ETCD_INITIAL_CLUSTER="default=http://localhost:2380"
|
||||
#ETCD_INITIAL_CLUSTER_STATE="new"
|
||||
#ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
|
||||
#ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
|
||||
#ETCD_DISCOVERY=""
|
||||
#ETCD_DISCOVERY_SRV=""
|
||||
#ETCD_DISCOVERY_FALLBACK="proxy"
|
||||
#ETCD_DISCOVERY_PROXY=""
|
||||
#
|
||||
#[proxy]
|
||||
#ETCD_PROXY="off"
|
||||
#
|
||||
#[security]
|
||||
#ETCD_CERT_FILE=""
|
||||
#ETCD_KEY_FILE=""
|
||||
#ETCD_CLIENT_CERT_AUTH="false"
|
||||
#ETCD_TRUSTED_CA_FILE=""
|
||||
#ETCD_PEER_CERT_FILE=""
|
||||
#ETCD_PEER_KEY_FILE=""
|
||||
#ETCD_PEER_CLIENT_CERT_AUTH="false"
|
||||
#ETCD_PEER_TRUSTED_CA_FILE=""
|
||||
#
|
||||
#[logging]
|
||||
#ETCD_DEBUG="false"
|
||||
# examples for -log-package-levels etcdserver=WARNING,security=DEBUG
|
||||
#ETCD_LOG_PACKAGE_LEVELS=""
|
@ -11,8 +11,35 @@
|
||||
|
||||
ETCD_VERSION=v2.2.2
|
||||
|
||||
function configure_etcd_systemd_service {
|
||||
ETCD_CONF_DIR=/etc/etcd
|
||||
ETCD_CONF=$ETCD_CONF_DIR/etcd.conf
|
||||
ETCD_DATA_DIR="/var/lib/etcd"
|
||||
# Delete any existing etcd database:
|
||||
sudo rm -rf $ETCD_DATA_DIR
|
||||
sudo mkdir -p $ETCD_DATA_DIR
|
||||
|
||||
sudo rm -rf $ETCD_CONF_DIR
|
||||
sudo install -d -o $STACK_USER $ETCD_CONF_DIR
|
||||
cp $DEST/dragonflow/devstack/etcd.service.conf $ETCD_CONF
|
||||
|
||||
iniset $ETCD_CONF DEFAULT ETCD_INITIAL_CLUSTER "$HOSTNAME=http://$REMOTE_DB_IP:2380"
|
||||
iniset $ETCD_CONF DEFAULT ETCD_INITIAL_CLUSTER_STATE "new"
|
||||
iniset $ETCD_CONF DEFAULT ETCD_INITIAL_CLUSTER_TOKEN "etcd-cluster-01"
|
||||
iniset $ETCD_CONF DEFAULT ETCD_INITIAL_ADVERTISE_PEER_URLS "http://$REMOTE_DB_IP:2380"
|
||||
iniset $ETCD_CONF DEFAULT ETCD_DATA_DIR "$ETCD_DATA_DIR"
|
||||
iniset $ETCD_CONF DEFAULT ETCD_LISTEN_PEER_URLS "http://0.0.0.0:2380"
|
||||
iniset $ETCD_CONF DEFAULT ETCD_LISTEN_CLIENT_URLS "http://$REMOTE_DB_IP:4001"
|
||||
iniset $ETCD_CONF DEFAULT ETCD_ADVERTISE_CLIENT_URLS "http://$REMOTE_DB_IP:4001"
|
||||
iniset $ETCD_CONF DEFAULT ETCD_NAME "$HOSTNAME"
|
||||
|
||||
sudo cp $DEST/dragonflow/devstack/etcd.service /lib/systemd/system/
|
||||
sudo systemctl enable etcd
|
||||
}
|
||||
|
||||
function configure_etcd {
|
||||
|
||||
sudo cp $DEST/dragonflow/devstack/etcd.conf /etc/init/etcd.conf
|
||||
# Delete any existing etcd database:
|
||||
sudo rm -rf /var/etcd
|
||||
|
||||
@ -43,9 +70,13 @@ function nb_db_driver_install_server {
|
||||
wget https://github.com/coreos/etcd/releases/download/$ETCD_VERSION/etcd-$ETCD_VERSION-linux-amd64.tar.gz -O $DEST/etcd/etcd-$ETCD_VERSION-linux-amd64.tar.gz
|
||||
tar xzvf $DEST/etcd/etcd-$ETCD_VERSION-linux-amd64.tar.gz -C $DEST/etcd
|
||||
sudo cp $DEST/etcd/etcd-$ETCD_VERSION-linux-amd64/etcd /usr/local/bin/etcd
|
||||
sudo cp $DEST/dragonflow/devstack/etcd.conf /etc/init/etcd.conf
|
||||
fi
|
||||
|
||||
if is_ubuntu; then
|
||||
configure_etcd
|
||||
elif is_fedora; then
|
||||
configure_etcd_systemd_service
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@ -64,13 +95,21 @@ function nb_db_driver_status_server
|
||||
|
||||
function nb_db_driver_start_server {
|
||||
if is_service_enabled df-etcd-server ; then
|
||||
if is_ubuntu; then
|
||||
sudo initctl start etcd
|
||||
elif is_fedora; then
|
||||
sudo systemctl start etcd
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function nb_db_driver_stop_server {
|
||||
if is_service_enabled df-etcd-server ; then
|
||||
if is_ubuntu; then
|
||||
sudo initctl stop etcd
|
||||
elif is_fedora; then
|
||||
sudo systemctl stop etcd
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user