Whamcloud - gitweb
EX-3046 lipe: remove IML sockets
authorJohn L. Hammond <jhammond@whamcloud.com>
Wed, 21 Apr 2021 15:28:26 +0000 (10:28 -0500)
committerAndreas Dilger <adilger@whamcloud.com>
Thu, 15 Jul 2021 02:41:11 +0000 (02:41 +0000)
Remove the untested and unmaintained IML sockets from lamigo and
lpurge.

Lustre-change: https://review.whamcloud.com/43374
Lustre-commit: 1e58e57300484952da3e4e7801c8f0d1a9aa5b84

Test-Parameters: trivial
Signed-off-by: John L. Hammond <jhammond@whamcloud.com>
Change-Id: I75346b7a1478b9f5902e4b139f2ee9e2fca67ffc
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/44221
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lipe/src/lamigo.c
lipe/src/lamigo.h
lipe/src/lpurge.c

index 323a5aa..62e7b81 100644 (file)
@@ -51,7 +51,6 @@
 #include <libssh/callbacks.h>
 #include "policy.h"
 #include "list.h"
-#include "flist.h"
 #include "debug.h"
 #include "lipe_object_attrs.h"
 #include "lipe_ssh.h"
@@ -95,11 +94,6 @@ __u64 lamigo_rule_attrs; /* attributes needed to evalute the rules */
 
 static void usage(void)
 {
-       /*
-        * internal option:
-        * --iml-re-socket, unix domain socket to dump FIDs to resync
-        * --iml-ex-socket, unix domain socket to dump FIDs to extend
-        */
        printf("\nUsage: %s [options]\n"
               "options:\n"
               "\t-a, --min-age, seconds before record handled (default: %u)\n"
@@ -293,15 +287,9 @@ struct pool_list *src_pools; /* source pools */
 struct pool_list *tgt_pools; /* target pool */
 static void *lamigo_refresh_statfs_thread(void *arg);
 
-inline int are_agents_busy(void)
+static inline bool are_agents_busy(void)
 {
-       if (opt.o_iml_re_socket)
-               return 0;
-
-       if (lamigo_jobs_running >= lamigo_max_jobs)
-               return 1;
-
-       return 0;
+       return lamigo_jobs_running >= lamigo_max_jobs;
 }
 
 /* Convert human readable size string to and int; "1k" -> 1000 */
@@ -358,21 +346,6 @@ static void systemf(const char *fmt, ...)
        free(cmd);
 }
 
-static struct lipe_flist *lamigo_flist_init(char *socket)
-{
-       struct lipe_flist *flist = flist_alloc(NULL, 1024,
-                                  socket, LDT_UNIX_SOCKET);
-       if (flist == NULL) {
-               llapi_error(LLAPI_MSG_ERROR|LLAPI_MSG_NO_ERRNO, 0,
-                            "failed to alloc fid list for socket %s: %s\n",
-                            socket,
-                            strerror(errno));
-               return NULL;
-       }
-
-       return flist;
-}
-
 void lamigo_usr1_handle(int sig)
 {
        struct resync_agent *a;
@@ -444,11 +417,6 @@ void lamigo_usr1_handle(int sig)
                        "    open: %d\n", pl->pl_pool, pl->pl_ostnr,
                        pl->pl_avail, pl->pl_total, (int)pl->pl_open);
 
-       if (opt.o_iml_re_socket)
-               fprintf(f, "    iml_re_socket: %s\n", opt.o_iml_re_socket);
-       if (opt.o_iml_ex_socket)
-               fprintf(f, "    iml_ex_socket: %s\n", opt.o_iml_ex_socket);
-
        fprintf(f, "stats:\n"
                "    read: %lu\n"
                "    skipped: %lu\n"
@@ -541,15 +509,6 @@ static int lamigo_init_cache(void)
        if (rc)
                return rc;
 
-       if (opt.o_iml_re_socket) {
-               opt.o_re_flist = lamigo_flist_init(opt.o_iml_re_socket);
-               if (opt.o_re_flist == NULL)
-                       return -errno;
-               opt.o_ex_flist = lamigo_flist_init(opt.o_iml_ex_socket);
-               if (opt.o_ex_flist == NULL)
-                       return -errno;
-       }
-
        return 0;
 }
 
@@ -592,31 +551,6 @@ static void lamigo_cleanup(void)
 
 extern char **environ;
 
-/* json format: { "fid": "[FID]" }
- * written to either MIRROR or EXTEND socket
- */
-static int lamigo_flist_add_fid(struct lu_fid *fid, int resync)
-{
-       int rc;
-       const char *output;
-       char fid_buf[FID_LEN + 1];
-       struct json_object *obj_top;
-
-       obj_top = json_object_new_object();
-       snprintf(fid_buf, sizeof(fid_buf), DFID, PFID(fid));
-       json_object_object_add(obj_top, "fid",
-                              json_object_new_string(fid_buf));
-       output = json_object_to_json_string_ext(obj_top,
-                                               JSON_C_TO_STRING_PLAIN);
-       if (resync == AMIGO_RESYNC_RESYNC)
-               rc = flist_add_one(opt.o_re_flist, output);
-       else // AMIGO_RESYNC_EXTEND
-               rc = flist_add_one(opt.o_ex_flist, output);
-       json_object_put(obj_top);
-
-       return rc;
-}
-
 static int lamigo_exec_cmd(struct resync_agent *a, char *cmd)
 {
        struct resync_ssh_session *rss;
@@ -1368,17 +1302,6 @@ static int lamigo_update_one(struct fid_rec *f)
                return 0;
        }
 
-       if (opt.o_iml_re_socket) {
-               rc = lamigo_flist_add_fid(&f->fr_fh.fh_fid, resync);
-               if (rc < 0) {
-                       llapi_error(LLAPI_MSG_DEBUG|LLAPI_MSG_NO_ERRNO, 0,
-                                    "can't add "DFID": rc=%d\n",
-                                    PFID(&f->fr_fh.fh_fid), rc);
-                       return 1;
-               }
-               return 0;
-       }
-
        rj = calloc(1, sizeof(struct resync_job));
        if (rj == NULL) {
                llapi_error(LLAPI_MSG_DEBUG|LLAPI_MSG_NO_ERRNO, 0, "can't allocate for a job\n");
@@ -1418,11 +1341,6 @@ static int lamigo_start_update(int count)
                }
        }
 
