[02:34:19.686] New invocation is queued and will start shortly
[02:34:25.636] Starting the invocation (attempt 1)
[02:34:25.675] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[02:34:25.675] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[02:34:25.675] Buildbucket request:
{
"bucket": "luci.webrtc.ci",
"client_operation_id": "9067897933048085584",
"parameters_json": "{\"builder_name\":\"Linux32 Debug\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://webrtc.googlesource.com/src\",\"revision\":\"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\"},\"id\":\"https://webrtc.googlesource.com/src/+/refs/heads/master@b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\",\"title\":\"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\",\"url\":\"https://webrtc.googlesource.com/src/+/b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://webrtc.googlesource.com/src\",\"revision\":\"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\"}}",
"pubsub_callback": {
"auth_token": "...",
"topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
},
"tags": [
"builder:Linux32 Debug",
"scheduler_invocation_id:9067897933048085584",
"scheduler_job_id:webrtc/Linux32 Debug",
"user_agent:luci-scheduler",
"buildset:commit/git/b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3",
"buildset:commit/gitiles/webrtc.googlesource.com/src/+/b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3",
"gitiles_ref:refs/heads/master"
]
}
[02:34:29.529] Buildbucket response:
{
"build": {
"bucket": "luci.webrtc.ci",
"canary": true,
"canary_preference": "CANARY",
"created_by": "project:webrtc",
"created_ts": "1568342066297339",
"id": "8902467865448940800",
"parameters_json": "{\"builder_name\": \"Linux32 Debug\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\", \"title\": \"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\", \"url\": \"https://webrtc.googlesource.com/src/+/b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\"}}",
"project": "webrtc",
"result_details_json": "{\"properties\": {}}",
"service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
"status": "SCHEDULED",
"status_changed_ts": "1568342068947477",
"tags": [
"build_address:luci.webrtc.ci/Linux32 Debug/22502",
"builder:Linux32 Debug",
"buildset:commit/git/b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3",
"buildset:commit/gitiles/webrtc.googlesource.com/src/+/b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3",
"gitiles_ref:refs/heads/master",
"scheduler_invocation_id:9067897933048085584",
"scheduler_job_id:webrtc/Linux32 Debug",
"swarming_hostname:chromium-swarm.appspot.com",
"swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8902467865448940800/+/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": "1568342068947649",
"url": "https://ci.chromium.org/b/8902467865448940800",
"utcnow_ts": "1568342069425483"
}
}
[02:34:29.529] Task URL: https://ci.chromium.org/b/8902467865448940800
[02:34:29.529] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:2:0) after 1m0s
[02:35:30.021] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:2:0)
[02:35:30.021] Timer tick, asking Buildbucket for the build status
[02:35:30.401] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:35:30.401] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:3:0) after 1m0s
[02:36:30.655] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:3:0)
[02:36:30.655] Timer tick, asking Buildbucket for the build status
[02:36:31.102] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:36:31.102] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:4:0) after 1m0s
[02:37:31.308] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:4:0)
[02:37:31.308] Timer tick, asking Buildbucket for the build status
[02:37:31.507] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:37:31.507] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:5:0) after 1m0s
[02:38:31.527] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:5:0)
[02:38:31.527] Timer tick, asking Buildbucket for the build status
[02:38:31.655] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:38:31.655] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:6:0) after 1m0s
[02:39:31.709] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:6:0)
[02:39:31.709] Timer tick, asking Buildbucket for the build status
[02:39:32.097] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:39:32.097] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:7:0) after 1m0s
[02:40:32.147] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:7:0)
[02:40:32.147] Timer tick, asking Buildbucket for the build status
[02:40:32.426] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:40:32.426] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:8:0) after 1m0s
[02:41:32.591] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:8:0)
[02:41:32.591] Timer tick, asking Buildbucket for the build status
[02:41:36.348] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:41:36.348] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:9:0) after 1m0s
[02:42:36.451] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:9:0)
[02:42:36.451] Timer tick, asking Buildbucket for the build status
[02:42:36.639] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:42:36.639] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:10:0) after 1m0s
[02:43:36.648] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:10:0)
[02:43:36.648] Timer tick, asking Buildbucket for the build status
[02:43:36.814] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:43:36.814] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:11:0) after 1m0s
[02:44:36.801] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:11:0)
[02:44:36.801] Timer tick, asking Buildbucket for the build status
[02:44:37.191] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:44:37.191] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:12:0) after 1m0s
[02:45:37.216] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:12:0)
[02:45:37.216] Timer tick, asking Buildbucket for the build status
[02:45:37.538] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:45:37.538] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:13:0) after 1m0s
[02:46:37.589] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:13:0)
[02:46:37.589] Timer tick, asking Buildbucket for the build status
[02:46:38.220] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:46:38.220] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:14:0) after 1m0s
[02:47:38.246] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:14:0)
[02:47:38.246] Timer tick, asking Buildbucket for the build status
[02:47:38.398] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:47:38.398] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:15:0) after 1m0s
[02:48:38.437] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:15:0)
[02:48:38.437] Timer tick, asking Buildbucket for the build status
[02:48:40.800] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:48:40.800] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:16:0) after 1m0s
[02:49:40.827] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:16:0)
[02:49:40.827] Timer tick, asking Buildbucket for the build status
[02:49:41.234] Build 8902467865448940800: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[02:49:41.234] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:17:0) after 1m0s
[02:50:24.370] Received PubSub notification, asking Buildbucket for the build status
[02:50:24.868] Build 8902467865448940800: status "STARTED", result "", failure_reason "", cancelation_reason ""
[02:50:41.297] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:17:0)
[02:50:41.297] Timer tick, asking Buildbucket for the build status
[02:50:41.521] Build 8902467865448940800: status "STARTED", result "", failure_reason "", cancelation_reason ""
[02:50:41.521] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:19:0) after 1m0s
[02:51:41.513] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:19:0)
[02:51:41.513] Timer tick, asking Buildbucket for the build status
[02:51:41.822] Build 8902467865448940800: status "STARTED", result "", failure_reason "", cancelation_reason ""
[02:51:41.822] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:20:0) after 1m0s
[02:52:41.912] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:20:0)
[02:52:41.912] Timer tick, asking Buildbucket for the build status
[02:52:42.156] Build 8902467865448940800: status "STARTED", result "", failure_reason "", cancelation_reason ""
[02:52:42.156] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:21:0) after 1m0s
[02:53:42.233] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:21:0)
[02:53:42.233] Timer tick, asking Buildbucket for the build status
[02:53:42.465] Build 8902467865448940800: status "STARTED", result "", failure_reason "", cancelation_reason ""
[02:53:42.465] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:22:0) after 1m0s
[02:54:42.488] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:22:0)
[02:54:42.488] Timer tick, asking Buildbucket for the build status
[02:54:42.694] Build 8902467865448940800: status "STARTED", result "", failure_reason "", cancelation_reason ""
[02:54:42.694] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:23:0) after 1m0s
[02:55:42.718] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:23:0)
[02:55:42.718] Timer tick, asking Buildbucket for the build status
[02:55:42.853] Build 8902467865448940800: status "STARTED", result "", failure_reason "", cancelation_reason ""
[02:55:42.853] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:24:0) after 1m0s
[02:56:42.912] Handling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:24:0)
[02:56:42.912] Timer tick, asking Buildbucket for the build status
[02:56:43.354] Build 8902467865448940800: status "STARTED", result "", failure_reason "", cancelation_reason ""
[02:56:43.354] Scheduling timer "check-buildbucket-build-status" (webrtc/Linux32 Debug:9067897933048085584:25:0) after 1m0s
[02:57:39.447] Received PubSub notification, asking Buildbucket for the build status
[02:57:39.628] Build 8902467865448940800: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[02:57:39.628] Buildbucket build:
{
"build": {
"bucket": "luci.webrtc.ci",
"canary": true,
"canary_preference": "CANARY",
"completed_ts": "1568343457510019",
"created_by": "project:webrtc",
"created_ts": "1568342066297339",
"id": "8902467865448940800",
"parameters_json": "{\"builder_name\": \"Linux32 Debug\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\", \"title\": \"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\", \"url\": \"https://webrtc.googlesource.com/src/+/b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\"}}",
"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\": \"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\", \"title\": \"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\", \"url\": \"https://webrtc.googlesource.com/src/+/b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\"}]}, \"bot_id\": \"luci-webrtc-ci-xenial-3-rcj7\", \"branch\": \"refs/heads/master\", \"buildername\": \"Linux32 Debug\", \"buildnumber\": 22502, \"got_revision\": \"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\", \"got_revision_cp\": \"refs/heads/master@{#29175}\", \"isolate_server\": \"https://isolateserver.appspot.com\", \"mastername\": \"client.webrtc\", \"path_config\": \"generic\", \"recipe\": \"webrtc/standalone\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3\", \"swarm_hashes\": {\"audio_decoder_unittests\": \"c99127ec9067537b0755f8088863977852481979\", \"common_audio_unittests\": \"5719b8c38c22e6c435035faed855b819f4d82e9b\", \"common_video_unittests\": \"90a57498ff2b4f6c99cb52860088a70bcb2818d0\", \"low_bandwidth_audio_test\": \"127645fb1d157eeb5bb13fe27ebe59e63a181427\", \"modules_tests\": \"583e87547332a20f65f032f5bd2132070682cfc7\", \"modules_unittests\": \"4ac7f331e8fc87d1fa5b81939696799a374f176d\", \"peerconnection_unittests\": \"8ad0f2bf90ea59044c5b192d1daf4299e9ed4f01\", \"rtc_media_unittests\": \"9b9bcf9730e29f8ac232bb28bc1444912147ab60\", \"rtc_pc_unittests\": \"738dd9296dd1a8c0063ea875477557521496cae6\", \"rtc_stats_unittests\": \"cf3de4b392098a6374fef2e98b6ce66cc36669cb\", \"rtc_unittests\": \"cc8a8654ae6344eda51351d7bae1150d351aa3fc\", \"slow_tests\": \"c6582a7ed42cd87dfc1e3f88ac0789fc15bfa5cd\", \"system_wrappers_unittests\": \"2f591e7dd7b22290b04ccd79ea809a12aa844181\", \"test_support_unittests\": \"ec2f1bf8cda971b48887ed57ec80e679e7568a69\", \"tools_unittests\": \"122a7659b0e5fee613a38c9a4cbf4b8d682134b5\", \"video_engine_tests\": \"3d166893f7b4294b12efbab55e9e86425b97da1b\", \"webrtc_nonparallel_tests\": \"ff59ed6d940d1b8fdea7df04a8c3f83643fa2ad5\"}}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"builder_0b9ea9fa64bf0cd9c46059730b1bdd1d12ff6500ce62c56e48fe9cca98bdf248_v2\", \"builder_236ad0e06710bb1aa723bf85e2819a73a68bd90c872fb4d36ce08423aaad3728_v2\", \"builder_59a5368743e72312f218d070f96b6b81e1ec9c9e3b8bb189152c56cc8ec74c28_v2\", \"builder_678846aac254eab443b5ec61b02b8fa10d353066310df1873b58fcea7626587d_v2\", \"builder_81b0626a7d0917732ec83f6c2db3e335641e8b10d4b942186c5fc902ad65c830_v2\", \"builder_d5629c2cf2c35ad595411a5dcfd59fde2daf263f5d0c2761858cad08923fcc47_v2\", \"builder_d8087e4e6918034fd84666cddd7a396a0a7b057decc19643f05e08f84b97a27e_v2\", \"builder_ee30cfe615ad79242c90cf868fc3e32771e3342e63241239745f710a5c60d840_v2\", \"builder_ee80cf8bba7c81fee9e980afd619ea0acf20624840b3b5e7cf3f2ef0d6b70dc4_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-3-rcj7\"], \"image\": [\"chrome-xenial-19090600-ed917d8233f\"], \"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\": [\"4436-e523514\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
"service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
"started_ts": "1568343022832191",
"status": "COMPLETED",
"status_changed_ts": "1568343458108226",
"tags": [
"build_address:luci.webrtc.ci/Linux32 Debug/22502",
"builder:Linux32 Debug",
"buildset:commit/git/b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3",
"buildset:commit/gitiles/webrtc.googlesource.com/src/+/b5a4ae8a5798f4f82afccd7dba4e7a49ae8ec7b3",
"gitiles_ref:refs/heads/master",
"scheduler_invocation_id:9067897933048085584",
"scheduler_job_id:webrtc/Linux32 Debug",
"swarming_hostname:chromium-swarm.appspot.com",
"swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8902467865448940800/+/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:47414a5a7f83c810",
"user_agent:luci-scheduler"
],
"updated_ts": "1568343458211949",
"url": "https://ci.chromium.org/b/8902467865448940800",
"utcnow_ts": "1568343459620650"
}
}
[02:57:39.628] Invocation finished in 23m19.962124786s with status SUCCEEDED