You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by mt...@apache.org on 2010/05/19 14:26:02 UTC

svn commit: r946150 - in /trafficserver/traffic/trunk/proxy/mgmt2: cli/CliMain.cc cli/CliUtils.cc cli/Makefile.am cli/clientCLI.cc cli/clientCLI.h cli2/CliMgmtUtils.cc cli2/CliMgmtUtils.h cli2/Makefile.am cli2/UtilCmds.cc cli2/cliMain.cc

Author: mturk
Date: Wed May 19 12:26:02 2010
New Revision: 946150

URL: http://svn.apache.org/viewvc?rev=946150&view=rev
Log:
TS-345 Cleanup absolue paths and use Layout engine for cli and cli2.

Modified:
    trafficserver/traffic/trunk/proxy/mgmt2/cli/CliMain.cc
    trafficserver/traffic/trunk/proxy/mgmt2/cli/CliUtils.cc
    trafficserver/traffic/trunk/proxy/mgmt2/cli/Makefile.am
    trafficserver/traffic/trunk/proxy/mgmt2/cli/clientCLI.cc
    trafficserver/traffic/trunk/proxy/mgmt2/cli/clientCLI.h
    trafficserver/traffic/trunk/proxy/mgmt2/cli2/CliMgmtUtils.cc
    trafficserver/traffic/trunk/proxy/mgmt2/cli2/CliMgmtUtils.h
    trafficserver/traffic/trunk/proxy/mgmt2/cli2/Makefile.am
    trafficserver/traffic/trunk/proxy/mgmt2/cli2/UtilCmds.cc
    trafficserver/traffic/trunk/proxy/mgmt2/cli2/cliMain.cc