-       if (opt.o_iml_re_socket) {
-               flist_write(opt.o_re_flist, true);
-               flist_write(opt.o_ex_flist, true);
-       }
-
        return rc;
 }
 
@@ -1788,8 +1706,6 @@ static void lamigo_add_agent(const char *host, const char *mnt, char *jobs)
        lamigo_agent_count++;
 }
 
-#define LAMIGO_OPT_IML_RE_SOCKET       1
-#define LAMIGO_OPT_IML_EX_SOCKET       2
 #define LAMIGO_OPT_POOL_REFRESH                3
 #define LAMIGO_OPT_PROGRESS_INTV       4
 #define LAMIGO_OPT_MIRROR_CMD          5
@@ -1825,8 +1741,6 @@ static struct option options[] = {
        { "heatfn", required_argument, NULL, 'H'},
        { "hot_after_idle", required_argument, NULL, 'I'},
        { "heat-dump", required_argument, NULL, 'W'},
-       { "iml-re-socket", required_argument, NULL, LAMIGO_OPT_IML_RE_SOCKET},
-       { "iml-ex-socket", required_argument, NULL, LAMIGO_OPT_IML_EX_SOCKET},
        { "max-cache", required_argument, NULL, 'c'},
        { "min-age", required_argument, NULL, 'a'},
        { "mirror-cmd", required_argument, NULL, LAMIGO_OPT_MIRROR_CMD},
@@ -2091,12 +2005,6 @@ void lamigo_process_opt(int c, char *optarg)
                        exit(1);
                }
                break;
-       case LAMIGO_OPT_IML_RE_SOCKET:
-               opt.o_iml_re_socket = strdup(optarg);
-               break;
-       case LAMIGO_OPT_IML_EX_SOCKET:
-               opt.o_iml_ex_socket = strdup(optarg);
-               break;
        case LAMIGO_OPT_MIRROR_CMD:
                opt.o_mirror_cmd = strdup(optarg);
                break;
