)]}'
{
  "commit": "56860ccae71114bfb32138c823ea04a50b916aa2",
  "tree": "e2cc247593cb3550d4d3934e51032ee3e165174c",
  "parents": [
    "35bc9bef6a23cc8f10f1b5838e3ca99133a3b8f6"
  ],
  "author": {
    "name": "Ade Lee",
    "email": "alee@redhat.com",
    "time": "Thu Feb 25 15:45:02 2021 -0500"
  },
  "committer": {
    "name": "Ade Lee",
    "email": "alee@redhat.com",
    "time": "Thu Feb 25 16:14:08 2021 -0500"
  },
  "message": "Replace md5 with oslo version\n\nmd5 is not an approved algorithm in FIPS mode, and trying to\ninstantiate a hashlib.md5() will fail when the system is running in\nFIPS mode.\n\nmd5 is allowed when in a non-security context.  There is a plan to\nadd a keyword parameter (usedforsecurity) to hashlib.md5() to annotate\nwhether or not the instance is being used in a security context.\n\nIn the case where it is not, the instantiation of md5 will be allowed.\nSee https://bugs.python.org/issue9216 for more details.\n\nSome downstream python versions already support this parameter.  To\nsupport these versions, a new encapsulation of md5() has been added to\noslo_utils.  See https://review.opendev.org/#/c/750031/\n\nThis patch is to replace the instances of hashlib.md5() with this new\nencapsulation, adding an annotation indicating whether the usage is\na security context or not.\n\nIn this case, all hashlib.md5() invocations are to run tempest tests\nso this is not a security context.  With this patch, we can run tempest\ntests from a FIPS enabled machine.\n\nChange-Id: Ib301466bb0a1996997c63599918fa96059a927bd\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fc9b1a2b768c2cb59c0ddb8861b374c6d79f63a3",
      "old_mode": 33188,
      "old_path": "tempest/api/object_storage/test_object_services.py",
      "new_id": "93f6fdbaafb86a37f70455196275d197b72fbcda",
      "new_mode": 33188,
      "new_path": "tempest/api/object_storage/test_object_services.py"
    },
    {
      "type": "modify",
      "old_id": "664bbc8e23ef4178b98c2c3064ed22dae14a4922",
      "old_mode": 33188,
      "old_path": "tempest/api/object_storage/test_object_slo.py",
      "new_id": "0c84357249d8a1d4be7d6f6e8755d7c95a457254",
      "new_mode": 33188,
      "new_path": "tempest/api/object_storage/test_object_slo.py"
    },
    {
      "type": "modify",
      "old_id": "313d3ebf90290d5d5653860db87e73c2b0d912aa",
      "old_mode": 33188,
      "old_path": "tempest/lib/common/preprov_creds.py",
      "new_id": "6c57566a51f4dc225440036de49f644ca17090cd",
      "new_mode": 33188,
      "new_path": "tempest/lib/common/preprov_creds.py"
    },
    {
      "type": "modify",
      "old_id": "499b6fe115bf17a82f4e163799d0608acfda8c08",
      "old_mode": 33188,
      "old_path": "tempest/tests/lib/common/test_preprov_creds.py",
      "new_id": "fe7fcd20c5005fde61489fb9212039a02d1a7c55",
      "new_mode": 33188,
      "new_path": "tempest/tests/lib/common/test_preprov_creds.py"
    }
  ]
}
