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

Definition (rev cca5e2689dfd70ecc9405e1b7f6d49f169ec490f)

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

Incoming triggers

Incoming properties

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

Incoming tags

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

Debug log (UTC)

[09:22:36.834] New invocation is queued and will start shortly
[09:22:37.900] Starting the invocation (attempt 1)
[09:22:37.932] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[09:22:37.932] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[09:22:37.932] Buildbucket request:
{
  "bucket": "luci.webrtc.ci",
  "client_operation_id": "9054101507032392096",
  "parameters_json": "{\"builder_name\":\"Linux MSan\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://webrtc.googlesource.com/src\",\"revision\":\"546a9e4350394b4a01ad05aff3100fc7538abb82\"},\"id\":\"https://webrtc.googlesource.com/src/+/refs/heads/master@546a9e4350394b4a01ad05aff3100fc7538abb82\",\"title\":\"546a9e4350394b4a01ad05aff3100fc7538abb82\",\"url\":\"https://webrtc.googlesource.com/src/+/546a9e4350394b4a01ad05aff3100fc7538abb82\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://webrtc.googlesource.com/src\",\"revision\":\"546a9e4350394b4a01ad05aff3100fc7538abb82\"}}",
  "pubsub_callback": {
    "auth_token": "...",
    "topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
  },
  "tags": [
    "builder:Linux MSan",
    "scheduler_invocation_id:9054101507032392096",
    "scheduler_job_id:webrtc/Linux MSan",
    "user_agent:luci-scheduler",
    "buildset:commit/git/546a9e4350394b4a01ad05aff3100fc7538abb82",
    "buildset:commit/gitiles/webrtc.googlesource.com/src/+/546a9e4350394b4a01ad05aff3100fc7538abb82",
    "gitiles_ref:refs/heads/master"
  ]
}
[09:22:38.575] Buildbucket response:
{
  "build": {
    "bucket": "luci.webrtc.ci",
    "canary_preference": "PROD",
    "created_by": "project:webrtc",
    "created_ts": "1581499358019725",
    "id": "8888671445124128976",
    "parameters_json": "{\"builder_name\": \"Linux MSan\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"546a9e4350394b4a01ad05aff3100fc7538abb82\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@546a9e4350394b4a01ad05aff3100fc7538abb82\", \"title\": \"546a9e4350394b4a01ad05aff3100fc7538abb82\", \"url\": \"https://webrtc.googlesource.com/src/+/546a9e4350394b4a01ad05aff3100fc7538abb82\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"546a9e4350394b4a01ad05aff3100fc7538abb82\"}}",
    "project": "webrtc",
    "result_details_json": "{\"properties\": {}}",
    "service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
    "status": "SCHEDULED",
    "status_changed_ts": "1581499358454233",
    "tags": [
      "build_address:luci.webrtc.ci/Linux MSan/21351",
      "builder:Linux MSan",
      "buildset:commit/git/546a9e4350394b4a01ad05aff3100fc7538abb82",
      "buildset:commit/gitiles/webrtc.googlesource.com/src/+/546a9e4350394b4a01ad05aff3100fc7538abb82",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9054101507032392096",
      "scheduler_job_id:webrtc/Linux MSan",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8888671445124128976/+/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": "1581499358454452",
    "url": "https://ci.chromium.org/b/8888671445124128976",
    "utcnow_ts": "1581499358568744"
  }
}
[09:22:38.575] Task URL: https://ci.chromium.org/b/8888671445124128976
[09:22:38.575] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:2:0) after 1m0s
[09:23:38.594] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:2:0)
[09:23:38.594] Timer tick, asking Buildbucket for the build status
[09:23:38.745] Build 8888671445124128976: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:23:38.745] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:3:0) after 1m0s
[09:24:38.750] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:3:0)
[09:24:38.750] Timer tick, asking Buildbucket for the build status
[09:24:38.870] Build 8888671445124128976: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:24:38.870] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:4:0) after 1m0s
[09:25:38.963] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:4:0)
[09:25:38.963] Timer tick, asking Buildbucket for the build status
[09:25:39.275] Build 8888671445124128976: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:25:39.275] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:5:0) after 1m0s
[09:26:39.365] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:5:0)
[09:26:39.365] Timer tick, asking Buildbucket for the build status
[09:26:39.793] Build 8888671445124128976: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:26:39.793] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:6:0) after 1m0s
[09:27:39.876] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:6:0)
[09:27:39.876] Timer tick, asking Buildbucket for the build status
[09:27:40.173] Build 8888671445124128976: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:27:40.173] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:7:0) after 1m0s
[09:28:40.239] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:7:0)
[09:28:40.239] Timer tick, asking Buildbucket for the build status
[09:28:40.321] Build 8888671445124128976: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:28:40.321] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:8:0) after 1m0s
[09:29:40.349] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:8:0)
[09:29:40.349] Timer tick, asking Buildbucket for the build status
[09:29:40.511] Build 8888671445124128976: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:29:40.511] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:9:0) after 1m0s
[09:30:40.547] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:9:0)
[09:30:40.547] Timer tick, asking Buildbucket for the build status
[09:30:40.642] Build 8888671445124128976: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:30:40.642] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:10:0) after 1m0s
[09:31:40.770] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:10:0)
[09:31:40.770] Timer tick, asking Buildbucket for the build status
[09:31:40.910] Build 8888671445124128976: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:31:40.910] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:11:0) after 1m0s
[09:32:41.046] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:11:0)
[09:32:41.046] Timer tick, asking Buildbucket for the build status
[09:32:41.371] Build 8888671445124128976: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[09:32:41.371] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:12:0) after 1m0s
[09:33:39.359] Received PubSub notification, asking Buildbucket for the build status
[09:33:39.435] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:33:41.472] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:12:0)
[09:33:41.472] Timer tick, asking Buildbucket for the build status
[09:33:41.550] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:33:41.550] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:14:0) after 1m0s
[09:34:41.643] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:14:0)
[09:34:41.643] Timer tick, asking Buildbucket for the build status
[09:34:42.022] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:34:42.022] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:15:0) after 1m0s
[09:35:42.249] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:15:0)
[09:35:42.249] Timer tick, asking Buildbucket for the build status
[09:35:42.433] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:35:42.433] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:16:0) after 1m0s
[09:36:42.540] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:16:0)
[09:36:42.540] Timer tick, asking Buildbucket for the build status
[09:36:42.839] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:36:42.839] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:17:0) after 1m0s
[09:37:42.900] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:17:0)
[09:37:42.900] Timer tick, asking Buildbucket for the build status
[09:37:43.543] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:37:43.543] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:18:0) after 1m0s
[09:38:43.759] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:18:0)
[09:38:43.759] Timer tick, asking Buildbucket for the build status
[09:38:43.967] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:38:43.967] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:19:0) after 1m0s
[09:39:43.998] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:19:0)
[09:39:43.998] Timer tick, asking Buildbucket for the build status
[09:39:44.784] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:39:44.784] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:20:0) after 1m0s
[09:40:44.830] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:20:0)
[09:40:44.830] Timer tick, asking Buildbucket for the build status
[09:40:44.952] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:40:44.952] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:21:0) after 1m0s
[09:41:44.987] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:21:0)
[09:41:44.987] Timer tick, asking Buildbucket for the build status
[09:41:45.119] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:41:45.119] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:22:0) after 1m0s
[09:42:45.139] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:22:0)
[09:42:45.140] Timer tick, asking Buildbucket for the build status
[09:42:45.258] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:42:45.258] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:23:0) after 1m0s
[09:43:45.306] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:23:0)
[09:43:45.306] Timer tick, asking Buildbucket for the build status
[09:43:45.444] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:43:45.444] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:24:0) after 1m0s
[09:44:45.478] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:24:0)
[09:44:45.478] Timer tick, asking Buildbucket for the build status
[09:44:45.625] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:44:45.625] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:25:0) after 1m0s
[09:45:45.679] Handling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:25:0)
[09:45:45.679] Timer tick, asking Buildbucket for the build status
[09:45:45.749] Build 8888671445124128976: status "STARTED", result "", failure_reason "", cancelation_reason ""
[09:45:45.749] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux MSan:9054101507032392096:26:0) after 1m0s
[09:45:46.797] Received PubSub notification, asking Buildbucket for the build status
[09:45:46.875] Build 8888671445124128976: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[09:45:46.875] Buildbucket build:
{
  "build": {
    "bucket": "luci.webrtc.ci",
    "canary_preference": "PROD",
    "completed_ts": "1581500745566857",
    "created_by": "project:webrtc",
    "created_ts": "1581499358019725",
    "id": "8888671445124128976",
    "parameters_json": "{\"builder_name\": \"Linux MSan\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"546a9e4350394b4a01ad05aff3100fc7538abb82\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@546a9e4350394b4a01ad05aff3100fc7538abb82\", \"title\": \"546a9e4350394b4a01ad05aff3100fc7538abb82\", \"url\": \"https://webrtc.googlesource.com/src/+/546a9e4350394b4a01ad05aff3100fc7538abb82\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"546a9e4350394b4a01ad05aff3100fc7538abb82\"}}",
    "project": "webrtc",
    "result": "SUCCESS",
    "result_details_json": "{\"properties\": {\"$build/goma\": {\"rpc_extra_params\": \"?prod\", \"server_host\": \"goma.chromium.org\"}, \"$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\": \"546a9e4350394b4a01ad05aff3100fc7538abb82\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@546a9e4350394b4a01ad05aff3100fc7538abb82\", \"title\": \"546a9e4350394b4a01ad05aff3100fc7538abb82\", \"url\": \"https://webrtc.googlesource.com/src/+/546a9e4350394b4a01ad05aff3100fc7538abb82\"}]}, \"bot_id\": \"luci-webrtc-ci-xenial-3-seo3\", \"branch\": \"refs/heads/master\", \"buildername\": \"Linux MSan\", \"buildnumber\": 21351, \"got_clang_revision\": \"n332890-c2443155-2\", \"got_revision\": \"546a9e4350394b4a01ad05aff3100fc7538abb82\", \"got_revision_cp\": \"refs/heads/master@{#30504}\", \"isolate_server\": \"https://isolateserver.appspot.com\", \"mastername\": \"client.webrtc\", \"path_config\": \"generic\", \"recipe\": \"webrtc/standalone\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"546a9e4350394b4a01ad05aff3100fc7538abb82\", \"swarm_hashes\": {\"audio_decoder_unittests\": \"ea86b309f7b50750e83c60e94c86180928ac84e1\", \"common_audio_unittests\": \"4dd9fdfd7340b47d2a76f72bd18e6111b65bbff9\", \"common_video_unittests\": \"8405a5a668a4e95bff071e89f9aefd58bc7c3b8a\", \"low_bandwidth_audio_test\": \"70731edfaab60d4d50ebb46e8ab67409723640ca\", \"modules_tests\": \"2d6cb112ff30c3c9728a78756d42e2e3695c177d\", \"modules_unittests\": \"f9aa81da9b400fa145e2c2319e38623e23be7d64\", \"peerconnection_unittests\": \"2bdc7dfe00342d3b023890859b6c8a89169ae2e7\", \"rtc_media_unittests\": \"a50f5d859cd224df728506a23b73555d6e083567\", \"rtc_pc_unittests\": \"e7c191c88dc6e143a1f1debada1c69d416aab8da\", \"rtc_stats_unittests\": \"fb10fe3f5a68b6d93c3b4312bd0f6565fc4dac85\", \"rtc_unittests\": \"19b3097c0307104444ff6298483a9ec49b871a17\", \"slow_tests\": \"b35562e9f88e3097db3a015c887262d2a5423293\", \"system_wrappers_unittests\": \"45ae44765b8a94bec04a253271823e364125c980\", \"test_support_unittests\": \"c6d32a9bfbf63015b01e81efb8831242443e450f\", \"tools_unittests\": \"8ff603858be3be89105f4ced728ebb130372b172\", \"video_engine_tests\": \"ca2ebc31f8d0da06981ff4082d0454430c8bc938\", \"webrtc_nonparallel_tests\": \"c02105551427d37eaf9e3dff129f5d4f7304b867\"}}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"builder_44ab13d9f6af89a5c9d596ceb4b695121ed6978cb44b3ee6f591cb001a7e97f9_v2\", \"builder_c07c6aa6d1c1b67d8a4e8f97b8bdf68f3af1543bb4dcfc73adac20d8532d9b4f_v2\", \"git\", \"goma_v2\", \"vpython\"], \"cores\": [\"8\"], \"cpu\": [\"x86\", \"x86-64\", \"x86-64-Broadwell_GCE\", \"x86-64-avx2\"], \"gce\": [\"1\"], \"gcp\": [\"webrtc-ci\"], \"gpu\": [\"none\"], \"id\": [\"luci-webrtc-ci-xenial-3-seo3\"], \"image\": [\"chrome-xenial-20012600-8e1a7e485b7\"], \"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\": [\"4812-ea7e8fc\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
    "service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
    "started_ts": "1581500017742683",
    "status": "COMPLETED",
    "status_changed_ts": "1581500746478290",
    "tags": [
      "build_address:luci.webrtc.ci/Linux MSan/21351",
      "builder:Linux MSan",
      "buildset:commit/git/546a9e4350394b4a01ad05aff3100fc7538abb82",
      "buildset:commit/gitiles/webrtc.googlesource.com/src/+/546a9e4350394b4a01ad05aff3100fc7538abb82",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9054101507032392096",
      "scheduler_job_id:webrtc/Linux MSan",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8888671445124128976/+/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:4a5186a795bc8910",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1581500746489146",
    "url": "https://ci.chromium.org/b/8888671445124128976",
    "utcnow_ts": "1581500746865223"
  }
}
[09:45:46.875] Invocation finished in 23m10.058332853s with status SUCCEEDED