@@ -2501,16 +2409,7 @@ void lamigo_parse_opts(int argc, char **argv)
                exit(1);
        }
 
-       // Indepenedent operation vs IML integration
-       if (opt.o_iml_re_socket || opt.o_iml_ex_socket) {
-               if (opt.o_iml_re_socket == NULL ||
-                   opt.o_iml_ex_socket == NULL) {
-                       llapi_err_noerrno(LLAPI_MSG_ERROR,
-                                         "Both or neither sockets must be defined");
-                       exit(1);
-               }
-
-       } else if (lipe_list_empty(&lamigo_agent_list)) {
+       if (lipe_list_empty(&lamigo_agent_list)) {
                llapi_err_noerrno(LLAPI_MSG_ERROR, "no agents configured?\n");
                exit(1);
        }
@@ -2566,18 +2465,6 @@ static int lamigo_create_job(struct lu_fid *fid,
                             struct mirror_opts *mo)
 {
        struct resync_job *rj;
-       int rc;
-
-       if (opt.o_iml_re_socket) {
-               rc = lamigo_flist_add_fid(fid, resync);
-               if (rc < 0) {
-                       llapi_error(LLAPI_MSG_DEBUG|LLAPI_MSG_NO_ERRNO, 0,
-                                       "can't add "DFID": rc=%d\n",
-                                       PFID(fid), rc);
-                       return 1;
-               }
-               return 0;
-       }
 
        rj = calloc(1, sizeof(struct resync_job));
        if (rj == NULL) {
index 0e7f0ec..bb7421e 100644 (file)
@@ -81,8 +81,6 @@ struct options {
        bool             o_rescan;
        char            *o_mirror_cmd;
        int              o_num_threads;
-       char            *o_iml_re_socket;
-       char            *o_iml_ex_socket;
        int              o_pool_refresh;
        int              o_statfs_refresh;
        int              o_src_free;
@@ -102,8 +100,6 @@ struct options {
        int              o_alr_ignore_reads;
        int              o_alr_ignore_writes;
        char            *o_heat_file;
-       struct lipe_flist *o_re_flist;
-       struct lipe_flist *o_ex_flist;
 };
 extern struct options opt;
 extern int enable_heat;
index c1361c1..eeead4c 100644 (file)
@@ -132,7 +132,6 @@ struct options {
        char            *o_device;
        char            *o_dumpfile;
        char            *o_fids_dumpfile;
-       char            *o_iml_socket;
        char            *o_mountpoint;
        char            *o_pool;
        unsigned int    o_max_jobs;
@@ -174,36 +173,11 @@ char *prog;
 
 void load_config(char *name);
 
-struct lipe_flist *lflist;
 #define LPURGE_FLIST_SIZE (1024 * 1024)
 
-static int lpurge_init_flist(void)
-{
-       if (opt.o_iml_socket) {
-               lflist = flist_alloc(NULL, LPURGE_FLIST_SIZE,
-                                    opt.o_iml_socket,
-                                    LDT_UNIX_SOCKET);
-       } else {
-               llapi_printf(LLAPI_MSG_FATAL,
-                            "no valid output found, exit\n");
-               return -1;
-       }
-
-       if (lflist == NULL) {
-               llapi_printf(LLAPI_MSG_FATAL,
-                            "failed to alloc fid list, %s\n",
-                            strerror(errno));
-               return -errno;
-       }
-
-       return 0;
-}
-
 static void sig_handler(int signal)
 {
        psignal(signal, "exiting");
-       if (lflist)
-               flist_free(lflist);
 
        _exit(0);
 }
@@ -271,7 +245,6 @@ void usage(void)
               "\t-h, --freehi, high watermark, %% of space (default: %u)\n"
               "\t--help, print this help message\n"
               "\t-i, --interval, seconds to next check (default: %u)\n"
-              "\t--iml_socket, do not purge, just dump found objects to domain socket\n"
               "\t-j, --max_jobs, max.jobs to release replicas (default: %u)\n"
               "\t-l, --freelo, low watermark, %% of space (default: %u)\n"
               "\t-m, --mds, MDS idx:host:mountpoint (can specify multiple)\n"
@@ -305,12 +278,6 @@ void usage(void)
               "\tpool=<pool>\n"
               "\tmds=0:mds1host:/mnt/lustre\n"
               "\tmds=1:mds2host:/mnt/lustre2\n");
-       printf("  config example dryrun:\n"
-              "\tdevice=lustre-OST0000\n"
-              "\timl_socket=/tmp/socket.lpurge\n"
-              "\tfreelo=20\n"
-              "\tfreehi=30\n"
-              "\tpool=<pool>\n");
        exit(0);
 }
 
@@ -1308,9 +1275,8 @@ void parse_mountpoint(const char *name)
        }
 }
 
-#define LPURGE_INTERNAL_DUMP_FIDS      1
-#define LPURGE_OPT_IML_SOCKET          2
-#define LPURGE_OPT_VERSION 3
+#define LPURGE_INTERNAL_DUMP_FIDS 1
+#define LPURGE_OPT_VERSION 2
 
 static struct option options[] = {
        { "device", required_argument, NULL, 'D'},
@@ -1322,8 +1288,6 @@ static struct option options[] = {
        { "freelo", required_argument, NULL, 'l'},
        { "help", no_argument, NULL, 'H' },
        { "interval", required_argument, NULL, 'i'},
-       { "iml_socket", required_argument, NULL, LPURGE_OPT_IML_SOCKET},
-       { "listen_socket", required_argument, NULL, 's'},
        { "max_jobs", required_argument, NULL, 'j'},
        { "mds", required_argument, NULL, 'm'},
        { "mount", required_argument, NULL, 'M'},
@@ -1436,12 +1400,6 @@ void lpurge_process_opt(int c, char *optarg)
                }
                opt.o_scan_rate = value;
                break;
-       case 's':
-               llapi_printf(LLAPI_MSG_WARN,
-                           "'-s' and '--listen-socket' are deprecated, use '--iml-socket' instead\n");
-       case LPURGE_OPT_IML_SOCKET:
-               opt.o_iml_socket = strdup(optarg);
-               break;
        case 'S':
                value = strtol(optarg, &endptr, 10);
                if (*endptr != '\0' || value < 0) {
@@ -1584,7 +1542,7 @@ void lpurge_verify_opts(void)
                opt.o_fids_dumpfile = strdup(buf);
        }
 
-       if (opt.o_iml_socket == NULL && lustre_fd < 0) {
+       if (lustre_fd < 0) {
                llapi_printf(LLAPI_MSG_ERROR,
                             "client mountpoint is not defined\n");
                exit(1);
@@ -1620,16 +1578,6 @@ void lpurge_verify_opts(void)
                             sysconf(_SC_NPROCESSORS_ONLN));
        }
 
-       // IML Integration
-       if (opt.o_iml_socket) {
-               int rc;
-
-               rc = lpurge_init_flist();
-               if (rc)
-                       exit(rc);
-               return;
-       }
-
        if (opt.o_max_jobs < 1 || opt.o_max_jobs > 1024) {
                llapi_printf(LLAPI_MSG_FATAL,
                             "invalid max_jobs: %d\n", opt.o_max_jobs);
@@ -1643,7 +1591,7 @@ void lpurge_parse_opts(int argc, char **argv)
        int c;
 
        while ((c = getopt_long(argc, argv,
-                               "dD:b::nh:l:i:s:j:M:m:p:R:t:S:f:w:?",
+                               "dD:b::nh:l:i:j:M:m:p:R:t:S:f:w:?",
                                options, NULL))
               != EOF) {
                /* Don't do further process if invalid option found */
@@ -1698,8 +1646,6 @@ void lpurge_usr1_handle(int sig)
                opt.o_device, opt.o_mountpoint, opt.o_pool,
                opt.o_max_jobs, opt.o_interval, opt.o_scan_rate,
                opt.o_scan_threads, opt.o_slot_size);
-       if (opt.o_iml_socket)
-               fprintf(f, "    iml_socket: %s\n", opt.o_iml_socket);
 
        fprintf(f, "stats:\n"
                "    scans: %lu\n"