Modified: trafficserver/traffic/trunk/proxy/mgmt2/cli/CliMain.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/cli/CliMain.cc?rev=946150&r1=946149&r2=946150&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/cli/CliMain.cc (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/cli/CliMain.cc Wed May 19 12:26:02 2010
@@ -380,13 +380,10 @@ main(int argc, char **argv)
   // Connect to Local Manager
 #ifndef _WIN32
   if (cli->connectToLM() != clientCLI::err_none) {
-    char ts_path[PATH_NAME_MAX + 1];
     char sock_path[PATH_NAME_MAX + 1];
-    if (0 == cli->GetTSDirectory(ts_path, sizeof(ts_path))) {
-      snprintf(sock_path, sizeof(sock_path), "%s/var/trafficserver/cli", ts_path);
-    } else {
-      ink_strncpy(sock_path, clientCLI::defaultSockPath, sizeof(sock_path));
-    }
+
+    Layout::relative_to(sock_path, sizeof(sock_path),
+                        Layout::get()->runtimedir, clientCLI::defaultSockPath);
     cli->setSockPath(sock_path);
     if (cli->connectToLM() != clientCLI::err_none) {
       fprintf(stderr, "%s: unable to connect to traffic_manager via %s\n", programName, cli->sockPath);

Modified: trafficserver/traffic/trunk/proxy/mgmt2/cli/CliUtils.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/cli/CliUtils.cc?rev=946150&r1=946149&r2=946150&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/cli/CliUtils.cc (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/cli/CliUtils.cc Wed May 19 12:26:02 2010
@@ -31,6 +31,7 @@
 
 #include "ink_unused.h"        /* MAGIC_EDITING_TAG */
 #include "inktomi++.h"
+#include "I_Layout.h"
 #include "CliUtils.h"
 #include "clientCLI.h"
 #include "MgmtSocket.h"
@@ -303,37 +304,10 @@ DEFAULT_TS_DIRECTORY_FILE
 int
 GetTSDirectory(char *ts_path, size_t ts_path_len)
 {
-  FILE *fp;
-  const char *env_path;
   struct stat s;
   int err;
 
-  if ((env_path = getenv("TS_ROOT"))) {
-    ink_strncpy(ts_path, env_path, ts_path_len);
-  } else {
-    if ((fp = fopen(DEFAULT_TS_DIRECTORY_FILE, "r")) != NULL) {
-      if (fgets(ts_path, ts_path_len, fp) == NULL) {
-        fclose(fp);
-        printf("\nInvalid contents in %s\n",DEFAULT_TS_DIRECTORY_FILE);
-        printf(" Please set correct path in env variable TS_ROOT \n");
-        return -1;
-      }
-      // strip newline if it exists
-      int len = strlen(ts_path);
-      if (ts_path[len - 1] == '\n') {
-        ts_path[len - 1] = '\0';
-      }
-      // strip trailing "/" if it exists
-      len = strlen(ts_path);
-      if (ts_path[len - 1] == '/') {
-        ts_path[len - 1] = '\0';
-      }
-
-      fclose(fp);
-    } else {
-      ink_strncpy(ts_path, PREFIX, ts_path_len);
-    }
-  }
+  ink_strncpy(ts_path, Layout::get()->bindir, ts_path_len);
 
   if ((err = stat(ts_path, &s)) < 0) {
     printf("unable to stat() TS PATH '%s': %d %d, %s\n",

Modified: trafficserver/traffic/trunk/proxy/mgmt2/cli/Makefile.am
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/cli/Makefile.am?rev=946150&r1=946149&r2=946150&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/cli/Makefile.am (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/cli/Makefile.am Wed May 19 12:26:02 2010
@@ -28,10 +28,7 @@ AM_CPPFLAGS = \
   -I$(top_srcdir)/proxy/mgmt2/utils \
   -I$(top_srcdir)/proxy/mgmt2/web2 \
   -I$(top_srcdir)/proxy \
-  $(iocore_include_dirs) \
-  -DPREFIX=\"$(prefix)\" \
-  -DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \
-  -DPKGLOCALSTATEDIR=\"$(pkglocalstatedir)\"
+  $(iocore_include_dirs)
 
 MGMT_DEFS = @MGMT_DEFS@
 DEFS += $(MGMT_DEFS)

Modified: trafficserver/traffic/trunk/proxy/mgmt2/cli/clientCLI.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/cli/clientCLI.cc?rev=946150&r1=946149&r2=946150&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/cli/clientCLI.cc (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/cli/clientCLI.cc Wed May 19 12:26:02 2010
@@ -30,6 +30,7 @@
  ****************************************************************************/
 
 #include "inktomi++.h"
+#include "I_Layout.h"
 #include "Tokenizer.h"
 #include "TextBuffer.h"
 #include "CliUtils.h"           /* cli_read_timeout(), cli_write_timeout(),GetTSDirectory() */
@@ -46,7 +47,7 @@ const char *
 
 #ifndef _WIN32
 const char *
-  clientCLI::defaultSockPath = DEFAULT_LOCAL_STATE_DIRECTORY "/cli";
+  clientCLI::defaultSockPath = "cli";
 #else
 const int
   clientCLI::defaultCliPort = 9000;
@@ -74,39 +75,10 @@ clientCLI::~clientCLI(void)
 int
 clientCLI::GetTSDirectory(char *ts_path, size_t ts_path_len)
 {
-  FILE *fp;
-  char *env_path;
-
   struct stat s;
   int err;
 
-  if ((env_path = getenv("TS_ROOT"))) {
-    ink_strncpy(ts_path, env_path, ts_path_len);
-  } else {
-    if ((fp = fopen(DEFAULT_TS_DIRECTORY_FILE, "r")) != NULL) {
-      if (fgets(ts_path, ts_path_len, fp) == NULL) {
-        fclose(fp);
-        fprintf(stderr,"\nInvalid contents in %s\n",DEFAULT_TS_DIRECTORY_FILE);
-        fprintf(stderr," Please set correct path in env variable TS_ROOT \n");
-        return -1;
-      }
-      // strip newline if it exists
-      int len = strlen(ts_path);
-      if (ts_path[len - 1] == '\n') {
-        ts_path[len - 1] = '\0';
-      }
-      // strip trailing "/" if it exists
-      len = strlen(ts_path);
-      if (ts_path[len - 1] == '/') {
-        ts_path[len - 1] = '\0';
-      }
-
-      fclose(fp);
-    } else {
-      ink_strncpy(ts_path, PREFIX, ts_path_len);
-    }
-  }
-
+  ink_strncpy(ts_path, Layout::get()->bindir, ts_path_len);
   if ((err = stat(ts_path, &s)) < 0) {
     fprintf(stderr,"unable to stat() TS PATH '%s': %d %d, %s\n",
               ts_path, err, errno, strerror(errno));
@@ -116,6 +88,7 @@ clientCLI::GetTSDirectory(char *ts_path,
 
   return 0;
 }
+
 void
 clientCLI::setSockPath(const char *path)
 {

Modified: trafficserver/traffic/trunk/proxy/mgmt2/cli/clientCLI.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/cli/clientCLI.h?rev=946150&r1=946149&r2=946150&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/cli/clientCLI.h (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/cli/clientCLI.h Wed May 19 12:26:02 2010
@@ -35,13 +35,6 @@
 #include "ink_platform.h"
 #include "inktomi++.h"
 
-// TODO: consolidate location of these defaults
-#define DEFAULT_ROOT_DIRECTORY            PREFIX
-#define DEFAULT_LOCAL_STATE_DIRECTORY     "var/trafficserver"
-#define DEFAULT_SYSTEM_CONFIG_DIRECTORY   "etc/trafficserver"
-#define DEFAULT_LOG_DIRECTORY             "var/log/trafficserver"
-#define DEFAULT_TS_DIRECTORY_FILE         PREFIX "/etc/traffic_server"
-
 class textBuffer;
 
 /* Client side part of CLI */

Modified: trafficserver/traffic/trunk/proxy/mgmt2/cli2/CliMgmtUtils.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/cli2/CliMgmtUtils.cc?rev=946150&r1=946149&r2=946150&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/cli2/CliMgmtUtils.cc (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/cli2/CliMgmtUtils.cc Wed May 19 12:26:02 2010
@@ -30,6 +30,7 @@
  ****************************************************************/
 
 #include "inktomi++.h"
+#include "I_Layout.h"
 #include <stdlib.h>
 #include <unistd.h>
 #include "CliMgmtUtils.h"
@@ -552,39 +553,10 @@ cliCheckIfEnabled(const char *command)
 int
 GetTSDirectory(char *ts_path, size_t ts_path_len)
 {
-  FILE *fp;
-  char *env_path;
-
-  struct stat s;
   int err;
+  struct stat s;
 
-  if ((env_path = getenv("TS_ROOT"))) {
-    ink_strncpy(ts_path, env_path, ts_path_len);
-  } else {
-    if ((fp = fopen(DEFAULT_TS_DIRECTORY_FILE, "r")) != NULL) {
-      if (fgets(ts_path, ts_path_len, fp) == NULL) {
-        fclose(fp);
-        Cli_Error("\nInvalid contents in %s\n",DEFAULT_TS_DIRECTORY_FILE);
-        Cli_Error(" Please set correct path in env variable TS_ROOT \n");
-        return -1;
-      }
-      // strip newline if it exists
-      int len = strlen(ts_path);
-      if (ts_path[len - 1] == '\n') {
-        ts_path[len - 1] = '\0';
-      }
-      // strip trailing "/" if it exists
-      len = strlen(ts_path);
-      if (ts_path[len - 1] == '/') {
-        ts_path[len - 1] = '\0';
-      }
-
-      fclose(fp);
-    } else {
-      ink_strncpy(ts_path, PREFIX, ts_path_len);
-    }
-  }
-
+  ink_strncpy(ts_path, Layout::get()->bindir, ts_path_len);
   if ((err = stat(ts_path, &s)) < 0) {
     Cli_Error("unable to stat() TS PATH '%s': %d %d, %s\n",
               ts_path, err, errno, strerror(errno));
@@ -598,13 +570,13 @@ GetTSDirectory(char *ts_path, size_t ts_
 int
 StopTrafficServer()
 {
-  char ts_path[512];
+  char ts_path[PATH_NAME_MAX + 1];
   char stop_ts[1024];
 
   if (GetTSDirectory(ts_path,sizeof(ts_path))) {
     return CLI_ERROR;
   }
-  snprintf(stop_ts, sizeof(stop_ts), "%s/bin/stop_traffic_server", ts_path);
+  snprintf(stop_ts, sizeof(stop_ts), "%s/stop_traffic_server", ts_path);
   if (system(stop_ts) == -1)
     return CLI_ERROR;
 
@@ -614,7 +586,7 @@ StopTrafficServer()
 int
 StartTrafficServer()
 {
-  char ts_path[512];
+  char ts_path[PATH_NAME_MAX + 1];
   char start_ts[1024];
 
   if (GetTSDirectory(ts_path,sizeof(ts_path))) {
@@ -622,9 +594,9 @@ StartTrafficServer()
   }
   // root user should start_traffic_shell as inktomi user
   if (getuid() == 0) {
-    snprintf(start_ts, sizeof(start_ts), "/bin/su - inktomi -c \"%s/bin/start_traffic_server\"", ts_path);
+    snprintf(start_ts, sizeof(start_ts), "/bin/su - inktomi -c \"%s/start_traffic_server\"", ts_path);
   } else {
-    snprintf(start_ts, sizeof(start_ts), "%s/bin/start_traffic_server", ts_path);
+    snprintf(start_ts, sizeof(start_ts), "%s/start_traffic_server", ts_path);
   }
   if (system(start_ts) == -1)
     return CLI_ERROR;

Modified: trafficserver/traffic/trunk/proxy/mgmt2/cli2/CliMgmtUtils.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/cli2/CliMgmtUtils.h?rev=946150&r1=946149&r2=946150&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/cli2/CliMgmtUtils.h (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/cli2/CliMgmtUtils.h Wed May 19 12:26:02 2010
@@ -29,19 +29,12 @@
  *
  ****************************************************************/
 
-#include "../api2/include/INKMgmtAPI.h"
+#include "INKMgmtAPI.h"
 
 #define PATH_NAME_MAX         511 // instead of PATH_MAX which is inconsistent
                                   // on various OSs (linux-4096,osx/bsd-1024,
                                   //                 windows-260,etc)
 
-// TODO: consolidate location of these defaults
-#define DEFAULT_ROOT_DIRECTORY            PREFIX
-#define DEFAULT_LOCAL_STATE_DIRECTORY     "var/trafficserver"
-#define DEFAULT_SYSTEM_CONFIG_DIRECTORY   "etc/trafficserver"
-#define DEFAULT_LOG_DIRECTORY             "var/log/trafficserver"
-#define DEFAULT_TS_DIRECTORY_FILE         PREFIX "/etc/traffic_server"
-
 #define RECORD_GET 0
 #define RECORD_SET 1
 

Modified: trafficserver/traffic/trunk/proxy/mgmt2/cli2/Makefile.am
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/cli2/Makefile.am?rev=946150&r1=946149&r2=946150&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/cli2/Makefile.am (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/cli2/Makefile.am Wed May 19 12:26:02 2010
@@ -25,10 +25,7 @@ AM_CPPFLAGS = \
   -I$(top_srcdir)/proxy \
   -I$(top_srcdir)/proxy/mgmt2/api2/include \
   -I$(top_srcdir)/proxy/mgmt2/tools \
-  $(iocore_include_dirs) \
-  -DPREFIX=\"$(prefix)\" \
-  -DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \
-  -DPKGLOCALSTATEDIR=\"$(pkglocalstatedir)\"
+  $(iocore_include_dirs)
 
 
 bin_PROGRAMS = traffic_shell

Modified: trafficserver/traffic/trunk/proxy/mgmt2/cli2/UtilCmds.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/cli2/UtilCmds.cc?rev=946150&r1=946149&r2=946150&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/cli2/UtilCmds.cc (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/cli2/UtilCmds.cc Wed May 19 12:26:02 2010
@@ -169,13 +169,14 @@ Cmd_ConfigRoot(ClientData clientData, Tc
     return CLI_OK;
 
   }
-  char ts_path[256];
+  char ts_path[1024];
   if (GetTSDirectory(ts_path,sizeof(ts_path))) {
     return CLI_ERROR;
   }
 
-  char command[512];
-  snprintf(command, sizeof(command), "/bin/su - root -c \"%s/bin/start_traffic_shell\"", ts_path);
+  char command[1024];
+  snprintf(command, sizeof(command),
+           "/bin/su - root -c \"%s/start_traffic_shell\"", ts_path);
 
   // start traffic_shell as root user
   // su will prompt user for root password

Modified: trafficserver/traffic/trunk/proxy/mgmt2/cli2/cliMain.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/cli2/cliMain.cc?rev=946150&r1=946149&r2=946150&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/cli2/cliMain.cc (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/cli2/cliMain.cc Wed May 19 12:26:02 2010
@@ -49,8 +49,6 @@ int version_flag = 0;
 int
 main(int argc, char *argv[])
 {
-  char root_path[PATH_NAME_MAX + 1];
-  char runtime_path[PATH_NAME_MAX + 1];
   INKError status;
 
   // build the application information structure
@@ -82,25 +80,13 @@ main(int argc, char *argv[])
   CliDisplayPrintf = 1;
 
   // initialize MgmtAPI using TS runtime directory
-  // TODO: This can be simplified
-  if (GetTSDirectory(root_path, sizeof(root_path))) {
-    status = INKInit(Layout::get()->runtimedir);
-    if (status) {
-      printf("INKInit %d: Failed to initialize MgmtAPI in %s\n",
-             status, Layout::get()->runtimedir);
-    } else {
-      printf("Successfully Initialized MgmtAPI in %s \n",
-             Layout::get()->runtimedir);
-    }
+  status = INKInit(Layout::get()->runtimedir);
+  if (status) {
+    printf("INKInit %d: Failed to initialize MgmtAPI in %s\n",
+           status, Layout::get()->runtimedir);
   } else {
-    Layout::relative_to(runtime_path, sizeof(runtime_path),
-                        root_path, Layout::get()->runtimedir);
-    // initialize MgmtAPI
-    INKError status = INKInit(runtime_path);
-    if (status) {
-      printf("INKInit %d: Failed to initialize MgmtAPI in %s\n",
-             status, runtime_path);
-    }
+    printf("Successfully Initialized MgmtAPI in %s \n",
+          Layout::get()->runtimedir);
   }
 
   register_event_callback();