You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-05 16:15:50 +03:00
fix use of the amazon keys
This commit is contained in:
@@ -109,9 +109,11 @@ export PATH=$path
|
|||||||
export EC2_HOME=$ec2
|
export EC2_HOME=$ec2
|
||||||
export JAVA_HOME=$java
|
export JAVA_HOME=$java
|
||||||
|
|
||||||
# get x509 Certification and Private Key and region
|
# get Keys and region
|
||||||
x509Cert=`$prefix/Calpont/bin/getConfig Installation AmazonX509Certificate`
|
AmazonAccessKey=`$prefix/Calpont/bin/getConfig Installation AmazonAccessKey`
|
||||||
x509PriKey=`$prefix/Calpont/bin/getConfig Installation AmazonX509PrivateKey`
|
AmazonSecretKey=`$prefix/Calpont/bin/getConfig Installation AmazonSecretKey`
|
||||||
|
AmazonAccessKey=`cat $AmazonAccessKeyFile`
|
||||||
|
AmazonSecretKey=`cat $AmazonSecretKeyFile`
|
||||||
Region=`$prefix/Calpont/bin/getConfig Installation AmazonRegion`
|
Region=`$prefix/Calpont/bin/getConfig Installation AmazonRegion`
|
||||||
subnet=`$prefix/Calpont/bin/getConfig Installation AmazonSubNetID`
|
subnet=`$prefix/Calpont/bin/getConfig Installation AmazonSubNetID`
|
||||||
|
|
||||||
@@ -132,7 +134,7 @@ describeInstanceFile="/tmp/describeInstance.txt"
|
|||||||
touch $describeInstanceFile
|
touch $describeInstanceFile
|
||||||
|
|
||||||
describeInstance() {
|
describeInstance() {
|
||||||
ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region > $describeInstanceFile 2>&1
|
ec2-describe-instances -O $AmazonAccessKey -W $xAmazonSecretKey --region $Region > $describeInstanceFile 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
getInstance() {
|
getInstance() {
|
||||||
@@ -145,8 +147,6 @@ getInstance() {
|
|||||||
localIP=`ifconfig eth0 | grep "inet addr:" | awk '{print substr($2,6,20)}'`
|
localIP=`ifconfig eth0 | grep "inet addr:" | awk '{print substr($2,6,20)}'`
|
||||||
|
|
||||||
#get local Instance ID
|
#get local Instance ID
|
||||||
# instance=`ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region | grep -m 1 $localIP | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
|
||||||
|
|
||||||
instance=`cat $describeInstanceFile | grep -m 1 $localIP | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
instance=`cat $describeInstanceFile | grep -m 1 $localIP | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
||||||
if [ "$instance" == "" ]; then
|
if [ "$instance" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -167,8 +167,6 @@ getInstancePrivate() {
|
|||||||
localIP=`ifconfig eth0 | grep "inet addr:" | awk '{print substr($2,6,20)}'`
|
localIP=`ifconfig eth0 | grep "inet addr:" | awk '{print substr($2,6,20)}'`
|
||||||
|
|
||||||
#get local Instance ID
|
#get local Instance ID
|
||||||
# instance=`ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region | grep -m 1 $localIP | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
|
||||||
|
|
||||||
instance=`cat $describeInstanceFile | grep -m 1 $localIP | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
instance=`cat $describeInstanceFile | grep -m 1 $localIP | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
||||||
if [ "$instance" == "" ]; then
|
if [ "$instance" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -188,8 +186,6 @@ getZone() {
|
|||||||
getInstancePrivate >/dev/null 2>&1
|
getInstancePrivate >/dev/null 2>&1
|
||||||
#get zone
|
#get zone
|
||||||
if [ "$subnet" == "unassigned" ]; then
|
if [ "$subnet" == "unassigned" ]; then
|
||||||
# zone=`ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $11}'`
|
|
||||||
|
|
||||||
zone=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $11}'`
|
zone=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $11}'`
|
||||||
if [ "$zone" == "" ]; then
|
if [ "$zone" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -197,8 +193,6 @@ getZone() {
|
|||||||
zone=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $11}'`
|
zone=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $11}'`
|
||||||
|
|
||||||
else
|
else
|
||||||
# zone=`ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $10}'`
|
|
||||||
|
|
||||||
zone=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $10}'`
|
zone=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $10}'`
|
||||||
if [ "$zone" == "" ]; then
|
if [ "$zone" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -214,8 +208,6 @@ getZone() {
|
|||||||
|
|
||||||
getPrivateIP() {
|
getPrivateIP() {
|
||||||
#get instance info
|
#get instance info
|
||||||
# ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region $instanceName > /tmp/instanceInfo_$instanceName 2>&1
|
|
||||||
|
|
||||||
grep -B1 -A4 -m 1 $instanceName $describeInstanceFile > /tmp/instanceInfo_$instanceName 2>&1
|
grep -B1 -A4 -m 1 $instanceName $describeInstanceFile > /tmp/instanceInfo_$instanceName 2>&1
|
||||||
if [ `cat /tmp/instanceInfo_$instanceName | wc -c` -eq 0 ]; then
|
if [ `cat /tmp/instanceInfo_$instanceName | wc -c` -eq 0 ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -265,8 +257,6 @@ getType() {
|
|||||||
getInstancePrivate >/dev/null 2>&1
|
getInstancePrivate >/dev/null 2>&1
|
||||||
#get Type
|
#get Type
|
||||||
if [ "$subnet" == "unassigned" ]; then
|
if [ "$subnet" == "unassigned" ]; then
|
||||||
# instanceType=`ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $9}'`
|
|
||||||
|
|
||||||
instanceType=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $9}'`
|
instanceType=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $9}'`
|
||||||
if [ "$instanceType" == "" ]; then
|
if [ "$instanceType" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -274,8 +264,6 @@ getType() {
|
|||||||
instanceType=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $9}'`
|
instanceType=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $9}'`
|
||||||
|
|
||||||
else
|
else
|
||||||
# instanceType=`ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $8}'`
|
|
||||||
|
|
||||||
instanceType=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $8}'`
|
instanceType=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $8}'`
|
||||||
if [ "$instanceType" == "" ]; then
|
if [ "$instanceType" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -293,8 +281,6 @@ getKey() {
|
|||||||
getInstancePrivate >/dev/null 2>&1
|
getInstancePrivate >/dev/null 2>&1
|
||||||
#get Key
|
#get Key
|
||||||
if [ "$subnet" == "unassigned" ]; then
|
if [ "$subnet" == "unassigned" ]; then
|
||||||
# key=`ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $7}'`
|
|
||||||
|
|
||||||
key=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $7}'`
|
key=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $7}'`
|
||||||
if [ "$key" == "" ]; then
|
if [ "$key" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -302,8 +288,6 @@ getKey() {
|
|||||||
key=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $7}'`
|
key=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $7}'`
|
||||||
|
|
||||||
else
|
else
|
||||||
# key=`ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $6}'`
|
|
||||||
|
|
||||||
key=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $6}'`
|
key=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $6}'`
|
||||||
if [ "$key" == "" ]; then
|
if [ "$key" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -320,8 +304,6 @@ getAMI() {
|
|||||||
#get local Instance ID
|
#get local Instance ID
|
||||||
getInstancePrivate >/dev/null 2>&1
|
getInstancePrivate >/dev/null 2>&1
|
||||||
#get AMI
|
#get AMI
|
||||||
# ami=`ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $3}'`
|
|
||||||
|
|
||||||
ami=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $3}'`
|
ami=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $3}'`
|
||||||
if [ "$ami" == "" ]; then
|
if [ "$ami" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -337,8 +319,6 @@ getGroup() {
|
|||||||
getInstancePrivate >/dev/null 2>&1
|
getInstancePrivate >/dev/null 2>&1
|
||||||
#get group
|
#get group
|
||||||
if [ "$subnet" == "unassigned" ]; then
|
if [ "$subnet" == "unassigned" ]; then
|
||||||
# group=`ec2-describe-instances -C $x509Cert -K $x509PriKey $instance --region $Region | grep -m 1 RESERVATION | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $4}'`
|
|
||||||
|
|
||||||
group=`grep -B1 -A4 -m 1 $instance $describeInstanceFile | grep -m 1 RESERVATION | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $4}'`
|
group=`grep -B1 -A4 -m 1 $instance $describeInstanceFile | grep -m 1 RESERVATION | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $4}'`
|
||||||
if [ "$group" == "" ]; then
|
if [ "$group" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -348,8 +328,6 @@ getGroup() {
|
|||||||
group=`grep -B1 -A4 -m 1 $instance $describeInstanceFile | grep -m 1 INSTANCE | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $22}'`
|
group=`grep -B1 -A4 -m 1 $instance $describeInstanceFile | grep -m 1 INSTANCE | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $22}'`
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# group=`ec2-describe-instances -C $x509Cert -K $x509PriKey $instance --region $Region | grep -m 1 GROUP | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
|
||||||
|
|
||||||
group=`grep -B1 -A4 -m 1 $instance $describeInstanceFile | grep -m 1 GROUP | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
group=`grep -B1 -A4 -m 1 $instance $describeInstanceFile | grep -m 1 GROUP | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
||||||
if [ "$group" == "" ]; then
|
if [ "$group" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -366,8 +344,6 @@ getProfile() {
|
|||||||
getInstancePrivate >/dev/null 2>&1
|
getInstancePrivate >/dev/null 2>&1
|
||||||
#get Type
|
#get Type
|
||||||
if [ "$subnet" == "unassigned" ]; then
|
if [ "$subnet" == "unassigned" ]; then
|
||||||
# instanceProfile=`ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $23}'`
|
|
||||||
|
|
||||||
instanceProfile=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $23}'`
|
instanceProfile=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $23}'`
|
||||||
if [ "$instanceProfile" == "" ]; then
|
if [ "$instanceProfile" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
@@ -375,8 +351,6 @@ getProfile() {
|
|||||||
instanceProfile=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $23}'`
|
instanceProfile=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $23}'`
|
||||||
|
|
||||||
else
|
else
|
||||||
# instanceProfile=`ec2-describe-instances -C $x509Cert -K $x509PriKey --region $Region | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $21}'`
|
|
||||||
|
|
||||||
instanceProfile=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $21}'`
|
instanceProfile=`cat $describeInstanceFile | grep -m 1 $instance | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $21}'`
|
||||||
if [ "$instanceProfile" == "" ]; then
|
if [ "$instanceProfile" == "" ]; then
|
||||||
describeInstance
|
describeInstance
|
||||||
|
@@ -102,9 +102,12 @@ export PATH=$path
|
|||||||
export EC2_HOME=$ec2
|
export EC2_HOME=$ec2
|
||||||
export JAVA_HOME=$java
|
export JAVA_HOME=$java
|
||||||
|
|
||||||
# get x509 Certification and Private Key
|
# get Keys
|
||||||
x509Cert=`$prefix/Calpont/bin/getConfig Installation AmazonX509Certificate`
|
AmazonAccessKeyFile=`$prefix/Calpont/bin/getConfig Installation AmazonAccessKey`
|
||||||
x509PriKey=`$prefix/Calpont/bin/getConfig Installation AmazonX509PrivateKey`
|
AmazonSecretKeyFile=`$prefix/Calpont/bin/getConfig Installation AmazonSecretKey`
|
||||||
|
AmazonAccessKey=`cat $AmazonAccessKeyFile`
|
||||||
|
AmazonSecretKey=`cat $AmazonSecretKeyFile`
|
||||||
|
|
||||||
Region=`$prefix/Calpont/bin/getConfig Installation AmazonRegion`
|
Region=`$prefix/Calpont/bin/getConfig Installation AmazonRegion`
|
||||||
|
|
||||||
if test ! -f $x509Cert ; then
|
if test ! -f $x509Cert ; then
|
||||||
@@ -171,7 +174,7 @@ createvolume() {
|
|||||||
# get zone
|
# get zone
|
||||||
zone=`$prefix/Calpont/bin/IDBInstanceCmds.sh getZone`
|
zone=`$prefix/Calpont/bin/IDBInstanceCmds.sh getZone`
|
||||||
#create volume
|
#create volume
|
||||||
volume=`ec2-create-volume -C $x509Cert -K $x509PriKey --region $Region -z $zone -s $volumeSize | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
volume=`ec2-create-volume -O $AmazonAccessKey -W $AmazonSecretKey --region $Region -z $zone -s $volumeSize | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
||||||
|
|
||||||
# #get volume name
|
# #get volume name
|
||||||
# volume=`cat /tmp/volumeCreate_$resourceName | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
# volume=`cat /tmp/volumeCreate_$resourceName | awk '{gsub(/^[ \t]+|[ \t]+$/,"");print $2}'`
|
||||||
@@ -181,7 +184,7 @@ createvolume() {
|
|||||||
|
|
||||||
describevolume() {
|
describevolume() {
|
||||||
#describe volume
|
#describe volume
|
||||||
ec2-describe-volumes -C $x509Cert -K $x509PriKey --region $Region $volumeName > /tmp/volumeInfo_$volumeName 2>&1
|
ec2-describe-volumes -O $AmazonAccessKey -W $AmazonSecretKey --region $Region $volumeName > /tmp/volumeInfo_$volumeName 2>&1
|
||||||
|
|
||||||
checkInfostatus
|
checkInfostatus
|
||||||
echo $STATUS
|
echo $STATUS
|
||||||
@@ -190,7 +193,7 @@ describevolume() {
|
|||||||
|
|
||||||
detachvolume() {
|
detachvolume() {
|
||||||
#detach volume
|
#detach volume
|
||||||
ec2-detach-volume -C $x509Cert -K $x509PriKey --region $Region $volumeName > /tmp/volumeInfo_$volumeName 2>&1
|
ec2-detach-volume -O $AmazonAccessKey -W $AmazonSecretKey --region $Region $volumeName > /tmp/volumeInfo_$volumeName 2>&1
|
||||||
|
|
||||||
checkInfostatus
|
checkInfostatus
|
||||||
if [ $STATUS == "detaching" ]; then
|
if [ $STATUS == "detaching" ]; then
|
||||||
@@ -227,7 +230,7 @@ detachvolume() {
|
|||||||
attachvolume() {
|
attachvolume() {
|
||||||
|
|
||||||
#detach volume
|
#detach volume
|
||||||
ec2-attach-volume -C $x509Cert -K $x509PriKey --region $Region $volumeName -i $instanceName -d $deviceName > /tmp/volumeInfo_$volumeName 2>&1
|
ec2-attach-volume -O $AmazonAccessKey -W $AmazonSecretKey --region $Region $volumeName -i $instanceName -d $deviceName > /tmp/volumeInfo_$volumeName 2>&1
|
||||||
|
|
||||||
checkInfostatus
|
checkInfostatus
|
||||||
if [ $STATUS == "attaching" -o $STATUS == "already-attached" ]; then
|
if [ $STATUS == "attaching" -o $STATUS == "already-attached" ]; then
|
||||||
@@ -261,13 +264,13 @@ attachvolume() {
|
|||||||
|
|
||||||
deletevolume() {
|
deletevolume() {
|
||||||
#delete volume
|
#delete volume
|
||||||
ec2-delete-volume -C $x509Cert -K $x509PriKey --region $Region $volumeName > /tmp/deletevolume_$volumeName 2>&1
|
ec2-delete-volume -O $AmazonAccessKey -W $AmazonSecretKey --region $Region $volumeName > /tmp/deletevolume_$volumeName 2>&1
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
createTag() {
|
createTag() {
|
||||||
#create tag
|
#create tag
|
||||||
ec2-create-tags -C $x509Cert -K $x509PriKey --region $Region $resourceName --tag $tagName=$tagValue > /tmp/createTag_$volumeName 2>&1
|
ec2-create-tags -O $AmazonAccessKey -W $AmazonSecretKey --region $Region $resourceName --tag $tagName=$tagValue > /tmp/createTag_$volumeName 2>&1
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -443,8 +443,8 @@
|
|||||||
<SystemLogConfigFile>unassigned</SystemLogConfigFile>
|
<SystemLogConfigFile>unassigned</SystemLogConfigFile>
|
||||||
<rpw>unassigned</rpw>
|
<rpw>unassigned</rpw>
|
||||||
<Cloud>unassigned</Cloud>
|
<Cloud>unassigned</Cloud>
|
||||||
<AmazonX509Certificate>unassigned</AmazonX509Certificate>
|
<AmazonAccessKey>unassigned</AmazonAccessKey>
|
||||||
<AmazonX509PrivateKey>unassigned</AmazonX509PrivateKey>
|
<AmazonSecretKey>unassigned</AmazonSecretKey>
|
||||||
<AmazonRegion>us-east-1</AmazonRegion>
|
<AmazonRegion>us-east-1</AmazonRegion>
|
||||||
<AmazonZone>unassigned</AmazonZone>
|
<AmazonZone>unassigned</AmazonZone>
|
||||||
<AmazonSubNetID>unassigned</AmazonSubNetID>
|
<AmazonSubNetID>unassigned</AmazonSubNetID>
|
||||||
|
@@ -439,8 +439,8 @@
|
|||||||
<Cloud>unassigned</Cloud>
|
<Cloud>unassigned</Cloud>
|
||||||
<EEPackageType>rpm</EEPackageType>
|
<EEPackageType>rpm</EEPackageType>
|
||||||
<EnableSNMP>y</EnableSNMP>
|
<EnableSNMP>y</EnableSNMP>
|
||||||
<AmazonX509Certificate>unassigned</AmazonX509Certificate>
|
<AmazonAccessKey>unassigned</AmazonAccessKey>
|
||||||
<AmazonX509PrivateKey>unassigned</AmazonX509PrivateKey>
|
<AmazonSecretKey>unassigned</AmazonSecretKey>
|
||||||
<AmazonRegion>us-east-1</AmazonRegion>
|
<AmazonRegion>us-east-1</AmazonRegion>
|
||||||
<AmazonZone>unassigned</AmazonZone>
|
<AmazonZone>unassigned</AmazonZone>
|
||||||
<AmazonSubNetID>unassigned</AmazonSubNetID>
|
<AmazonSubNetID>unassigned</AmazonSubNetID>
|
||||||
|
@@ -256,30 +256,16 @@
|
|||||||
<Arg3>Optional: Module-name and Parameter-name will display the Module Name Configuration parameter</Arg3>
|
<Arg3>Optional: Module-name and Parameter-name will display the Module Name Configuration parameter</Arg3>
|
||||||
</Cmd38>
|
</Cmd38>
|
||||||
<Cmd39>
|
<Cmd39>
|
||||||
<Name>addExternalDevice</Name>
|
<Name>AVAILABLE</Name>
|
||||||
<Desc1>Add External Device to Configuration file</Desc1>
|
|
||||||
<Desc2>External Devices will be monitored and alarms reported on failures</Desc2>
|
|
||||||
<Arg1>Required: External Device name</Arg1>
|
|
||||||
<Arg2>Required: External Device IP Address</Arg2>
|
|
||||||
</Cmd39>
|
</Cmd39>
|
||||||
<Cmd40>
|
<Cmd40>
|
||||||
<Name>getExternalDeviceConfig</Name>
|
<Name>AVAILABLE</Name>
|
||||||
<Desc1>Get External Device Configuration Information</Desc1>
|
|
||||||
<Desc2>Can display all External Device parameters or a single External Device</Desc2>
|
|
||||||
<Arg1>No Argument or 'all' will display all External Devices Configuration parameters</Arg1>
|
|
||||||
<Arg2>Optional: External Device name will display the Switch Name Configuration parameters</Arg2>
|
|
||||||
</Cmd40>
|
</Cmd40>
|
||||||
<Cmd41>
|
<Cmd41>
|
||||||
<Name>setExternalDeviceConfig</Name>
|
<Name>AVAILABLE</Name>
|
||||||
<Desc1>Set a External Device Configuration parameter</Desc1>
|
|
||||||
<Arg1>Required: External-device-name is the parameter to be updated</Arg1>
|
|
||||||
<Arg2>Required: Parameter-name is the parameter to be updated</Arg2>
|
|
||||||
<Arg3>Required: Parameter-value is the parameter value</Arg3>
|
|
||||||
</Cmd41>
|
</Cmd41>
|
||||||
<Cmd42>
|
<Cmd42>
|
||||||
<Name>removeExternalDevice</Name>
|
<Name>AVAILABLE</Name>
|
||||||
<Desc1>Remove External Device to Configuration file</Desc1>
|
|
||||||
<Arg1>Required: External Device name</Arg1>
|
|
||||||
</Cmd42>
|
</Cmd42>
|
||||||
<Cmd43>
|
<Cmd43>
|
||||||
<Name>assignElasticIPAddress</Name>
|
<Name>assignElasticIPAddress</Name>
|
||||||
|
@@ -49,7 +49,6 @@ echo "Create Replication User $repUser for node $hostipaddr" >>/tmp/master-rep-s
|
|||||||
cat >/tmp/idb_master-rep.sql <<EOD
|
cat >/tmp/idb_master-rep.sql <<EOD
|
||||||
CREATE USER '$repUser'@'$hostipaddr' IDENTIFIED BY '$password';
|
CREATE USER '$repUser'@'$hostipaddr' IDENTIFIED BY '$password';
|
||||||
GRANT REPLICATION SLAVE ON *.* TO '$repUser'@'$hostipaddr';
|
GRANT REPLICATION SLAVE ON *.* TO '$repUser'@'$hostipaddr';
|
||||||
GRANT ALL PRIVILEGES ON *.* TO '$repUser'@'$hostipaddr';
|
|
||||||
EOD
|
EOD
|
||||||
|
|
||||||
cat /tmp/idb_master-rep.sql >>/tmp/master-rep-status-$hostipaddr.log
|
cat /tmp/idb_master-rep.sql >>/tmp/master-rep-status-$hostipaddr.log
|
||||||
@@ -66,7 +65,7 @@ checkForError
|
|||||||
echo "Grant table access for $repUser for node $hostipaddr" >>/tmp/master-rep-status-$hostipaddr.log
|
echo "Grant table access for $repUser for node $hostipaddr" >>/tmp/master-rep-status-$hostipaddr.log
|
||||||
cat >/tmp/idb_master-rep.sql <<EOD
|
cat >/tmp/idb_master-rep.sql <<EOD
|
||||||
use mysql
|
use mysql
|
||||||
grant all on infinidb_vtable to '$repUser'@'$hostipaddr' identified by 'Calpont1';
|
grant all on *.* to '$repUser'@'$hostipaddr' identified by 'Calpont1';
|
||||||
grant REPLICATION SLAVE on *.* to '$repUser'@'$hostipaddr' identified by 'Calpont1';
|
grant REPLICATION SLAVE on *.* to '$repUser'@'$hostipaddr' identified by 'Calpont1';
|
||||||
EOD
|
EOD
|
||||||
|
|
||||||
|
@@ -4103,203 +4103,23 @@ int processCommand(string* arguments)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 39: // addExternalDevice
|
case 39:
|
||||||
{
|
{
|
||||||
ExtDeviceConfig extdeviceconfig;
|
|
||||||
|
|
||||||
if (arguments[2] == "")
|
|
||||||
{
|
|
||||||
// need 2 arguments
|
|
||||||
cout << endl << "**** addExternalDevice Failed : Missing a required Parameter, enter 'help' for additional information" << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// check if ext device exist
|
|
||||||
try
|
|
||||||
{
|
|
||||||
oam.getSystemConfig(arguments[1], extdeviceconfig);
|
|
||||||
cout << endl << "**** addExternalDevice Failed : Device already configured" << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
catch (...)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
extdeviceconfig.Name = arguments[1];
|
|
||||||
extdeviceconfig.IPAddr = arguments[2];
|
|
||||||
extdeviceconfig.DisableState = oam::ENABLEDSTATE;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
oam.setSystemConfig(arguments[1], extdeviceconfig);
|
|
||||||
cout << endl << " Successfully Added: " << arguments[1] << endl << endl;
|
|
||||||
}
|
|
||||||
catch (exception& e)
|
|
||||||
{
|
|
||||||
cout << endl << "**** addExternalDevice Failed = " << e.what() << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
catch (...)
|
|
||||||
{
|
|
||||||
cout << endl << "**** addExternalDevice Failed" << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 40: // getexternaldeviceconfig
|
case 40:
|
||||||
{
|
{
|
||||||
SystemExtDeviceConfig systemextdeviceconfig;
|
|
||||||
ExtDeviceConfig extdeviceconfig;
|
|
||||||
systemextdeviceconfig.extdeviceconfig.clear();
|
|
||||||
string returnValue;
|
|
||||||
string Argument;
|
|
||||||
|
|
||||||
if (arguments[1] == "all" || arguments[1] == "")
|
|
||||||
{
|
|
||||||
|
|
||||||
// get and all display Ext Devices Name config parameters
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
oam.getSystemConfig(systemextdeviceconfig);
|
|
||||||
|
|
||||||
cout << endl << "External Device Configuration" << endl << endl;
|
|
||||||
|
|
||||||
for ( unsigned int i = 0 ; i < systemextdeviceconfig.Count ; i++ )
|
|
||||||
{
|
|
||||||
cout << "Name = ";
|
|
||||||
cout.setf(ios::left);
|
|
||||||
cout.width(30);
|
|
||||||
cout << systemextdeviceconfig.extdeviceconfig[i].Name;
|
|
||||||
cout << "IPAddr = " << systemextdeviceconfig.extdeviceconfig[i].IPAddr << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
cout << endl;
|
|
||||||
}
|
|
||||||
catch (exception& e)
|
|
||||||
{
|
|
||||||
cout << endl << "**** getextdeviceconfig Failed = " << e.what() << endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{ // get a single ext device name info
|
|
||||||
try
|
|
||||||
{
|
|
||||||
oam.getSystemConfig(arguments[1], extdeviceconfig);
|
|
||||||
|
|
||||||
cout << endl << "Name = ";
|
|
||||||
cout.setf(ios::left);
|
|
||||||
cout.width(30);
|
|
||||||
cout << extdeviceconfig.Name;
|
|
||||||
cout << "IPAddr = " << extdeviceconfig.IPAddr << endl;
|
|
||||||
cout << endl;
|
|
||||||
}
|
|
||||||
catch (...)
|
|
||||||
{
|
|
||||||
cout << endl << "**** getextdeviceconfig Failed, invalid device name" << endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 41: // setexternaldeviceconfig - parameters: Ext Device name, Parameter name and value
|
case 41:
|
||||||
{
|
{
|
||||||
ExtDeviceConfig extdeviceconfig;
|
|
||||||
string Argument;
|
|
||||||
|
|
||||||
parentOAMModule = getParentOAMModule();
|
|
||||||
if ( localModule != parentOAMModule ) {
|
|
||||||
// exit out since not on Parent OAM Module
|
|
||||||
cout << endl << "**** setexternaldeviceconfig Failed : only should be run on the Parent OAM Module, which is '" << parentOAMModule << "'" << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (arguments[3] == "")
|
|
||||||
{
|
|
||||||
// need 3 arguments
|
|
||||||
cout << endl << "**** setextdeviceconfig Failed : Missing a required Parameter, enter 'help' for additional information" << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if ( arguments[3] == "=" ) {
|
|
||||||
cout << endl << "**** setextdeviceconfig Failed : Invalid Value of '=', please re-enter" << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// check if ext device exist
|
|
||||||
try
|
|
||||||
{
|
|
||||||
oam.getSystemConfig(arguments[1], extdeviceconfig);
|
|
||||||
}
|
|
||||||
catch (...)
|
|
||||||
{
|
|
||||||
cout << endl << "**** getextdeviceconfig Failed : Invalid device name " << arguments[1] << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( arguments[2] == "Name" )
|
|
||||||
extdeviceconfig.Name = arguments[3];
|
|
||||||
else
|
|
||||||
if ( arguments[2] == "IPAddr")
|
|
||||||
extdeviceconfig.IPAddr = arguments[3];
|
|
||||||
else {
|
|
||||||
cout << endl << "**** setextdeviceconfig Failed : Invalid Parameter, please re-enter" << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
oam.setSystemConfig(arguments[1], extdeviceconfig);
|
|
||||||
cout << endl << " Successfully set " << arguments[2] << " = " << arguments[3] << endl << endl;
|
|
||||||
}
|
|
||||||
catch (...)
|
|
||||||
{
|
|
||||||
cout << endl << "**** setextdeviceconfig Failed : Invalid device name " << arguments[1] << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 42: // removeExternalDevice
|
case 42:
|
||||||
{
|
{
|
||||||
ExtDeviceConfig extdeviceconfig;
|
|
||||||
|
|
||||||
if (arguments[1] == "")
|
|
||||||
{
|
|
||||||
// need 1 arguments
|
|
||||||
cout << endl << "**** removeExternalDevice Failed : Missing a required Parameter, enter 'help' for additional information" << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// check if ext device exist
|
|
||||||
try
|
|
||||||
{
|
|
||||||
oam.getSystemConfig(arguments[1], extdeviceconfig);
|
|
||||||
}
|
|
||||||
catch (...)
|
|
||||||
{
|
|
||||||
cout << endl << "**** removeExternalDevice Failed : Device not configured" << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
extdeviceconfig.Name = oam::UnassignedName;
|
|
||||||
extdeviceconfig.IPAddr = oam::UnassignedIpAddr;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
oam.setSystemConfig(arguments[1], extdeviceconfig);
|
|
||||||
cout << endl << " Successfully removed: " << arguments[1] << endl << endl;
|
|
||||||
}
|
|
||||||
catch (exception& e)
|
|
||||||
{
|
|
||||||
cout << endl << "**** removeExternalDevice Failed = " << e.what() << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
catch (...)
|
|
||||||
{
|
|
||||||
cout << endl << "**** removeExternalDevice Failed" << endl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@@ -106,12 +106,12 @@ bool createDbrootDirs(string DBRootStorageType);
|
|||||||
bool pkgCheck();
|
bool pkgCheck();
|
||||||
bool storageSetup(string cloud);
|
bool storageSetup(string cloud);
|
||||||
void setSystemName();
|
void setSystemName();
|
||||||
bool checkInstanceRunning(string instanceName, string x509Cert, string x509PriKey);
|
bool checkInstanceRunning(string instanceName, string AmazonAccessKey, string AmazonSecretKey);
|
||||||
string getInstanceIP(string instanceName, string x509Cert, string x509PriKey);
|
string getInstanceIP(string instanceName, string AmazonAccessKey, string AmazonSecretKey);
|
||||||
bool attachVolume(string instanceName, string volumeName, string deviceName, string dbrootPath);
|
bool attachVolume(string instanceName, string volumeName, string deviceName, string dbrootPath);
|
||||||
bool singleServerDBrootSetup();
|
bool singleServerDBrootSetup();
|
||||||
bool copyFstab(string moduleName);
|
bool copyFstab(string moduleName);
|
||||||
bool copyX509files();
|
bool copyKeyfiles();
|
||||||
|
|
||||||
void remoteInstallThread(void *);
|
void remoteInstallThread(void *);
|
||||||
|
|
||||||
@@ -145,8 +145,8 @@ bool thread_remote_installer = true;
|
|||||||
string singleServerInstall = "1";
|
string singleServerInstall = "1";
|
||||||
string reuseConfig ="n";
|
string reuseConfig ="n";
|
||||||
string oldFileName;
|
string oldFileName;
|
||||||
string x509Cert;
|
string AmazonAccessKey;
|
||||||
string x509PriKey;
|
string AmazonSecretKey;
|
||||||
string glusterCopies;
|
string glusterCopies;
|
||||||
string glusterInstalled = "n";
|
string glusterInstalled = "n";
|
||||||
string hadoopInstalled = "n";
|
string hadoopInstalled = "n";
|
||||||
@@ -981,8 +981,8 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
cout << endl << "For Amazon EC2/VPC Instance installs, these files will need to be installed on" << endl;
|
cout << endl << "For Amazon EC2/VPC Instance installs, these files will need to be installed on" << endl;
|
||||||
cout << "on the local instance:" << endl << endl;
|
cout << "on the local instance:" << endl << endl;
|
||||||
cout << " 1. X.509 Certificate" << endl;
|
cout << " 1. File containing the Amazon Access Key" << endl;
|
||||||
cout << " 2. X.509 Private Key" << endl << endl;
|
cout << " 2. File containing the Amazon Secret Key" << endl << endl;
|
||||||
|
|
||||||
while(true) {
|
while(true) {
|
||||||
string ready = "y";
|
string ready = "y";
|
||||||
@@ -1006,8 +1006,8 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
x509Cert = sysConfig->getConfig(InstallSection, "AmazonX509Certificate");
|
AmazonAccessKey = sysConfig->getConfig(InstallSection, "AmazonAccessKey");
|
||||||
x509PriKey = sysConfig->getConfig(InstallSection, "AmazonX509PrivateKey");
|
AmazonSecretKey = sysConfig->getConfig(InstallSection, "AmazonSecretKey");
|
||||||
}
|
}
|
||||||
catch(...)
|
catch(...)
|
||||||
{}
|
{}
|
||||||
@@ -1016,13 +1016,13 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
prompt = "Enter Name and directory of the X.509 Certificate (" + x509Cert + ") > ";
|
prompt = "Enter file name containing the Access Key (" + AmazonAccessKey + ") > ";
|
||||||
pcommand = callReadline(prompt.c_str());
|
pcommand = callReadline(prompt.c_str());
|
||||||
if (pcommand) {
|
if (pcommand) {
|
||||||
if (strlen(pcommand) > 0) x509Cert = pcommand;
|
if (strlen(pcommand) > 0) AmazonAccessKey = pcommand;
|
||||||
callFree(pcommand);
|
callFree(pcommand);
|
||||||
}
|
}
|
||||||
ifstream File (x509Cert.c_str());
|
ifstream File (AmazonAccessKey.c_str());
|
||||||
if (!File) {
|
if (!File) {
|
||||||
cout << "Error: file not found, please re-enter" << endl;
|
cout << "Error: file not found, please re-enter" << endl;
|
||||||
if ( noPrompting )
|
if ( noPrompting )
|
||||||
@@ -1034,13 +1034,13 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
prompt = "Enter Name and directory of the X.509 Private Key (" + x509PriKey + ") > ";
|
prompt = "Enter file name containing the Secret Key (" + AmazonSecretKey + ") > ";
|
||||||
pcommand = callReadline(prompt.c_str());
|
pcommand = callReadline(prompt.c_str());
|
||||||
if (pcommand) {
|
if (pcommand) {
|
||||||
if (strlen(pcommand) > 0) x509PriKey = pcommand;
|
if (strlen(pcommand) > 0) AmazonSecretKey = pcommand;
|
||||||
callFree(pcommand);
|
callFree(pcommand);
|
||||||
}
|
}
|
||||||
ifstream File (x509PriKey.c_str());
|
ifstream File (AmazonSecretKey.c_str());
|
||||||
if (!File)
|
if (!File)
|
||||||
{
|
{
|
||||||
cout << "Error: file not found, please re-enter" << endl;
|
cout << "Error: file not found, please re-enter" << endl;
|
||||||
@@ -1052,15 +1052,40 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
sysConfig->setConfig(InstallSection, "AmazonX509Certificate", x509Cert);
|
sysConfig->setConfig(InstallSection, "AmazonAccessKey", AmazonAccessKey);
|
||||||
sysConfig->setConfig(InstallSection, "AmazonX509PrivateKey", x509PriKey);
|
sysConfig->setConfig(InstallSection, "AmazonSecretKey", AmazonSecretKey);
|
||||||
}
|
}
|
||||||
catch(...)
|
catch(...)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
if( !copyX509files() )
|
if( !copyKeyfiles() )
|
||||||
cout << "copyX509files error" << endl;
|
cout << "copyKeyfiles error" << endl;
|
||||||
|
|
||||||
|
try {
|
||||||
|
AmazonRegion = sysConfig->getConfig(InstallSection, "AmazonRegion");
|
||||||
|
}
|
||||||
|
catch(...)
|
||||||
|
{}
|
||||||
|
|
||||||
|
cout << endl;
|
||||||
|
|
||||||
|
while(true)
|
||||||
|
{
|
||||||
|
prompt = "Enter Amazon Region you are running in (" + AmazonRegion + ") > ";
|
||||||
|
pcommand = callReadline(prompt.c_str());
|
||||||
|
if (pcommand) {
|
||||||
|
if (strlen(pcommand) > 0) AmazonRegion = pcommand;
|
||||||
|
callFree(pcommand);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
sysConfig->setConfig(InstallSection, "AmazonRegion", AmazonRegion);
|
||||||
|
}
|
||||||
|
catch(...)
|
||||||
|
{}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2552,239 +2577,6 @@ int main(int argc, char *argv[])
|
|||||||
//check snmp Apps disable option
|
//check snmp Apps disable option
|
||||||
snmpAppCheck();
|
snmpAppCheck();
|
||||||
|
|
||||||
//
|
|
||||||
// Configure External Devices
|
|
||||||
//
|
|
||||||
SystemExtDeviceConfig systemextdeviceconfig;
|
|
||||||
|
|
||||||
try{
|
|
||||||
oam.getSystemConfig(systemextdeviceconfig);
|
|
||||||
}
|
|
||||||
catch(...)
|
|
||||||
{
|
|
||||||
cout << "ERROR: Problem reading the InfiniDB System Configuration file" << endl;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
cout << endl << "===== Setup the External Device Configuration =====" << endl << endl;
|
|
||||||
|
|
||||||
cout << "External Devices are devices like a storage array or a Ethernet Switch that can" << endl;
|
|
||||||
cout << "be setup to be monitored by InfiniDB with a ping test. If device fails, InfiniDB" << endl;
|
|
||||||
cout << "will report a failure alarm." << endl << endl;
|
|
||||||
|
|
||||||
if ( systemextdeviceconfig.Count > 0 ) {
|
|
||||||
|
|
||||||
cout << "Current List of External Devices being monitored" << endl << endl;
|
|
||||||
|
|
||||||
cout << "Device Name IP Address" << endl;
|
|
||||||
cout << "-------------------------- ----------------" << endl;
|
|
||||||
|
|
||||||
for ( unsigned int i = 0 ; i < systemextdeviceconfig.Count ; i++ )
|
|
||||||
{
|
|
||||||
cout.setf(ios::left);
|
|
||||||
cout.width(30);
|
|
||||||
cout << systemextdeviceconfig.extdeviceconfig[i].Name;
|
|
||||||
cout << systemextdeviceconfig.extdeviceconfig[i].IPAddr << endl;
|
|
||||||
// cout << "Device Name: " << (*pt1).Name << " IP Address: " << (*pt1).IPAddr << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
cout << endl;
|
|
||||||
|
|
||||||
string modify = "n";
|
|
||||||
while(true) {
|
|
||||||
prompt = "Would you like to modify current list? [y,n] (n) > ";
|
|
||||||
pcommand = callReadline(prompt.c_str());
|
|
||||||
if (pcommand)
|
|
||||||
{
|
|
||||||
if (strlen(pcommand) > 0) modify = pcommand;
|
|
||||||
callFree(pcommand);
|
|
||||||
}
|
|
||||||
if ( modify == "y" || modify == "n" )
|
|
||||||
break;
|
|
||||||
cout << "Invalid Entry, please enter 'y' for yes or 'n' for no" << endl;
|
|
||||||
if ( noPrompting )
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( modify == "y" ) {
|
|
||||||
|
|
||||||
for ( unsigned int i = 0 ; i < systemextdeviceconfig.Count ; i++ )
|
|
||||||
{
|
|
||||||
string name = systemextdeviceconfig.extdeviceconfig[i].Name;
|
|
||||||
modify = "n";
|
|
||||||
while(true) {
|
|
||||||
prompt = "Would you like to modify or delete '" + name + "'? [m,d,n] (n) > ";
|
|
||||||
pcommand = callReadline(prompt.c_str());
|
|
||||||
if (pcommand)
|
|
||||||
{
|
|
||||||
if (strlen(pcommand) > 0) modify = pcommand;
|
|
||||||
callFree(pcommand);
|
|
||||||
}
|
|
||||||
if ( modify == "m" || modify == "d" || modify == "n")
|
|
||||||
break;
|
|
||||||
cout << "Invalid Entry, please enter 'm' for modify, 'd' for delete or 'n' for no" << endl;
|
|
||||||
if ( noPrompting )
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( modify == "d" ) {
|
|
||||||
// delete device
|
|
||||||
ExtDeviceConfig extdeviceconfig;
|
|
||||||
|
|
||||||
extdeviceconfig.Name = oam::UnassignedName;
|
|
||||||
extdeviceconfig.IPAddr = oam::UnassignedIpAddr;
|
|
||||||
extdeviceconfig.DisableState = oam::ENABLEDSTATE;
|
|
||||||
|
|
||||||
try{
|
|
||||||
oam.setSystemConfig(name, extdeviceconfig);
|
|
||||||
}
|
|
||||||
catch(...)
|
|
||||||
{
|
|
||||||
cout << "ERROR: Problem updating the InfiniDB System Configuration file" << endl;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
cout << "External Device '" + name + "' deleted" << endl << endl;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ( modify == "m" ) {
|
|
||||||
string newName = name;
|
|
||||||
prompt = "Enter Name (" + newName + ") > ";
|
|
||||||
pcommand = callReadline(prompt.c_str());
|
|
||||||
if (pcommand)
|
|
||||||
{
|
|
||||||
if (strlen(pcommand) > 0) newName = pcommand;
|
|
||||||
callFree(pcommand);
|
|
||||||
}
|
|
||||||
|
|
||||||
string newIPAddr = systemextdeviceconfig.extdeviceconfig[i].IPAddr;
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
prompt = "Enter IP Address of (" + newIPAddr + ") > ";
|
|
||||||
pcommand = callReadline(prompt.c_str());
|
|
||||||
if (pcommand)
|
|
||||||
{
|
|
||||||
if (strlen(pcommand) > 0) newIPAddr = pcommand;
|
|
||||||
callFree(pcommand);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (oam.isValidIP(newIPAddr))
|
|
||||||
break;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cout << "Invalid IP Address format, xxx.xxx.xxx.xxx, please re-enter" << endl;
|
|
||||||
if ( noPrompting )
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ExtDeviceConfig extdeviceconfig;
|
|
||||||
|
|
||||||
extdeviceconfig.Name = newName;
|
|
||||||
extdeviceconfig.IPAddr = newIPAddr;
|
|
||||||
extdeviceconfig.DisableState = oam::ENABLEDSTATE;
|
|
||||||
|
|
||||||
try{
|
|
||||||
oam.setSystemConfig(name, extdeviceconfig);
|
|
||||||
}
|
|
||||||
catch(...)
|
|
||||||
{
|
|
||||||
cout << "ERROR: Problem updating the InfiniDB System Configuration file" << endl;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
cout << "External Device '" + name + "' modified" << endl << endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
while(true) {
|
|
||||||
string add = "n";
|
|
||||||
while(true) {
|
|
||||||
prompt = "Would you like to add an External Device? [y,n] (n) > ";
|
|
||||||
pcommand = callReadline(prompt.c_str());
|
|
||||||
if (pcommand)
|
|
||||||
{
|
|
||||||
if (strlen(pcommand) > 0) add = pcommand;
|
|
||||||
callFree(pcommand);
|
|
||||||
}
|
|
||||||
if ( add == "y" || add == "n" )
|
|
||||||
break;
|
|
||||||
cout << "Invalid Entry, please enter 'y' for yes or 'n' for no" << endl;
|
|
||||||
if ( noPrompting )
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( add == "y" ) {
|
|
||||||
cout << endl;
|
|
||||||
string newName = oam::UnassignedName;
|
|
||||||
while(true) {
|
|
||||||
prompt = "Enter Name (" + newName + ") > ";
|
|
||||||
pcommand = callReadline(prompt.c_str());
|
|
||||||
if (pcommand)
|
|
||||||
{
|
|
||||||
if (strlen(pcommand) > 0) newName = pcommand;
|
|
||||||
callFree(pcommand);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( newName == oam::UnassignedName ) {
|
|
||||||
cout << "Invalid Entry, please enter valid name or 'abort'" << endl;
|
|
||||||
if ( noPrompting )
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( newName == "abort" )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
//get Network IP Address
|
|
||||||
string newIPAddr = oam::UnassignedIpAddr;
|
|
||||||
string IPAddress = oam.getIPAddress(newName);
|
|
||||||
if ( !IPAddress.empty() )
|
|
||||||
newIPAddr = IPAddress;
|
|
||||||
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
prompt = "Enter IP Address of (" + newIPAddr + ") > ";
|
|
||||||
pcommand = callReadline(prompt.c_str());
|
|
||||||
if (pcommand)
|
|
||||||
{
|
|
||||||
if (strlen(pcommand) > 0) newIPAddr = pcommand;
|
|
||||||
callFree(pcommand);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (oam.isValidIP(newIPAddr))
|
|
||||||
break;
|
|
||||||
else
|
|
||||||
cout << "Invalid IP Address format, xxx.xxx.xxx.xxx, please re-enter" << endl;
|
|
||||||
if ( noPrompting )
|
|
||||||
exit(1);
|
|
||||||
newIPAddr = oam::UnassignedIpAddr;
|
|
||||||
}
|
|
||||||
|
|
||||||
ExtDeviceConfig extdeviceconfig;
|
|
||||||
|
|
||||||
extdeviceconfig.Name = newName;
|
|
||||||
extdeviceconfig.IPAddr = newIPAddr;
|
|
||||||
extdeviceconfig.DisableState = oam::ENABLEDSTATE;
|
|
||||||
|
|
||||||
try{
|
|
||||||
oam.setSystemConfig(newName, extdeviceconfig);
|
|
||||||
}
|
|
||||||
catch(...)
|
|
||||||
{
|
|
||||||
cout << "ERROR: Problem updating the InfiniDB System Configuration file" << endl;
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
cout << endl;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
//setup local OS Files
|
//setup local OS Files
|
||||||
if( !setOSFiles(parentOAMModuleName, IserverTypeInstall) ) {
|
if( !setOSFiles(parentOAMModuleName, IserverTypeInstall) ) {
|
||||||
cout << "setOSFiles error" << endl;
|
cout << "setOSFiles error" << endl;
|
||||||
@@ -5031,12 +4823,12 @@ bool copyFstab(string moduleName)
|
|||||||
/*
|
/*
|
||||||
* Copy x.509 file
|
* Copy x.509 file
|
||||||
*/
|
*/
|
||||||
bool copyX509files()
|
bool copyKeyfiles()
|
||||||
{
|
{
|
||||||
string cmd = "/bin/cp -f " + x509Cert + " " + installDir + "/local/etc/. > /dev/null 2>&1";
|
string cmd = "/bin/cp -f " + AmazonAccessKey + " " + installDir + "/local/etc/. > /dev/null 2>&1";
|
||||||
system(cmd.c_str());
|
system(cmd.c_str());
|
||||||
|
|
||||||
cmd = "/bin/cp -f " + x509PriKey + " " + installDir + "/local/etc/. > /dev/null 2>&1";
|
cmd = "/bin/cp -f " + AmazonSecretKey + " " + installDir + "/local/etc/. > /dev/null 2>&1";
|
||||||
system(cmd.c_str());
|
system(cmd.c_str());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@@ -10069,7 +10069,20 @@ int ProcessManager::setMySQLReplication(oam::DeviceNetworkList devicenetworklist
|
|||||||
if ( moduleType == "pm" && PMwithUM == "n" )
|
if ( moduleType == "pm" && PMwithUM == "n" )
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check status, skip if module is offline
|
||||||
|
int opState = oam::ACTIVE;
|
||||||
|
bool degraded;
|
||||||
|
try {
|
||||||
|
oam.getModuleStatus(remoteModuleName, opState, degraded);
|
||||||
|
}
|
||||||
|
catch(...)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
if (opState != oam::ACTIVE)
|
||||||
|
continue;
|
||||||
|
|
||||||
ByteStream msg1;
|
ByteStream msg1;
|
||||||
ByteStream::byte requestID = oam::SLAVEREP;
|
ByteStream::byte requestID = oam::SLAVEREP;
|
||||||
if ( !enable ) {
|
if ( !enable ) {
|
||||||
|
@@ -843,6 +843,7 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO
|
|||||||
//stop the mysql daemon
|
//stop the mysql daemon
|
||||||
try {
|
try {
|
||||||
oam.actionMysqlCalpont(MYSQL_STOP);
|
oam.actionMysqlCalpont(MYSQL_STOP);
|
||||||
|
log.writeLog(__LINE__, "Stop MySQL Process", LOG_TYPE_DEBUG);
|
||||||
}
|
}
|
||||||
catch(...)
|
catch(...)
|
||||||
{}
|
{}
|
||||||
|
Reference in New Issue
Block a user