[TD-707]
This commit is contained in:
parent
fbf9b9a3cf
commit
7a3b74ab9d
|
@ -22,8 +22,7 @@ static struct argp_option options[] = {
|
||||||
{0, 'd', "dnodeId", 0, "dnode id", 1},
|
{0, 'd', "dnodeId", 0, "dnode id", 1},
|
||||||
{0, 'p', "port", 0, "dnode port", 1},
|
{0, 'p', "port", 0, "dnode port", 1},
|
||||||
{0, 'f', "fqdn", 0, "dnode fqdn", 1},
|
{0, 'f', "fqdn", 0, "dnode fqdn", 1},
|
||||||
{0, 'e', "ep", 0, "dnode ep", 1},
|
{0, 'g', "multi dnodes", 0, "multi dnode info, e.g. \"2 7030 fqdn1, 3 8030 fqdn2\"", 2},
|
||||||
{0, 'g', "multi dnodes", 0, "multi dnode info, e.g. \"2 7030 fqdn1 ep1:7030, 3 8030 fqdn2 ep2:8030\"", 2},
|
|
||||||
{0}};
|
{0}};
|
||||||
|
|
||||||
/* Used by main to communicate with parse_opt. */
|
/* Used by main to communicate with parse_opt. */
|
||||||
|
@ -32,7 +31,6 @@ struct arguments {
|
||||||
int32_t dnodeId;
|
int32_t dnodeId;
|
||||||
uint16_t port;
|
uint16_t port;
|
||||||
char* fqdn;
|
char* fqdn;
|
||||||
char* ep;
|
|
||||||
char* dnodeGroups;
|
char* dnodeGroups;
|
||||||
char** arg_list;
|
char** arg_list;
|
||||||
int arg_list_len;
|
int arg_list_len;
|
||||||
|
@ -53,9 +51,6 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) {
|
||||||
break;
|
break;
|
||||||
case 'f':
|
case 'f':
|
||||||
arguments->fqdn = arg;
|
arguments->fqdn = arg;
|
||||||
case 'e':
|
|
||||||
arguments->ep = arg;
|
|
||||||
break;
|
|
||||||
case 'g':
|
case 'g':
|
||||||
arguments->dnodeGroups = arg;
|
arguments->dnodeGroups = arg;
|
||||||
break;
|
break;
|
||||||
|
@ -74,7 +69,7 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct argp argp = {options, parse_opt, 0, 0};
|
static struct argp argp = {options, parse_opt, 0, 0};
|
||||||
struct arguments arguments = {NULL, 0, 0, NULL, NULL, NULL, NULL, 0};
|
struct arguments arguments = {NULL, 0, 0, NULL, NULL, NULL, 0};
|
||||||
SdnodeGroup tsDnodeGroup = {0};
|
SdnodeGroup tsDnodeGroup = {0};
|
||||||
|
|
||||||
int tSystemShell(const char * cmd)
|
int tSystemShell(const char * cmd)
|
||||||
|
@ -130,15 +125,13 @@ void parseOneDnodeInfo(char* buf, SdnodeIfo* pDnodeInfo)
|
||||||
char *p;
|
char *p;
|
||||||
int32_t i = 0;
|
int32_t i = 0;
|
||||||
ptr = strtok_r(buf, " ", &p);
|
ptr = strtok_r(buf, " ", &p);
|
||||||
while(ptr != NULL){
|
while(ptr != NULL) {
|
||||||
if (0 == i) {
|
if (0 == i) {
|
||||||
pDnodeInfo->dnodeId = atoi(ptr);
|
pDnodeInfo->dnodeId = atoi(ptr);
|
||||||
} else if (1 == i) {
|
} else if (1 == i) {
|
||||||
pDnodeInfo->port = atoi(ptr);
|
pDnodeInfo->port = atoi(ptr);
|
||||||
} else if (2 == i) {
|
} else if (2 == i) {
|
||||||
tstrncpy(pDnodeInfo->fqdn, ptr, TSDB_FQDN_LEN);
|
tstrncpy(pDnodeInfo->fqdn, ptr, TSDB_FQDN_LEN);
|
||||||
} else if (3 == i) {
|
|
||||||
tstrncpy(pDnodeInfo->ep, ptr, TSDB_EP_LEN);
|
|
||||||
} else {
|
} else {
|
||||||
printf("input parameter error near:%s\n", buf);
|
printf("input parameter error near:%s\n", buf);
|
||||||
exit(-1);
|
exit(-1);
|
||||||
|
@ -146,17 +139,19 @@ void parseOneDnodeInfo(char* buf, SdnodeIfo* pDnodeInfo)
|
||||||
i++;
|
i++;
|
||||||
ptr = strtok_r(NULL, " ", &p);
|
ptr = strtok_r(NULL, " ", &p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
snprintf(pDnodeInfo->ep, TSDB_EP_LEN, "%s:%d", pDnodeInfo->fqdn, pDnodeInfo->port);
|
||||||
}
|
}
|
||||||
|
|
||||||
void saveDnodeGroups()
|
void saveDnodeGroups()
|
||||||
{
|
{
|
||||||
if ((NULL != arguments.fqdn) && (NULL != arguments.ep) && (arguments.dnodeId > 0) && (0 != arguments.port)) {
|
if ((NULL != arguments.fqdn) && (arguments.dnodeId > 0) && (0 != arguments.port)) {
|
||||||
//printf("dnodeId:%d port:%d fqdn:%s ep:%s\n", arguments.dnodeId, arguments.port, arguments.fqdn, arguments.ep);
|
//printf("dnodeId:%d port:%d fqdn:%s ep:%s\n", arguments.dnodeId, arguments.port, arguments.fqdn, arguments.ep);
|
||||||
|
|
||||||
tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].dnodeId = arguments.dnodeId;
|
tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].dnodeId = arguments.dnodeId;
|
||||||
tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].port = arguments.port;
|
tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].port = arguments.port;
|
||||||
tstrncpy(tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].fqdn, arguments.fqdn, TSDB_FQDN_LEN);
|
tstrncpy(tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].fqdn, arguments.fqdn, TSDB_FQDN_LEN);
|
||||||
tstrncpy(tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].ep, arguments.ep, TSDB_EP_LEN);
|
snprintf(tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].ep, TSDB_EP_LEN, "%s:%d", tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].fqdn, tsDnodeGroup.dnodeArray[tsDnodeGroup.dnodeNum].port);
|
||||||
|
|
||||||
tsDnodeGroup.dnodeNum++;
|
tsDnodeGroup.dnodeNum++;
|
||||||
}
|
}
|
||||||
|
@ -192,7 +187,7 @@ int32_t main(int32_t argc, char *argv[]) {
|
||||||
argp_parse(&argp, argc, argv, 0, 0, &arguments);
|
argp_parse(&argp, argc, argv, 0, 0, &arguments);
|
||||||
|
|
||||||
if ((NULL == arguments.dataDir) || ((NULL == arguments.dnodeGroups)
|
if ((NULL == arguments.dataDir) || ((NULL == arguments.dnodeGroups)
|
||||||
&& (NULL == arguments.fqdn || NULL == arguments.ep || arguments.dnodeId < 1 || 0 == arguments.port))) {
|
&& (NULL == arguments.fqdn || arguments.dnodeId < 1 || 0 == arguments.port))) {
|
||||||
printf("input parameter error!\n");
|
printf("input parameter error!\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue