#!/bin/bash
set -eux

# Set mysql server_id based on instance-id

INSTANCE_ID_FILE="/var/lib/cloud/data/instance-id"
CONF_TARGET="/etc/mysql/conf.d/server_id.cnf"

if [ ! -f $INSTANCE_ID_FILE ] ; then
    exit 0
fi

if [ -f $CONF_TARGET ] ; then
    echo "MySQL Server ID has already been configured"
    exit 0
fi

INSTANCE_ID=$(cat $INSTANCE_ID_FILE)

if [ $INSTANCE_ID = 'nocloud' ]; then
    echo "nocloud, not configuring server-id"
    exit 0
fi

SERVER_ID=$(python -c "import hashlib; h = hashlib.sha1(); h.update('${INSTANCE_ID}'); print(int(h.hexdigest(), 16) % (2 ** 32 - 1))")

cat > $CONF_TARGET <<EOF
# Generated by os-refresh-config on $(date)
# From $INSTANCE_ID_FILE ${INSTANCE_ID}
[mysqld]
server_id = $SERVER_ID
EOF
