Status: SUCCEEDED
Triggered by: -
Duration: 21 minutes
Actions:

Definition (rev ba6ae0ffdbb4758bb4ee0f91521a0b540892a024)

buildbucket: <
  server: "cr-buildbucket.appspot.com"
  bucket: "luci.webrtc.ci"
  builder: "Linux64 Release"
>

Incoming triggers

Incoming properties

{
  "branch": "refs/heads/master",
  "repository": "https://webrtc.googlesource.com/src",
  "revision": "066b42fa67e2206d2083ebf44ca794d5538f3bc5"
}

Incoming tags

  • buildset:commit/git/066b42fa67e2206d2083ebf44ca794d5538f3bc5
  • buildset:commit/gitiles/webrtc.googlesource.com/src/+/066b42fa67e2206d2083ebf44ca794d5538f3bc5
  • gitiles_ref:refs/heads/master

Debug log (UTC)

[10:47:12.162] New invocation is queued and will start shortly
[10:47:13.253] Starting the invocation (attempt 1)
[10:47:13.294] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[10:47:13.294] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[10:47:13.294] Buildbucket request:
{
  "bucket": "luci.webrtc.ci",
  "client_operation_id": "9069135281647993216",
  "parameters_json": "{\"builder_name\":\"Linux64 Release\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://webrtc.googlesource.com/src\",\"revision\":\"066b42fa67e2206d2083ebf44ca794d5538f3bc5\"},\"id\":\"https://webrtc.googlesource.com/src/+/refs/heads/master@066b42fa67e2206d2083ebf44ca794d5538f3bc5\",\"title\":\"066b42fa67e2206d2083ebf44ca794d5538f3bc5\",\"url\":\"https://webrtc.googlesource.com/src/+/066b42fa67e2206d2083ebf44ca794d5538f3bc5\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://webrtc.googlesource.com/src\",\"revision\":\"066b42fa67e2206d2083ebf44ca794d5538f3bc5\"}}",
  "pubsub_callback": {
    "auth_token": "...",
    "topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
  },
  "tags": [
    "builder:Linux64 Release",
    "scheduler_invocation_id:9069135281647993216",
    "scheduler_job_id:webrtc/Linux64 Release",
    "user_agent:luci-scheduler",
    "buildset:commit/git/066b42fa67e2206d2083ebf44ca794d5538f3bc5",
    "buildset:commit/gitiles/webrtc.googlesource.com/src/+/066b42fa67e2206d2083ebf44ca794d5538f3bc5",
    "gitiles_ref:refs/heads/master"
  ]
}
[10:47:14.047] Buildbucket response:
{
  "build": {
    "bucket": "luci.webrtc.ci",
    "canary_preference": "PROD",
    "created_by": "project:webrtc",
    "created_ts": "1567162033408917",
    "id": "8903705219615832480",
    "parameters_json": "{\"builder_name\": \"Linux64 Release\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"066b42fa67e2206d2083ebf44ca794d5538f3bc5\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@066b42fa67e2206d2083ebf44ca794d5538f3bc5\", \"title\": \"066b42fa67e2206d2083ebf44ca794d5538f3bc5\", \"url\": \"https://webrtc.googlesource.com/src/+/066b42fa67e2206d2083ebf44ca794d5538f3bc5\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"066b42fa67e2206d2083ebf44ca794d5538f3bc5\"}}",
    "project": "webrtc",
    "result_details_json": "{\"properties\": {}}",
    "service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
    "status": "SCHEDULED",
    "status_changed_ts": "1567162033796558",
    "tags": [
      "build_address:luci.webrtc.ci/Linux64 Release/22811",
      "builder:Linux64 Release",
      "buildset:commit/git/066b42fa67e2206d2083ebf44ca794d5538f3bc5",
      "buildset:commit/gitiles/webrtc.googlesource.com/src/+/066b42fa67e2206d2083ebf44ca794d5538f3bc5",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9069135281647993216",
      "scheduler_job_id:webrtc/Linux64 Release",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8903705219615832480/+/annotations",
      "swarming_tag:luci_project:webrtc",
      "swarming_tag:recipe_name:webrtc/standalone",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_task_id:",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1567162033796656",
    "url": "https://ci.chromium.org/b/8903705219615832480",
    "utcnow_ts": "1567162034013264"
  }
}
[10:47:14.047] Task URL: https://ci.chromium.org/b/8903705219615832480
[10:47:14.047] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:2:0) after 1m0s
[10:48:14.102] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:2:0)
[10:48:14.102] Timer tick, asking Buildbucket for the build status
[10:48:14.662] Build 8903705219615832480: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[10:48:14.662] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:3:0) after 1m0s
[10:49:14.685] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:3:0)
[10:49:14.685] Timer tick, asking Buildbucket for the build status
[10:49:14.929] Build 8903705219615832480: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[10:49:14.929] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:4:0) after 1m0s
[10:50:15.004] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:4:0)
[10:50:15.004] Timer tick, asking Buildbucket for the build status
[10:50:15.256] Build 8903705219615832480: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[10:50:15.256] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:5:0) after 1m0s
[10:51:15.281] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:5:0)
[10:51:15.281] Timer tick, asking Buildbucket for the build status
[10:51:15.414] Build 8903705219615832480: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[10:51:15.414] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:6:0) after 1m0s
[10:52:15.432] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:6:0)
[10:52:15.432] Timer tick, asking Buildbucket for the build status
[10:52:15.566] Build 8903705219615832480: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[10:52:15.566] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:7:0) after 1m0s
[10:53:15.578] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:7:0)
[10:53:15.578] Timer tick, asking Buildbucket for the build status
[10:53:15.922] Build 8903705219615832480: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[10:53:15.922] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:8:0) after 1m0s
[10:54:16.019] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:8:0)
[10:54:16.019] Timer tick, asking Buildbucket for the build status
[10:54:16.482] Build 8903705219615832480: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[10:54:16.482] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:9:0) after 1m0s
[10:55:16.506] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:9:0)
[10:55:16.506] Timer tick, asking Buildbucket for the build status
[10:55:16.650] Build 8903705219615832480: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[10:55:16.650] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:10:0) after 1m0s
[10:56:16.653] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:10:0)
[10:56:16.653] Timer tick, asking Buildbucket for the build status
[10:56:16.993] Build 8903705219615832480: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[10:56:16.993] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:11:0) after 1m0s
[10:57:17.050] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:11:0)
[10:57:17.051] Timer tick, asking Buildbucket for the build status
[10:57:17.170] Build 8903705219615832480: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[10:57:17.170] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:12:0) after 1m0s
[10:58:17.222] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:12:0)
[10:58:17.222] Timer tick, asking Buildbucket for the build status
[10:58:17.441] Build 8903705219615832480: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[10:58:17.441] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:13:0) after 1m0s
[10:59:17.575] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:13:0)
[10:59:17.575] Timer tick, asking Buildbucket for the build status
[10:59:17.683] Build 8903705219615832480: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[10:59:17.683] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:14:0) after 1m0s
[10:59:23.307] Received PubSub notification, asking Buildbucket for the build status
[10:59:23.498] Build 8903705219615832480: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:00:17.711] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:14:0)
[11:00:17.711] Timer tick, asking Buildbucket for the build status
[11:00:18.105] Build 8903705219615832480: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:00:18.105] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:16:0) after 1m0s
[11:01:18.086] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:16:0)
[11:01:18.086] Timer tick, asking Buildbucket for the build status
[11:01:18.292] Build 8903705219615832480: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:01:18.292] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:17:0) after 1m0s
[11:02:18.330] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:17:0)
[11:02:18.330] Timer tick, asking Buildbucket for the build status
[11:02:19.777] Build 8903705219615832480: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:02:19.777] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:18:0) after 1m0s
[11:03:19.775] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:18:0)
[11:03:19.775] Timer tick, asking Buildbucket for the build status
[11:03:19.864] Build 8903705219615832480: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:03:19.864] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:19:0) after 1m0s
[11:04:19.966] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:19:0)
[11:04:19.966] Timer tick, asking Buildbucket for the build status
[11:04:20.068] Build 8903705219615832480: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:04:20.068] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:20:0) after 1m0s
[11:05:20.282] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:20:0)
[11:05:20.282] Timer tick, asking Buildbucket for the build status
[11:05:20.388] Build 8903705219615832480: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:05:20.388] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:21:0) after 1m0s
[11:06:20.739] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:21:0)
[11:06:20.739] Timer tick, asking Buildbucket for the build status
[11:06:21.727] Build 8903705219615832480: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:06:21.727] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:22:0) after 1m0s
[11:07:21.885] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:22:0)
[11:07:21.885] Timer tick, asking Buildbucket for the build status
[11:07:22.040] Build 8903705219615832480: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:07:22.040] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:23:0) after 1m0s
[11:08:22.319] Handling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:23:0)
[11:08:22.320] Timer tick, asking Buildbucket for the build status
[11:08:22.593] Build 8903705219615832480: status "STARTED", result "", failure_reason "", cancelation_reason ""
[11:08:22.593] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux64 Release:9069135281647993216:24:0) after 1m0s
[11:08:37.822] Received PubSub notification, asking Buildbucket for the build status
[11:08:39.964] Build 8903705219615832480: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[11:08:39.964] Buildbucket build:
{
  "build": {
    "bucket": "luci.webrtc.ci",
    "canary_preference": "PROD",
    "completed_ts": "1567163316892430",
    "created_by": "project:webrtc",
    "created_ts": "1567162033408917",
    "id": "8903705219615832480",
    "parameters_json": "{\"builder_name\": \"Linux64 Release\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"066b42fa67e2206d2083ebf44ca794d5538f3bc5\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@066b42fa67e2206d2083ebf44ca794d5538f3bc5\", \"title\": \"066b42fa67e2206d2083ebf44ca794d5538f3bc5\", \"url\": \"https://webrtc.googlesource.com/src/+/066b42fa67e2206d2083ebf44ca794d5538f3bc5\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"066b42fa67e2206d2083ebf44ca794d5538f3bc5\"}}",
    "project": "webrtc",
    "result": "SUCCESS",
    "result_details_json": "{\"properties\": {\"$recipe_engine/path\": {\"cache_dir\": \"/b/s/w/ir/cache\", \"temp_dir\": \"/b/s/w/ir/tmp/rt\"}, \"$recipe_engine/runtime\": {\"is_experimental\": false, \"is_luci\": true}, \"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"066b42fa67e2206d2083ebf44ca794d5538f3bc5\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@066b42fa67e2206d2083ebf44ca794d5538f3bc5\", \"title\": \"066b42fa67e2206d2083ebf44ca794d5538f3bc5\", \"url\": \"https://webrtc.googlesource.com/src/+/066b42fa67e2206d2083ebf44ca794d5538f3bc5\"}]}, \"bot_id\": \"luci-webrtc-ci-xenial-10-97x1\", \"branch\": \"refs/heads/master\", \"buildername\": \"Linux64 Release\", \"buildnumber\": 22811, \"got_revision\": \"066b42fa67e2206d2083ebf44ca794d5538f3bc5\", \"got_revision_cp\": \"refs/heads/master@{#29024}\", \"isolate_server\": \"https://isolateserver.appspot.com\", \"mastername\": \"client.webrtc\", \"path_config\": \"generic\", \"recipe\": \"webrtc/standalone\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"066b42fa67e2206d2083ebf44ca794d5538f3bc5\", \"swarm_hashes\": {\"audio_decoder_unittests\": \"e509a400b90f2d019f6610538df383bc83179ac0\", \"common_audio_unittests\": \"6b3c932cfea41c6ce90277d95463b5dec5486f41\", \"common_video_unittests\": \"836d0d886d055b1ef9c10b2140ceb3fc46e4ed3a\", \"low_bandwidth_audio_test\": \"87912ad4d0dcec1ad1df13512687829a47b5d6f0\", \"modules_tests\": \"98523090be1a05ee179b130146717379b9c3ca07\", \"modules_unittests\": \"0d44ce27097958972b5805cff9fce60e149920f9\", \"peerconnection_unittests\": \"635d1e667deac4620d2b463e696fe92e45842e61\", \"rtc_media_unittests\": \"f716e885417eca0489ddbc35a52f486d214c5dc9\", \"rtc_pc_unittests\": \"fe4104fa13eaa90ea61b441d9f3eaa07e39c7f52\", \"rtc_stats_unittests\": \"a93a1d5bb1d7d9866c1e3447691ebc16e5f2f5e8\", \"rtc_unittests\": \"0c17d8c7a30d33dcf9fb21bd3389c500dfb8c46d\", \"slow_tests\": \"2c577588d61290e8879d52a9584893d458ec4444\", \"system_wrappers_unittests\": \"5de933b7be68305b7f2389009558f6fd2d7d0c40\", \"test_support_unittests\": \"69d307b0e7e71f963f4b9278cad37f8dfb9778a7\", \"tools_unittests\": \"e88b5b73a9f44b0093cc8f98461db703393ceaf2\", \"video_capture_tests\": \"102c41eb31c6becd8ada3367fc00eee2bd8f7784\", \"video_engine_tests\": \"270d5034af4a2c5654effb146e7c3c75355f7067\", \"webrtc_nonparallel_tests\": \"83acd2df89a7747f8fadc1e3421600eb0b422191\"}}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"builder_0b9ea9fa64bf0cd9c46059730b1bdd1d12ff6500ce62c56e48fe9cca98bdf248_v2\", \"builder_0cd671f6f485fc3166b8a13bcda7c7c85f534360e51d98839e042fae0638f2a6_v2\", \"builder_44678c1ef4c7d705bd7e592df97e9c1573c4ed9129da6654b149d3b42d045362_v2\", \"builder_59a5368743e72312f218d070f96b6b81e1ec9c9e3b8bb189152c56cc8ec74c28_v2\", \"builder_5a4e8638b91acb66c3ac6cbd7815a7f9c99553eb1e8d9fd19cfe7b821cf72739_v2\", \"builder_81b0626a7d0917732ec83f6c2db3e335641e8b10d4b942186c5fc902ad65c830_v2\", \"builder_cd4d33579b11e7a69084e8598c51fb3312c4dc0339897950696e4b0a59553346_v2\", \"builder_d8087e4e6918034fd84666cddd7a396a0a7b057decc19643f05e08f84b97a27e_v2\", \"git\", \"goma_v2\", \"vpython\"], \"cores\": [\"8\"], \"cpu\": [\"x86\", \"x86-64\", \"x86-64-Broadwell_GCE\", \"x86-64-avx2\"], \"gce\": [\"1\"], \"gpu\": [\"none\"], \"id\": [\"luci-webrtc-ci-xenial-10-97x1\"], \"image\": [\"chrome-xenial-19052201-9cb74617499\"], \"inside_docker\": [\"0\"], \"kvm\": [\"1\"], \"locale\": [\"en_US.UTF-8\"], \"machine_type\": [\"n1-standard-8\"], \"os\": [\"Linux\", \"Ubuntu\", \"Ubuntu-16.04\"], \"pool\": [\"luci.webrtc.ci\"], \"python\": [\"2.7.12\"], \"server_version\": [\"4397-8786906\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
    "service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
    "started_ts": "1567162762455511",
    "status": "COMPLETED",
    "status_changed_ts": "1567163317349182",
    "tags": [
      "build_address:luci.webrtc.ci/Linux64 Release/22811",
      "builder:Linux64 Release",
      "buildset:commit/git/066b42fa67e2206d2083ebf44ca794d5538f3bc5",
      "buildset:commit/gitiles/webrtc.googlesource.com/src/+/066b42fa67e2206d2083ebf44ca794d5538f3bc5",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9069135281647993216",
      "scheduler_job_id:webrtc/Linux64 Release",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8903705219615832480/+/annotations",
      "swarming_tag:luci_project:webrtc",
      "swarming_tag:os:Linux",
      "swarming_tag:recipe_name:webrtc/standalone",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_task_id:46faf471794d2f10",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1567163317361868",
    "url": "https://ci.chromium.org/b/8903705219615832480",
    "utcnow_ts": "1567163319938421"
  }
}
[11:08:39.964] Invocation finished in 21m27.87834349s with status SUCCEEDED