#!/bin/bash

# Copyright (c) 2015-2016 by Cisco Systems, Inc.

# Provides app hosting functions

. /etc/init.d/functions

OPERNS="/etc/netns/global-vrf"

if [[ -f /etc/rc.d/init.d/spirit_log.sh ]]; then
    source /etc/rc.d/init.d/spirit_log.sh
fi

if [[ -f /etc/init.d/app_volume_config.conf ]]; then
    source /etc/init.d/app_volume_config.conf
fi

# Create user scratch space in app_host volume

function create_user_scratch_space()
{
    platform_log "Creating ${SCRATCH_DIR_PATH}"
    $PLATFORM_LOG_EXEC mkdir -p "${SCRATCH_DIR_PATH}"
    # Let any users in the sudoers group have write access to this dir
    $PLATFORM_LOG_EXEC chgrp sudo "${SCRATCH_DIR_PATH}"
    $PLATFORM_LOG_EXEC chmod 775 "${SCRATCH_DIR_PATH}"
}

# Create namespace specific resolv.conf,hosts for global-vrf

function create_global_vrf_dirs()
{
    platform_log "Creating ${OPERNS}"
    $PLATFORM_LOG_EXEC mkdir -p ${OPERNS}
    $PLATFORM_LOG_EXEC touch /etc/resolv.conf
    $PLATFORM_LOG_EXEC touch ${OPERNS}/resolv.conf
    $PLATFORM_LOG_EXEC cp /etc/hosts ${OPERNS}/hosts
}

# Create staging directory to be shared with the XR lxc

function create_inotify_staging_dir()
{
    local TP_LV_DIR_PATH=$1

    platform_log "Creating ${TP_LV_DIR_PATH}${OPERNS}"
    $PLATFORM_LOG_EXEC mkdir -p ${TP_LV_DIR_PATH}${OPERNS}
    $PLATFORM_LOG_EXEC touch ${TP_LV_DIR_PATH}${OPERNS}/resolv.conf
    $PLATFORM_LOG_EXEC cp /etc/hosts ${TP_LV_DIR_PATH}${OPERNS}/hosts

    platform_log "Creating ${TP_LV_DIR_PATH}/etc/sysconfig"
    $PLATFORM_LOG_EXEC mkdir -p ${TP_LV_DIR_PATH}/etc/sysconfig

    platform_log "Creating ${TP_LV_DIR_PATH}/etc/docker/certs.d"
    $PLATFORM_LOG_EXEC mkdir -p ${TP_LV_DIR_PATH}/etc/docker/certs.d
}

# Create per network namespace resolv.conf in XR LXC

function create_global_vrf_dirs_xr()
{
    local XR_PATH=$1

    platform_log "Creating ${XR_PATH}${OPERNS}"
    $PLATFORM_LOG_EXEC mkdir -p  ${XR_PATH}${OPERNS}
    $PLATFORM_LOG_EXEC touch ${XR_PATH}${OPERNS}/resolv.conf
    $PLATFORM_LOG_EXEC cp /etc/hosts  ${XR_PATH}${OPERNS}/hosts
    $PLATFORM_LOG_EXEC touch  ${XR_PATH}/etc/resolv.conf
    $PLATFORM_LOG_EXEC cp /etc/hosts ${XR_PATH}/etc/hosts
}
