)]}'
{"openvswitch/Dockerfile.ubuntu_bionic-dpdk":[{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"5c4ee39e7a55d934cca72806139c9a302f095992","unresolved":false,"context_lines":[{"line_number":7,"context_line":"ARG DPDK_SRC_COMPILE_VERSION\u003d\"\""},{"line_number":8,"context_line":"ARG OVS_PATCH_FILE_NAME\u003d\"\""},{"line_number":9,"context_line":"ARG DPDK_PATCH_FILE_NAME\u003d\"\""},{"line_number":10,"context_line":"ARG LINUX_HEADERS_PACKAGE\u003d\"linux-headers-4.15.0-54-generic\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${OVS_PATCH_FILE_NAME}* ./"},{"line_number":13,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${DPDK_PATCH_FILE_NAME}* ./"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"7faddb67_95e46e3e","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":59},"updated":"2019-07-22 08:18:51.000000000","message":"I strongly recommend not to tie the container image to a particular kernel version. Doing this requires to run the very same kernel on the host OS and in the container image, i.e., keeping both in sync. This is typically not wanted. Instead, I recommend to disable all kernel dependend functionality in the DPDK source build, which only affects the KNI interface and UIO drivers.\n\nMoreover, it might be useful to add a march flag to control the optimizations GCC applies. We ran into issues with images built on a Haswell CPU crashing on SandyBridge CPUs.\n\nWe did work on this some time ago but abandoned it in favor of the distribution provided images. Still, if we decide to add this functionality to the Dockerfile, please see this file (lines 42-45):\n\nhttp://paste.openstack.org/show/754706/","commit_id":"b26bd73089de1347464f2e19d16e2930c0fbeae0"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"400f9d60ac6d72ee439df563ac08732f553a3188","unresolved":false,"context_lines":[{"line_number":7,"context_line":"ARG DPDK_SRC_COMPILE_VERSION\u003d\"\""},{"line_number":8,"context_line":"ARG OVS_PATCH_FILE_NAME\u003d\"\""},{"line_number":9,"context_line":"ARG DPDK_PATCH_FILE_NAME\u003d\"\""},{"line_number":10,"context_line":"ARG LINUX_HEADERS_PACKAGE\u003d\"linux-headers-4.15.0-54-generic\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${OVS_PATCH_FILE_NAME}* ./"},{"line_number":13,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${DPDK_PATCH_FILE_NAME}* ./"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"7faddb67_97bf8bcf","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":59},"in_reply_to":"7faddb67_95e46e3e","updated":"2019-07-22 16:43:52.000000000","message":"I agree, will make the required correction as per the reference you provided. Thanks","commit_id":"b26bd73089de1347464f2e19d16e2930c0fbeae0"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"bc2088c0c2197f1cda045557ca8303edaed2ba3d","unresolved":false,"context_lines":[{"line_number":14,"context_line":"ARG OVS_PATCH_FILE_NAME\u003d\"\""},{"line_number":15,"context_line":"ARG DPDK_PATCH_FILE_NAME\u003d\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${OVS_PATCH_FILE_NAME}* ./"},{"line_number":18,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${DPDK_PATCH_FILE_NAME}* ./"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"RUN set -ex;\\"},{"line_number":21,"context_line":"    rm -rf Dockerfile.ubuntu_bionic-dpdk ;\\"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7faddb67_238452b1","line":18,"range":{"start_line":17,"start_character":0,"end_line":18,"end_character":61},"updated":"2019-07-23 06:27:43.000000000","message":"nit: You have added Dockerfile.ubuntu_bionic-dpdk twice. Can we merge this two \u0027ADD\u0027 into one?","commit_id":"574212dbcb9942f51e6a729d328e60fe223c7761"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"520c191d238474e92b6ecdaaec1a9132ed1d5106","unresolved":false,"context_lines":[{"line_number":14,"context_line":"ARG OVS_PATCH_FILE_NAME\u003d\"\""},{"line_number":15,"context_line":"ARG DPDK_PATCH_FILE_NAME\u003d\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${OVS_PATCH_FILE_NAME}* ./"},{"line_number":18,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${DPDK_PATCH_FILE_NAME}* ./"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"RUN set -ex;\\"},{"line_number":21,"context_line":"    rm -rf Dockerfile.ubuntu_bionic-dpdk ;\\"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7faddb67_2a62dbd9","line":18,"range":{"start_line":17,"start_character":0,"end_line":18,"end_character":61},"in_reply_to":"7faddb67_238452b1","updated":"2019-07-23 15:08:56.000000000","message":"Done","commit_id":"574212dbcb9942f51e6a729d328e60fe223c7761"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"bc2088c0c2197f1cda045557ca8303edaed2ba3d","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        DPDK_PATCH_TMP_DIR\u003d$(mktemp -d) ;\\"},{"line_number":30,"context_line":"        mv ./${DPDK_PATCH_FILE_NAME} ${DPDK_PATCH_TMP_DIR}/${DPDK_PATCH_FILE_NAME} ;\\"},{"line_number":31,"context_line":"      fi ;\\"},{"line_number":32,"context_line":"      apt-get upgrade -y ;\\"},{"line_number":33,"context_line":"      apt-get install --no-install-recommends -y \\"},{"line_number":34,"context_line":"        bash ;\\"},{"line_number":35,"context_line":"      apt-get install --no-install-recommends -y \\"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7faddb67_c9aa3f70","line":32,"range":{"start_line":32,"start_character":5,"end_line":32,"end_character":27},"updated":"2019-07-23 06:27:43.000000000","message":"Is the upgrade necessary?","commit_id":"574212dbcb9942f51e6a729d328e60fe223c7761"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"520c191d238474e92b6ecdaaec1a9132ed1d5106","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        DPDK_PATCH_TMP_DIR\u003d$(mktemp -d) ;\\"},{"line_number":30,"context_line":"        mv ./${DPDK_PATCH_FILE_NAME} ${DPDK_PATCH_TMP_DIR}/${DPDK_PATCH_FILE_NAME} ;\\"},{"line_number":31,"context_line":"      fi ;\\"},{"line_number":32,"context_line":"      apt-get upgrade -y ;\\"},{"line_number":33,"context_line":"      apt-get install --no-install-recommends -y \\"},{"line_number":34,"context_line":"        bash ;\\"},{"line_number":35,"context_line":"      apt-get install --no-install-recommends -y \\"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7faddb67_6a20d34a","line":32,"range":{"start_line":32,"start_character":5,"end_line":32,"end_character":27},"in_reply_to":"7faddb67_c9aa3f70","updated":"2019-07-23 15:08:56.000000000","message":"I tested with upgrade and it worked. So I will remove it","commit_id":"574212dbcb9942f51e6a729d328e60fe223c7761"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"bc2088c0c2197f1cda045557ca8303edaed2ba3d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"      apt-get install --no-install-recommends -y \\"},{"line_number":34,"context_line":"        bash ;\\"},{"line_number":35,"context_line":"      apt-get install --no-install-recommends -y \\"},{"line_number":36,"context_line":"        build-essential \\"},{"line_number":37,"context_line":"        curl \\"},{"line_number":38,"context_line":"        libatomic1 \\"},{"line_number":39,"context_line":"        libssl1.1 \\"},{"line_number":40,"context_line":"        openssl \\"},{"line_number":41,"context_line":"        uuid-runtime \\"},{"line_number":42,"context_line":"        graphviz \\"},{"line_number":43,"context_line":"        autoconf \\"},{"line_number":44,"context_line":"        automake \\"},{"line_number":45,"context_line":"        bzip2 \\"},{"line_number":46,"context_line":"        debhelper \\"},{"line_number":47,"context_line":"        dh-autoreconf \\"},{"line_number":48,"context_line":"        libssl-dev \\"},{"line_number":49,"context_line":"        libtool \\"},{"line_number":50,"context_line":"        python-all \\"},{"line_number":51,"context_line":"        python-six \\"},{"line_number":52,"context_line":"        python-twisted-conch \\"},{"line_number":53,"context_line":"        python-zopeinterface \\"},{"line_number":54,"context_line":"        libnuma-dev ;\\"},{"line_number":55,"context_line":"      TMP_DIR\u003d$(mktemp -d) ;\\"},{"line_number":56,"context_line":"      curl -sSL http://fast.dpdk.org/rel/dpdk-${DPDK_SRC_COMPILE_VERSION}.tar.xz | tar xJ -C ${TMP_DIR} --strip-components\u003d1 ;\\"},{"line_number":57,"context_line":"      export DPDK_DIR\u003d${TMP_DIR} ;\\"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7faddb67_c9c31f38","line":54,"range":{"start_line":36,"start_character":0,"end_line":54,"end_character":22},"updated":"2019-07-23 06:27:43.000000000","message":"Do we still need all the packages after build/install? Otherwise, we need to uninstall the unneeded packages to make the image size smaller.","commit_id":"574212dbcb9942f51e6a729d328e60fe223c7761"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"520c191d238474e92b6ecdaaec1a9132ed1d5106","unresolved":false,"context_lines":[{"line_number":33,"context_line":"      apt-get install --no-install-recommends -y \\"},{"line_number":34,"context_line":"        bash ;\\"},{"line_number":35,"context_line":"      apt-get install --no-install-recommends -y \\"},{"line_number":36,"context_line":"        build-essential \\"},{"line_number":37,"context_line":"        curl \\"},{"line_number":38,"context_line":"        libatomic1 \\"},{"line_number":39,"context_line":"        libssl1.1 \\"},{"line_number":40,"context_line":"        openssl \\"},{"line_number":41,"context_line":"        uuid-runtime \\"},{"line_number":42,"context_line":"        graphviz \\"},{"line_number":43,"context_line":"        autoconf \\"},{"line_number":44,"context_line":"        automake \\"},{"line_number":45,"context_line":"        bzip2 \\"},{"line_number":46,"context_line":"        debhelper \\"},{"line_number":47,"context_line":"        dh-autoreconf \\"},{"line_number":48,"context_line":"        libssl-dev \\"},{"line_number":49,"context_line":"        libtool \\"},{"line_number":50,"context_line":"        python-all \\"},{"line_number":51,"context_line":"        python-six \\"},{"line_number":52,"context_line":"        python-twisted-conch \\"},{"line_number":53,"context_line":"        python-zopeinterface \\"},{"line_number":54,"context_line":"        libnuma-dev ;\\"},{"line_number":55,"context_line":"      TMP_DIR\u003d$(mktemp -d) ;\\"},{"line_number":56,"context_line":"      curl -sSL http://fast.dpdk.org/rel/dpdk-${DPDK_SRC_COMPILE_VERSION}.tar.xz | tar xJ -C ${TMP_DIR} --strip-components\u003d1 ;\\"},{"line_number":57,"context_line":"      export DPDK_DIR\u003d${TMP_DIR} ;\\"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7faddb67_60447575","line":54,"range":{"start_line":36,"start_character":0,"end_line":54,"end_character":22},"in_reply_to":"7faddb67_c9c31f38","updated":"2019-07-23 15:08:56.000000000","message":"Done","commit_id":"574212dbcb9942f51e6a729d328e60fe223c7761"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"cba71bedcc654e908c156137961075938f2c46e1","unresolved":false,"context_lines":[{"line_number":14,"context_line":"ARG OVS_PATCH_FILE_NAME\u003d\"\""},{"line_number":15,"context_line":"ARG DPDK_PATCH_FILE_NAME\u003d\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${OVS_PATCH_FILE_NAME}* ${DPDK_PATCH_FILE_NAME}* ./"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RUN set -ex;\\"},{"line_number":20,"context_line":"    rm -rf Dockerfile.ubuntu_bionic-dpdk ;\\"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"7faddb67_2a189073","line":17,"range":{"start_line":17,"start_character":4,"end_line":17,"end_character":33},"updated":"2019-07-24 03:46:49.000000000","message":"Not seeing this file be used in later steps. What is the file for?","commit_id":"39b538357b3329c1977ecd7ce50eeec2e2622cd5"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"fbc2ee34c8a7567548fa6c63d0c15dc6efb90599","unresolved":false,"context_lines":[{"line_number":14,"context_line":"ARG OVS_PATCH_FILE_NAME\u003d\"\""},{"line_number":15,"context_line":"ARG DPDK_PATCH_FILE_NAME\u003d\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${OVS_PATCH_FILE_NAME}* ${DPDK_PATCH_FILE_NAME}* ./"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RUN set -ex;\\"},{"line_number":20,"context_line":"    rm -rf Dockerfile.ubuntu_bionic-dpdk ;\\"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"7faddb67_3d8f20ce","line":17,"range":{"start_line":17,"start_character":4,"end_line":17,"end_character":33},"in_reply_to":"7faddb67_2a189073","updated":"2019-07-30 16:41:18.000000000","message":"This file is not used, but as docker doesn\u0027t support copying a file conditionally there this is a workaround/hack. This ADD command will work regardless of whether the patch files exist or not, but for that we must put the name of any one valid file. As we know Dockerfile.ubuntu_bionic-dpdk must always be there (this being the file via docker build is being run) so I used it. Later on I remove it as well so that it is not part of the image eventually","commit_id":"39b538357b3329c1977ecd7ce50eeec2e2622cd5"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"5e240a0cab93a156b97f078fe0dc830a01a29a60","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        libpcap-dev \\"},{"line_number":54,"context_line":"        libnuma-dev ;\\"},{"line_number":55,"context_line":"      TMP_DIR\u003d$(mktemp -d) ;\\"},{"line_number":56,"context_line":"      curl -sSL http://fast.dpdk.org/rel/dpdk-${DPDK_SRC_COMPILE_VERSION}.tar.xz | tar xJ -C ${TMP_DIR} --strip-components\u003d1 ;\\"},{"line_number":57,"context_line":"      export DPDK_DIR\u003d${TMP_DIR} ;\\"},{"line_number":58,"context_line":"      cd ${DPDK_DIR} ;\\"},{"line_number":59,"context_line":"      if [ -d \"$DPDK_PATCH_TMP_DIR\" ]; then \\"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"7faddb67_dce0ca29","line":56,"range":{"start_line":56,"start_character":16,"end_line":56,"end_character":80},"updated":"2019-08-07 17:33:39.000000000","message":"this will need to be a param, to allow people to build using alternative sources.","commit_id":"e7fef15cb2985787accdd2d245bb70e3cf2ea74d"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"b293d90ab200daae2de7ac6c52edb28d629ec1da","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        libpcap-dev \\"},{"line_number":54,"context_line":"        libnuma-dev ;\\"},{"line_number":55,"context_line":"      TMP_DIR\u003d$(mktemp -d) ;\\"},{"line_number":56,"context_line":"      curl -sSL http://fast.dpdk.org/rel/dpdk-${DPDK_SRC_COMPILE_VERSION}.tar.xz | tar xJ -C ${TMP_DIR} --strip-components\u003d1 ;\\"},{"line_number":57,"context_line":"      export DPDK_DIR\u003d${TMP_DIR} ;\\"},{"line_number":58,"context_line":"      cd ${DPDK_DIR} ;\\"},{"line_number":59,"context_line":"      if [ -d \"$DPDK_PATCH_TMP_DIR\" ]; then \\"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"7faddb67_bc7dceb3","line":56,"range":{"start_line":56,"start_character":16,"end_line":56,"end_character":80},"in_reply_to":"7faddb67_dce0ca29","updated":"2019-08-07 18:14:22.000000000","message":"Done","commit_id":"e7fef15cb2985787accdd2d245bb70e3cf2ea74d"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"5e240a0cab93a156b97f078fe0dc830a01a29a60","unresolved":false,"context_lines":[{"line_number":69,"context_line":"      make -j $(nproc) EXTRA_CFLAGS\u003d\u0027-Ofast -fPIC\u0027 MACHINE_CFLAGS\u003d\"-march\u003dnative\";\\"},{"line_number":70,"context_line":"      make install ;\\"},{"line_number":71,"context_line":"      TMP_DIR\u003d$(mktemp -d) ;\\"},{"line_number":72,"context_line":"      curl -sSL http://openvswitch.org/releases/openvswitch-${OVS_SRC_COMPILE_VERSION}.tar.gz | tar xz -C ${TMP_DIR} --strip-components\u003d1 ;\\"},{"line_number":73,"context_line":"      cd ${TMP_DIR} ;\\"},{"line_number":74,"context_line":"        if [ -d \"$OVS_PATCH_TMP_DIR\" ]; then \\"},{"line_number":75,"context_line":"          patch -p1 \u003c ${OVS_PATCH_TMP_DIR}/${OVS_PATCH_FILE_NAME} ;\\"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"7faddb67_3cc9deab","line":72,"range":{"start_line":72,"start_character":16,"end_line":72,"end_character":93},"updated":"2019-08-07 17:33:39.000000000","message":"this will need to be a param, to allow people to build using alternative sources.","commit_id":"e7fef15cb2985787accdd2d245bb70e3cf2ea74d"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"b293d90ab200daae2de7ac6c52edb28d629ec1da","unresolved":false,"context_lines":[{"line_number":69,"context_line":"      make -j $(nproc) EXTRA_CFLAGS\u003d\u0027-Ofast -fPIC\u0027 MACHINE_CFLAGS\u003d\"-march\u003dnative\";\\"},{"line_number":70,"context_line":"      make install ;\\"},{"line_number":71,"context_line":"      TMP_DIR\u003d$(mktemp -d) ;\\"},{"line_number":72,"context_line":"      curl -sSL http://openvswitch.org/releases/openvswitch-${OVS_SRC_COMPILE_VERSION}.tar.gz | tar xz -C ${TMP_DIR} --strip-components\u003d1 ;\\"},{"line_number":73,"context_line":"      cd ${TMP_DIR} ;\\"},{"line_number":74,"context_line":"        if [ -d \"$OVS_PATCH_TMP_DIR\" ]; then \\"},{"line_number":75,"context_line":"          patch -p1 \u003c ${OVS_PATCH_TMP_DIR}/${OVS_PATCH_FILE_NAME} ;\\"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"7faddb67_1c7182df","line":72,"range":{"start_line":72,"start_character":16,"end_line":72,"end_character":93},"in_reply_to":"7faddb67_3cc9deab","updated":"2019-08-07 18:14:22.000000000","message":"Done","commit_id":"e7fef15cb2985787accdd2d245bb70e3cf2ea74d"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"8ba22a6c99d4009f6147831a5e2c39da14ecebfa","unresolved":false,"context_lines":[{"line_number":7,"context_line":"# For src compile pass following build-args."},{"line_number":8,"context_line":"ARG OVS_SRC_COMPILE_VERSION\u003d\"\""},{"line_number":9,"context_line":"ARG DPDK_SRC_COMPILE_VERSION\u003d\"\""},{"line_number":10,"context_line":"ARG OVS_SRC_URL\u003d\"http://openvswitch.org/releases\""},{"line_number":11,"context_line":"ARG DPDK_SRC_URL\u003d\"http://fast.dpdk.org/rel\""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Option to apply any patch to DPDK or OVS sources, in case using"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"7faddb67_4e7ceb71","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":15},"updated":"2019-08-10 01:57:56.000000000","message":"Seems we have a limit of OVS_SRC_URL:\nThe resource under OVS_SRC_URL should have the format of \"openvswitch-${OVS_SRC_COMPILE_VERSION}.tar.gz\". We need a explanation here","commit_id":"59698802fdcbd38ae300c6799d1f38eab0102e1e"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"e48821ba457aac54e0c8679cab99b08b2665832d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"# For src compile pass following build-args."},{"line_number":8,"context_line":"ARG OVS_SRC_COMPILE_VERSION\u003d\"\""},{"line_number":9,"context_line":"ARG DPDK_SRC_COMPILE_VERSION\u003d\"\""},{"line_number":10,"context_line":"ARG OVS_SRC_URL\u003d\"http://openvswitch.org/releases\""},{"line_number":11,"context_line":"ARG DPDK_SRC_URL\u003d\"http://fast.dpdk.org/rel\""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Option to apply any patch to DPDK or OVS sources, in case using"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"7faddb67_6bbf4360","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":15},"in_reply_to":"7faddb67_4e7ceb71","updated":"2019-08-12 16:49:59.000000000","message":"Yes Cheng, I also thought abt it that the package name format may be different. However we also want to keep the versions of OVS and DPDK packages explicit to clarity purposes. So in my view enforcing this requirement on the package name seems a better approach. What do you suggest?\nI can add a comment here for clarity","commit_id":"59698802fdcbd38ae300c6799d1f38eab0102e1e"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"b969dafedb4a77ceb8cdcbecf538748ed60f6409","unresolved":false,"context_lines":[{"line_number":7,"context_line":"# For src compile pass following build-args."},{"line_number":8,"context_line":"ARG OVS_SRC_COMPILE_VERSION\u003d\"\""},{"line_number":9,"context_line":"ARG DPDK_SRC_COMPILE_VERSION\u003d\"\""},{"line_number":10,"context_line":"ARG OVS_SRC_URL\u003d\"http://openvswitch.org/releases\""},{"line_number":11,"context_line":"ARG DPDK_SRC_URL\u003d\"http://fast.dpdk.org/rel\""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Option to apply any patch to DPDK or OVS sources, in case using"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"7faddb67_3233f764","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":15},"in_reply_to":"7faddb67_6bbf4360","updated":"2019-08-13 01:38:41.000000000","message":"Agree with you.\n\nWhen people want to use another url, they most likely have control of the file name and file format under the url.","commit_id":"59698802fdcbd38ae300c6799d1f38eab0102e1e"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"d65ac2968d7c54bae4f133e35dd0c5ac811949f9","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# Option to apply any patch to DPDK or OVS sources, in case using"},{"line_number":14,"context_line":"# source compilation. For this ensure the patch file is kept in"},{"line_number":15,"context_line":"# same folder as this Dockerfile, and pass following build-args."},{"line_number":16,"context_line":"ARG OVS_PATCH_FILE_NAME\u003d\"\""},{"line_number":17,"context_line":"ARG DPDK_PATCH_FILE_NAME\u003d\"\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${OVS_PATCH_FILE_NAME}* ${DPDK_PATCH_FILE_NAME}* ./"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"7faddb67_2c0a8cd1","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":26},"updated":"2019-08-15 07:33:07.000000000","message":"let\u0027s not overengineer this if not needed, but what if you need to apply multiple patches? Is that a valid use case for you? If so, changing the if-statements to for-loops would be more flexible.","commit_id":"59698802fdcbd38ae300c6799d1f38eab0102e1e"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"d04510ecd0dce07467b46036177fba234948e3c1","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# Option to apply any patch to DPDK or OVS sources, in case using"},{"line_number":14,"context_line":"# source compilation. For this ensure the patch file is kept in"},{"line_number":15,"context_line":"# same folder as this Dockerfile, and pass following build-args."},{"line_number":16,"context_line":"ARG OVS_PATCH_FILE_NAME\u003d\"\""},{"line_number":17,"context_line":"ARG DPDK_PATCH_FILE_NAME\u003d\"\""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${OVS_PATCH_FILE_NAME}* ${DPDK_PATCH_FILE_NAME}* ./"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"7faddb67_9f2b3d80","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":26},"in_reply_to":"7faddb67_2c0a8cd1","updated":"2019-08-21 19:36:27.000000000","message":"I thought about it but as creating a patch is within our control, the user can combine all those patches and create a single patch for complete folder structure. Also as of now we have been using single patch file only. So I would suggest to keep the current implementation..... :) But if you want then I can do the changes as required....","commit_id":"59698802fdcbd38ae300c6799d1f38eab0102e1e"},{"author":{"_account_id":29668,"name":"cheng li","email":"cheng1.li@intel.com","username":"chengli3"},"change_message_id":"8ba22a6c99d4009f6147831a5e2c39da14ecebfa","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        libpcap-dev \\"},{"line_number":56,"context_line":"        libnuma-dev ;\\"},{"line_number":57,"context_line":"      TMP_DIR\u003d$(mktemp -d) ;\\"},{"line_number":58,"context_line":"      curl -sSL ${DPDK_SRC_URL}/dpdk-${DPDK_SRC_COMPILE_VERSION}.tar.xz | tar xJ -C ${TMP_DIR} --strip-components\u003d1 ;\\"},{"line_number":59,"context_line":"      export DPDK_DIR\u003d${TMP_DIR} ;\\"},{"line_number":60,"context_line":"      cd ${DPDK_DIR} ;\\"},{"line_number":61,"context_line":"      if [ -d \"$DPDK_PATCH_TMP_DIR\" ]; then \\"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"7faddb67_ceb69b3f","line":58,"range":{"start_line":58,"start_character":16,"end_line":58,"end_character":71},"updated":"2019-08-10 01:57:56.000000000","message":"Maybe we can\u0027t assume any user provided DPDK_SRC_URL contains the resource \"dpdk-${DPDK_SRC_COMPILE_VERSION}.tar.xz\".\nIf we assume that, we may need the explanation at where we define DPDK_SRC_URL.","commit_id":"59698802fdcbd38ae300c6799d1f38eab0102e1e"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"e48821ba457aac54e0c8679cab99b08b2665832d","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        libpcap-dev \\"},{"line_number":56,"context_line":"        libnuma-dev ;\\"},{"line_number":57,"context_line":"      TMP_DIR\u003d$(mktemp -d) ;\\"},{"line_number":58,"context_line":"      curl -sSL ${DPDK_SRC_URL}/dpdk-${DPDK_SRC_COMPILE_VERSION}.tar.xz | tar xJ -C ${TMP_DIR} --strip-components\u003d1 ;\\"},{"line_number":59,"context_line":"      export DPDK_DIR\u003d${TMP_DIR} ;\\"},{"line_number":60,"context_line":"      cd ${DPDK_DIR} ;\\"},{"line_number":61,"context_line":"      if [ -d \"$DPDK_PATCH_TMP_DIR\" ]; then \\"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"7faddb67_aba45b4c","line":58,"range":{"start_line":58,"start_character":16,"end_line":58,"end_character":71},"in_reply_to":"7faddb67_ceb69b3f","updated":"2019-08-12 16:49:59.000000000","message":"pls see above comment","commit_id":"59698802fdcbd38ae300c6799d1f38eab0102e1e"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"d65ac2968d7c54bae4f133e35dd0c5ac811949f9","unresolved":false,"context_lines":[{"line_number":59,"context_line":"      export DPDK_DIR\u003d${TMP_DIR} ;\\"},{"line_number":60,"context_line":"      cd ${DPDK_DIR} ;\\"},{"line_number":61,"context_line":"      if [ -d \"$DPDK_PATCH_TMP_DIR\" ]; then \\"},{"line_number":62,"context_line":"        patch -p1 \u003c ${DPDK_PATCH_TMP_DIR}/${DPDK_PATCH_FILE_NAME} ;\\"},{"line_number":63,"context_line":"      fi ;\\"},{"line_number":64,"context_line":"      export DPDK_TARGET\u003dx86_64-native-linuxapp-gcc ;\\"},{"line_number":65,"context_line":"      export DPDK_BUILD\u003d${DPDK_DIR}/build ;\\"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"7faddb67_4cfee8af","line":62,"range":{"start_line":62,"start_character":8,"end_line":62,"end_character":68},"updated":"2019-08-15 07:33:07.000000000","message":"see statement above: if needed by your use case, making this a for loop would allow support for multiple (correctly named) patches.","commit_id":"59698802fdcbd38ae300c6799d1f38eab0102e1e"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"d04510ecd0dce07467b46036177fba234948e3c1","unresolved":false,"context_lines":[{"line_number":59,"context_line":"      export DPDK_DIR\u003d${TMP_DIR} ;\\"},{"line_number":60,"context_line":"      cd ${DPDK_DIR} ;\\"},{"line_number":61,"context_line":"      if [ -d \"$DPDK_PATCH_TMP_DIR\" ]; then \\"},{"line_number":62,"context_line":"        patch -p1 \u003c ${DPDK_PATCH_TMP_DIR}/${DPDK_PATCH_FILE_NAME} ;\\"},{"line_number":63,"context_line":"      fi ;\\"},{"line_number":64,"context_line":"      export DPDK_TARGET\u003dx86_64-native-linuxapp-gcc ;\\"},{"line_number":65,"context_line":"      export DPDK_BUILD\u003d${DPDK_DIR}/build ;\\"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"7faddb67_bf3159ef","line":62,"range":{"start_line":62,"start_character":8,"end_line":62,"end_character":68},"in_reply_to":"7faddb67_4cfee8af","updated":"2019-08-21 19:36:27.000000000","message":"same as above","commit_id":"59698802fdcbd38ae300c6799d1f38eab0102e1e"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"4725c0c259d45badd6a6fab2d40ab160ac9b320b","unresolved":false,"context_lines":[{"line_number":28,"context_line":"# Any extra compile-time flags for DPDK"},{"line_number":29,"context_line":"ARG DPDK_EXTRA_COMPILE_FLAGS\u003d\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${OVS_PATCH_FILE_NAME}* ${DPDK_PATCH_FILE_NAME}* ./"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"RUN set -ex;\\"},{"line_number":34,"context_line":"    rm -rf Dockerfile.ubuntu_bionic-dpdk ;\\"}],"source_content_type":"application/octet-stream","patch_set":10,"id":"7faddb67_4a58a188","line":31,"updated":"2019-08-21 21:15:28.000000000","message":"Why are we adding the dockerfile and then removing it below?","commit_id":"527010519b32772f43f8344294d78cdddca219fd"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"46f0ba4fde7f8380e92f0beedf0da3e26b06152f","unresolved":false,"context_lines":[{"line_number":28,"context_line":"# Any extra compile-time flags for DPDK"},{"line_number":29,"context_line":"ARG DPDK_EXTRA_COMPILE_FLAGS\u003d\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"ADD Dockerfile.ubuntu_bionic-dpdk ${OVS_PATCH_FILE_NAME}* ${DPDK_PATCH_FILE_NAME}* ./"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"RUN set -ex;\\"},{"line_number":34,"context_line":"    rm -rf Dockerfile.ubuntu_bionic-dpdk ;\\"}],"source_content_type":"application/octet-stream","patch_set":10,"id":"7faddb67_2aad2530","line":31,"in_reply_to":"7faddb67_4a58a188","updated":"2019-08-21 21:29:25.000000000","message":"Actually docker doesn\u0027t support copying a file conditionally so to overcome this, it is a workaround/hack. This ADD command will work regardless of whether the patch files exist or not, but for that we must put the name of any one valid file. As we know Dockerfile.ubuntu_bionic-dpdk must always be there (this being the file via docker build is being run) so I used it. Later on it is removed because we don\u0027t want it to be a part of the image eventually.","commit_id":"527010519b32772f43f8344294d78cdddca219fd"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"4725c0c259d45badd6a6fab2d40ab160ac9b320b","unresolved":false,"context_lines":[{"line_number":77,"context_line":"      export DPDK_BUILD\u003d${DPDK_DIR}/build ;\\"},{"line_number":78,"context_line":"      make config T\u003d${DPDK_TARGET} ;\\"},{"line_number":79,"context_line":"      cd ${DPDK_BUILD} ;\\"},{"line_number":80,"context_line":"      sed -i \u0027s/CONFIG_RTE_KNI_KMOD\u003d.*$/CONFIG_RTE_KNI_KMOD\u003dn/\u0027 .config ;\\"},{"line_number":81,"context_line":"      sed -i \u0027s/CONFIG_RTE_LIBRTE_KNI\u003d.*$/CONFIG_RTE_LIBRTE_KNI\u003dn/\u0027 .config ;\\"},{"line_number":82,"context_line":"      sed -i \u0027s/CONFIG_RTE_EAL_IGB_UIO\u003d.*$/CONFIG_RTE_EAL_IGB_UIO\u003dn/\u0027 .config ;\\"},{"line_number":83,"context_line":"      make -j $(nproc) EXTRA_CFLAGS\u003d\u0027-Ofast -fPIC\u0027 MACHINE_CFLAGS\u003d\"-march\u003dnative\" ${DPDK_EXTRA_COMPILE_FLAGS};\\"}],"source_content_type":"application/octet-stream","patch_set":10,"id":"7faddb67_2ad685c4","line":80,"updated":"2019-08-21 21:15:28.000000000","message":"Can you explain why we are doing this (in comments)? There is no value in having these exposed at runtime?","commit_id":"527010519b32772f43f8344294d78cdddca219fd"},{"author":{"_account_id":27589,"name":"Deepak Tiwari","email":"deepak.tiwari@aricent.com","username":"deepak.tiwari"},"change_message_id":"46f0ba4fde7f8380e92f0beedf0da3e26b06152f","unresolved":false,"context_lines":[{"line_number":77,"context_line":"      export DPDK_BUILD\u003d${DPDK_DIR}/build ;\\"},{"line_number":78,"context_line":"      make config T\u003d${DPDK_TARGET} ;\\"},{"line_number":79,"context_line":"      cd ${DPDK_BUILD} ;\\"},{"line_number":80,"context_line":"      sed -i \u0027s/CONFIG_RTE_KNI_KMOD\u003d.*$/CONFIG_RTE_KNI_KMOD\u003dn/\u0027 .config ;\\"},{"line_number":81,"context_line":"      sed -i \u0027s/CONFIG_RTE_LIBRTE_KNI\u003d.*$/CONFIG_RTE_LIBRTE_KNI\u003dn/\u0027 .config ;\\"},{"line_number":82,"context_line":"      sed -i \u0027s/CONFIG_RTE_EAL_IGB_UIO\u003d.*$/CONFIG_RTE_EAL_IGB_UIO\u003dn/\u0027 .config ;\\"},{"line_number":83,"context_line":"      make -j $(nproc) EXTRA_CFLAGS\u003d\u0027-Ofast -fPIC\u0027 MACHINE_CFLAGS\u003d\"-march\u003dnative\" ${DPDK_EXTRA_COMPILE_FLAGS};\\"}],"source_content_type":"application/octet-stream","patch_set":10,"id":"7faddb67_c546c250","line":80,"in_reply_to":"7faddb67_2ad685c4","updated":"2019-08-21 21:29:25.000000000","message":"These are some of the DPDK compile time flags which we want to be set as \u0027no\u0027 so as not to compile kernel modules.","commit_id":"527010519b32772f43f8344294d78cdddca219fd"},{"author":{"_account_id":16353,"name":"Georg Kunz","email":"georg.kunz@ericsson.com","username":"georg-kunz"},"change_message_id":"aee4e11d697f8562c8c30c4abc535d4c92f7c087","unresolved":false,"context_lines":[{"line_number":77,"context_line":"      export DPDK_BUILD\u003d${DPDK_DIR}/build ;\\"},{"line_number":78,"context_line":"      make config T\u003d${DPDK_TARGET} ;\\"},{"line_number":79,"context_line":"      cd ${DPDK_BUILD} ;\\"},{"line_number":80,"context_line":"      sed -i \u0027s/CONFIG_RTE_KNI_KMOD\u003d.*$/CONFIG_RTE_KNI_KMOD\u003dn/\u0027 .config ;\\"},{"line_number":81,"context_line":"      sed -i \u0027s/CONFIG_RTE_LIBRTE_KNI\u003d.*$/CONFIG_RTE_LIBRTE_KNI\u003dn/\u0027 .config ;\\"},{"line_number":82,"context_line":"      sed -i \u0027s/CONFIG_RTE_EAL_IGB_UIO\u003d.*$/CONFIG_RTE_EAL_IGB_UIO\u003dn/\u0027 .config ;\\"},{"line_number":83,"context_line":"      make -j $(nproc) EXTRA_CFLAGS\u003d\u0027-Ofast -fPIC\u0027 MACHINE_CFLAGS\u003d\"-march\u003dnative\" ${DPDK_EXTRA_COMPILE_FLAGS};\\"}],"source_content_type":"application/octet-stream","patch_set":10,"id":"7faddb67_61149ba0","line":80,"in_reply_to":"7faddb67_c546c250","updated":"2019-08-22 08:19:23.000000000","message":"maybe just to complement Deepak\u0027s answer (and a proposal for a comment in this Dockerfile): this disables build-time dependencies to a specific kernel version. By design, these features are kernel dependent and must be run on the same kernel they were built against. However, the image will later run on a different kernel most likely.","commit_id":"527010519b32772f43f8344294d78cdddca219fd"}]}
