PR
スポンサーリンク

[Nutanix]ncliコマンドの中身をAIに調べてもらった

スポンサーリンク
Nutanix
Nutanix logo
記事内に広告が含まれています。
スポンサーリンク
スポンサーリンク

はじめに

よく利用するコマンドについてAIのお力を借りて調査してみた備忘録です。

ncliコマンド

CVMから各種操作をするためのコマンドです。パスは以下の通りです。

nutanix@NTNX-HOME-A-CVM:192.168.3.112:~$ which ncli
~/prism/cli/ncli

※~は/home/nutaix

catで確認

シェルスクリプトでJavaを使用していました。ncliのコマンドレットでjava1.8.0以上の要件があるのはこのせいでした。

#!/bin/bash
#
# Copyright (c) 2010-2015 Nutanix Inc. All rights reserved.
#
# Wrapper script for Nutanix CLI

cd `dirname $0`
SCRIPT_DIR=`pwd -P`
CLI_JAR=$SCRIPT_DIR/prism_cli.jar
NCLI_LOG_DIR=$HOME/data/logs

if [ ! -d $NCLI_LOG_DIR ]; then
mkdir -p $NCLI_LOG_DIR
echo "$NCLI_LOG_DIR" directory created!
fi

which java &> /dev/null

if [ $? != 0 ]; then
echo "java not installed"
exit $?
fi

# Check Java version, for some reason java -version outputs to STDERR...
JAVA_VERSION=`java -version 2>&1 | grep -i "java\|openjdk version"`
JAVA_8=`echo "$JAVA_VERSION" | grep -c "1.8.0"`
if [ $JAVA_8 -gt 0 ]; then
JAVA_CMD=java
elif [ -f /usr/lib/jvm/jre-1.8.0/bin/java ]; then
JAVA_CMD=/usr/lib/jvm/jre-1.8.0/bin/java
else
echo "System default is $JAVA_VERSION"
echo "but java 8 is required to run ncli"
exit 1;
fi

$JAVA_CMD -ea -Dscan.packages="com.nutanix.prism" -Dcom.redhat.fips=false -Xmx100M -Dlog4j.configurationFile=${SCRIPT_DIR}/conf/log4j2.xml -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="${HOME}/data/cores/ncli_$$_$(date +%s).hprof" -DCLI_COMMANDLINE_ARG0="${0##*/}" -jar $CLI_JAR "$@" 2> $NCLI_LOG_DIR/ncli.err
NCLI_RET_VAL=$?

CURRENT_STATE=`ps -p $$ -o stat | sed 1D`

# S+ -> Running in Foreground, SS -> running in Background.
if [ $CURRENT_STATE == "S+" ]; then
stty 2> /dev/null | grep "\\-echo" &> /dev/null
if [ $? == 0 ]; then
# Reset echo when missing to cleanup current shell.
stty echo
fi
fi

exit $NCLI_RET_VAL

Copilotに聞いてみた

あくまでも参考程度でお願いします。

コメント

タイトルとURLをコピーしました