#!/bin/bash

# Copyright (C) 2016 NIWA Hideyuki

LIBDIR="/var/lib/fulcon/"

NAME=$1
IMAGE=$2

CPUSET=`cat /sys/fs/cgroup/cpuset/cpuset.cpus`
OPTCPUSET=`docker run --help | egrep '\-\-cpuset' | egrep -v mem | awk '{print $1}' | awk -F '=' '{print $1}'`
OPTCPUSHARE=`docker run --help | egrep '\-\-cpu-shares'`
if [ $? -eq 0 ]; then
	OPTCPUSHARE="--cpu-shares"
else
	OPTCPUSHARE="-c"
fi

start_docker() {
	docker create  ${OPTCPUSET}=${CPUSET} ${OPTCPUSHARE} 100 -m 512m \
	--name $NAME --hostname $NAME \
	-v /sys/fs/cgroup:/sys/fs/cgroup:ro \
	--privileged \
	-e TERM=vt100 \
	$IMAGE /sbin/init
	RT=$?
	if [ $RT -eq 0 ]; then
		mkdir -p $LIBDIR/container/$NAME/resource
		echo $IMAGE >  $LIBDIR/container/$NAME/imagename
		echo $CPUSET > $LIBDIR/container/$NAME/resource/cpuset
		echo "100000" > $LIBDIR/container/$NAME/resource/cpu
		echo "512m" > $LIBDIR/container/$NAME/resource/mem
	fi
	return $RT
}

MSG=`start_docker 2>&1`
if [ $? -eq 0 ]; then
	stty sane;
	echo $NAME;
else
	stty sane;
	echo "error: can't sysgened" $NAME
	echo $MSG
fi

exit 0
