Show a cover letter.

GET /api/covers/48125/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 48125,
    "url": "http://patchwork.dpdk.org/api/covers/48125/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/cover.1542291869.git.anatoly.burakov@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<cover.1542291869.git.anatoly.burakov@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/cover.1542291869.git.anatoly.burakov@intel.com",
    "date": "2018-11-15T15:47:12",
    "name": "[RFC,v2,0/9] Modularize and enhance DPDK Python scripts",
    "submitter": {
        "id": 4,
        "url": "http://patchwork.dpdk.org/api/people/4/?format=api",
        "name": "Anatoly Burakov",
        "email": "anatoly.burakov@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/cover.1542291869.git.anatoly.burakov@intel.com/mbox/",
    "series": [
        {
            "id": 2442,
            "url": "http://patchwork.dpdk.org/api/series/2442/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=2442",
            "date": "2018-11-15T15:47:16",
            "name": "Modularize and enhance DPDK Python scripts",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/2442/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/48125/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 259124CB5;\n\tThu, 15 Nov 2018 16:47:28 +0100 (CET)",
            "from mga17.intel.com (mga17.intel.com [192.55.52.151])\n\tby dpdk.org (Postfix) with ESMTP id 179894C95\n\tfor <dev@dpdk.org>; Thu, 15 Nov 2018 16:47:24 +0100 (CET)",
            "from orsmga004.jf.intel.com ([10.7.209.38])\n\tby fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t15 Nov 2018 07:47:24 -0800",
            "from irvmail001.ir.intel.com ([163.33.26.43])\n\tby orsmga004.jf.intel.com with ESMTP; 15 Nov 2018 07:47:21 -0800",
            "from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com\n\t[10.237.217.45])\n\tby irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id\n\twAFFlLWG024789; Thu, 15 Nov 2018 15:47:21 GMT",
            "from sivswdev01.ir.intel.com (localhost [127.0.0.1])\n\tby sivswdev01.ir.intel.com with ESMTP id wAFFlLu4028092;\n\tThu, 15 Nov 2018 15:47:21 GMT",
            "(from aburakov@localhost)\n\tby sivswdev01.ir.intel.com with LOCAL id wAFFlLDO028088;\n\tThu, 15 Nov 2018 15:47:21 GMT"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.56,236,1539673200\"; d=\"scan'208\";a=\"249967027\"",
        "From": "Anatoly Burakov <anatoly.burakov@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "john.mcnamara@intel.com, bruce.richardson@intel.com,\n\tpablo.de.lara.guarch@intel.com, david.hunt@intel.com,\n\tmohammad.abdul.awal@intel.com, thomas@monjalon.net,\n\tferruh.yigit@intel.com",
        "Date": "Thu, 15 Nov 2018 15:47:12 +0000",
        "Message-Id": "<cover.1542291869.git.anatoly.burakov@intel.com>",
        "X-Mailer": "git-send-email 1.7.0.7",
        "In-Reply-To": "<cover.1529940601.git.anatoly.burakov@intel.com>",
        "References": "<cover.1529940601.git.anatoly.burakov@intel.com>",
        "Subject": "[dpdk-dev] [RFC v2 0/9] Modularize and enhance DPDK Python scripts",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "This patchset attempts to create a library out of Python scripts that\ncome with DPDK, with a goal of enabling external tools to get the same\ninformation about the system DPDK has, and perhaps configure DPDK.\n\nPotential applications include:\n\n* Better setup.sh script (it's long overdue, and you know it!)\n* Easier development of better tools for developers (see hugepage-info\n  example)\n* Easier gathering of DPDK-centric system information, has potential\n  applications in troubleshooting tools\n* Reduce code duplication for internal (e.g. quickstart [1], setup.sh)\n  and external tools seeking to use the same functionality\n* Add cross-platform support for our scripts (see cpu-layout example\n  now working on FreeBSD)\n\nThere are a few things to mention. First of all, it's an RFC, so the\nfact that it's unfinished and maybe awkward comes with the territory.\nI am also aware of the fact that it's a Python library, that it's\noutside the scope of DPDK and that it's somewhat a Not-Invented-Here\nkind of proposition where there are a lot of externally available\n(which are much better designed and implemented) tools that do the\nsame thing.\n\nSo the first question i would like to ask is, is the community at all\ninterested in something like this? Does it have to be part of DPDK\nrepository? Can it be maintained in a separate repository? How do we\nhandle updates and dependencies?\n\nAn alternative approach to something like this would be to\nacknowledge the fact that we cannot do everything on our own, and\npull in additional dependencies (preferably automatically - this\ncan be done through pip, everyone has it and it's not that hard!)\ninstead of relying on hacky scripts we currently have. The point\nis - we do need better tooling, better setup scripts and better\nOS/machine logging/troubleshooting tools.\n\nI should also mention that it is *not* intended to be a replacement\nfor udev or any other method of device binding - if anything, it's\nthe opposite, in that it takes the whole issue out of the question\nand thus would make switching to udev or any other device binding\neasier since both internal and external tools can utilize the same\nPython API.\n\n[1] http://patches.dpdk.org/patch/47475/\n\nRFC v2:\n- Rebased on latest 18.11 master (rc3)\n- Added compressdev support in DevInfo library\n\nAnatoly Burakov (9):\n  usertools: add DPDK config lib python library\n  usertools/lib: add platform info library\n  usertools/cpu_layout: rewrite to use DPDKConfigLib\n  usertools/lib: support FreeBSD for platform info\n  usertools/lib: add device information library\n  usertools/devbind: switch to using DPDKConfigLib\n  usertools/lib: add hugepage information library\n  usertools: add hugepage info script\n  usertools/lib: add GRUB utility library for hugepage config\n\n usertools/DPDKConfigLib/DevInfo.py      | 424 +++++++++++++++++++\n usertools/DPDKConfigLib/DevUtil.py      | 242 +++++++++++\n usertools/DPDKConfigLib/GrubHugeUtil.py | 175 ++++++++\n usertools/DPDKConfigLib/HugeUtil.py     | 309 ++++++++++++++\n usertools/DPDKConfigLib/PlatformInfo.py | 205 +++++++++\n usertools/DPDKConfigLib/Util.py         |  84 ++++\n usertools/DPDKConfigLib/__init__.py     |   0\n usertools/cpu_layout.py                 |  53 +--\n usertools/dpdk-devbind.py               | 533 ++++--------------------\n usertools/hugepage-info.py              |  32 ++\n 10 files changed, 1558 insertions(+), 499 deletions(-)\n create mode 100755 usertools/DPDKConfigLib/DevInfo.py\n create mode 100755 usertools/DPDKConfigLib/DevUtil.py\n create mode 100755 usertools/DPDKConfigLib/GrubHugeUtil.py\n create mode 100755 usertools/DPDKConfigLib/HugeUtil.py\n create mode 100755 usertools/DPDKConfigLib/PlatformInfo.py\n create mode 100755 usertools/DPDKConfigLib/Util.py\n create mode 100644 usertools/DPDKConfigLib/__init__.py\n create mode 100755 usertools/hugepage-info.py"
}