New commit detected on ManageIQ/manageiq-providers-kubernetes/gaprindashvili: https://github.com/ManageIQ/manageiq-providers-kubernetes/commit/062d26cc9dc632499c18bad691a59d7587d50845 commit 062d26cc9dc632499c18bad691a59d7587d50845 Author: Adam Grare <agrare> AuthorDate: Wed Mar 21 15:21:58 2018 -0400 Commit: Adam Grare <agrare> CommitDate: Wed Mar 21 15:21:58 2018 -0400 Merge pull request #242 from cben/service-with-no-pods Avoid refresh crash on Service without matchin Endpoints (cherry picked from commit a1915c17f6c66f307c333b3e9f1acd15334c80a6) Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1559149 app/models/manageiq/providers/kubernetes/container_manager/refresh_parser.rb | 3 +- spec/models/manageiq/providers/kubernetes/container_manager/refresher_spec.rb | 4 +- spec/vcr_cassettes/manageiq/providers/kubernetes/container_manager/refresher_after_deletions.txt | 112 +- spec/vcr_cassettes/manageiq/providers/kubernetes/container_manager/refresher_after_deletions.yml | 1800 +- spec/vcr_cassettes/manageiq/providers/kubernetes/container_manager/refresher_before_deletions.txt | 178 +- spec/vcr_cassettes/manageiq/providers/kubernetes/container_manager/refresher_before_deletions.yml | 1846 +- 6 files changed, 1972 insertions(+), 1971 deletions(-)
New commit detected on ManageIQ/manageiq-providers-openshift/gaprindashvili: https://github.com/ManageIQ/manageiq-providers-openshift/commit/8df703259c82993f48056a3636f726ad8cf97d80 commit 8df703259c82993f48056a3636f726ad8cf97d80 Author: Adam Grare <agrare> AuthorDate: Wed Mar 21 15:35:02 2018 -0400 Commit: Adam Grare <agrare> CommitDate: Wed Mar 21 15:35:02 2018 -0400 Merge pull request #92 from cben/service-with-no-pods New VCR including Service with empty and missing Endpoints (cherry picked from commit bc3774ba14e16afa0e44e7535d208546f3bcb892) https://bugzilla.redhat.com/show_bug.cgi?id=1559149 spec/models/manageiq/providers/openshift/container_manager/refresher_spec.rb | 4 +- spec/vcr_cassettes/manageiq/providers/openshift/container_manager/refresher_after_deletions.txt | 112 +- spec/vcr_cassettes/manageiq/providers/openshift/container_manager/refresher_after_deletions.yml | 1800 +- spec/vcr_cassettes/manageiq/providers/openshift/container_manager/refresher_before_deletions.txt | 178 +- spec/vcr_cassettes/manageiq/providers/openshift/container_manager/refresher_before_deletions.yml | 1846 +- spec/vcr_cassettes/manageiq/providers/openshift/container_manager/test_objects_record.sh | 2 + spec/vcr_cassettes/manageiq/providers/openshift/container_manager/test_objects_template.yml | 22 + 7 files changed, 1994 insertions(+), 1970 deletions(-)
Verified in 5.9.1.1 First tested in 5.9.1.0 to verify I did see the error Verification steps: 1) On the Openshift, created the following service json file: # cat service_no_endpoint.json { "kind": "Service", "apiVersion": "v1", "metadata": { "name": "hello-service" }, "spec": { "ports": [ { "protocol": "TCP", "port": 8888, "targetPort": 8080 } ] } } 2) Added the service by running oc create -f service_no_endpoint.json 3) On the CFME appliance, triggered a manual refresh 4) Observed the following in the logs: [----] I, [2018-03-23T10:15:56.415532 #31540:60f130] INFO -- : MIQ(MiqQueue#deliver) Message id: [30566], Delivering... [----] I, [2018-03-23T10:15:56.419357 #31540:60f130] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh) Refreshing all targets... [----] I, [2018-03-23T10:15:56.419614 #31540:60f130] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh) EMS: [cm-juwatts], id: [33] Refreshing targets for EMS... [----] I, [2018-03-23T10:15:56.419933 #31540:60f130] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh) EMS: [cm-juwatts], id: [33] ManageIQ::Providers::Openshift::ContainerManager [cm-juwatts] id [33] [----] I, [2018-03-23T10:15:56.420246 #31540:60f130] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager#with_provider_connection) Connecting through ManageIQ::Providers::Openshift::ContainerManager: [cm-juwatts] [----] I, [2018-03-23T10:15:56.693868 #31540:60f130] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager#with_provider_connection) Connecting through ManageIQ::Providers::Openshift::ContainerManager: [cm-juwatts] [----] I, [2018-03-23T10:15:57.837080 #31540:60f130] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh_targets_for_ems) EMS: [cm-juwatts], id: [33] Refreshing target ManageIQ::Providers::Openshift::ContainerManager [cm-juwatts] id [33]... [----] I, [2018-03-23T10:15:58.118772 #18185:60f130] INFO -- : MIQ(MiqScheduleWorker::Runner#do_work) Number of scheduled items to be processed: 1. [----] I, [2018-03-23T10:15:58.219457 #17927:60f130] INFO -- : MIQ(MiqServer#populate_queue_messages) Fetched 1 miq_queue rows for queue_name=ems_11, wcount=2, priority=200 [----] I, [2018-03-23T10:15:58.222464 #17927:60f130] INFO -- : MIQ(MiqServer#populate_queue_messages) Fetched 1 miq_queue rows for queue_name=ems_13, wcount=1, priority=200 [----] I, [2018-03-23T10:15:58.241690 #17927:60f130] INFO -- : MIQ(MiqServer#populate_queue_messages) Fetched 1 miq_queue rows for queue_name=ems_27, wcount=2, priority=200 [----] I, [2018-03-23T10:16:00.806992 #31540:60f130] INFO -- : MIQ(ManagerRefresh::SaveInventory.save_inventory) EMS: [cm-juwatts], id: [33] Saving EMS Inventory... [----] I, [2018-03-23T10:16:03.275447 #17927:60f130] INFO -- : MIQ(MiqServer#populate_queue_messages) Fetched 1 miq_queue rows for queue_name=ems_11, wcount=2, priority=200 [----] I, [2018-03-23T10:16:03.278524 #17927:60f130] INFO -- : MIQ(MiqServer#populate_queue_messages) Fetched 1 miq_queue rows for queue_name=ems_13, wcount=1, priority=200 [----] I, [2018-03-23T10:16:03.298712 #17927:60f130] INFO -- : MIQ(MiqServer#populate_queue_messages) Fetched 1 miq_queue rows for queue_name=ems_27, wcount=2, priority=200 [----] E, [2018-03-23T10:16:03.576507 #31540:60f130] ERROR -- : MIQ(ManagerRefresh::SaveCollection::Saver::Default#save!) Error when saving InventoryCollection:<ContainerService>, blacklist: [namespace] with strategy: , saver_strategy: default, targeted: false. Message: undefined method `each' for nil:NilClass [----] I, [2018-03-23T10:16:03.576735 #31540:60f130] INFO -- : Exception in realtime_block :ems_refresh - Timings: {:collect_inventory_for_targets=>1.4168827533721924, :parse_targeted_inventory=>2.592820167541504, :save_inventory=>3.1465206146240234, :ems_refresh=>7.1566221714019775} [----] E, [2018-03-23T10:16:03.576875 #31540:60f130] ERROR -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh) EMS: [cm-juwatts], id: [33] Refresh failed On 5.9.1.1 Verification steps: 1) On the Openshift, created the following service json file: # cat service_no_endpoint.json { "kind": "Service", "apiVersion": "v1", "metadata": { "name": "hello-service" }, "spec": { "ports": [ { "protocol": "TCP", "port": 8888, "targetPort": 8080 } ] } } 2) Added the service by running oc create -f service_no_endpoint.json 3) On the CFME appliance, triggered a manual refresh 4) Verified refresh completed successfully: [----] I, [2018-03-23T10:34:32.245737 #33418:827134] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh) Refreshing all targets... [----] I, [2018-03-23T10:34:32.245852 #33418:827134] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh) EMS: [cm-juwatts], id: [1] Refreshing targets for EMS... [----] I, [2018-03-23T10:34:32.245938 #33418:827134] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh) EMS: [cm-juwatts], id: [1] ManageIQ::Providers::Openshift::ContainerManager [cm-juwatts] id [1] [----] I, [2018-03-23T10:34:32.246274 #33418:827134] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager#with_provider_connection) Connecting through ManageIQ::Providers::Openshift::ContainerManager: [cm-juwatts] [----] I, [2018-03-23T10:34:32.491440 #33418:827134] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager#with_provider_connection) Connecting through ManageIQ::Providers::Openshift::ContainerManager: [cm-juwatts] [----] I, [2018-03-23T10:34:33.350206 #33418:827134] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh_targets_for_ems) EMS: [cm-juwatts], id: [1] Refreshing target ManageIQ::Providers::Openshift::ContainerManager [cm-juwatts] id [1]... [----] I, [2018-03-23T10:34:34.866525 #13210:827134] INFO -- : MIQ(MiqScheduleWorker::Runner#do_work) Number of scheduled items to be processed: 4. [----] I, [2018-03-23T10:34:34.874690 #13210:827134] INFO -- : MIQ(MiqQueue.put) Message id: [670], id: [], Zone: [default], Role: [], Server: [b234e1e7-071a-47a8-838d-507a85832f03], Ident: [generic], Target id: [], Instance id: [], Task id: [], Command: [MiqServer.status_update], Timeout: [600], Priority: [20], State: [ready], Deliver On: [], Data: [], Args: [] [----] I, [2018-03-23T10:34:34.880606 #13210:827134] INFO -- : MIQ(MiqQueue.put) Message id: [671], id: [], Zone: [default], Role: [], Server: [], Ident: [generic], Target id: [], Instance id: [], Task id: [], Command: [Job.check_jobs_for_timeout], Timeout: [600], Priority: [90], State: [ready], Deliver On: [], Data: [], Args: [] [----] I, [2018-03-23T10:34:36.441615 #33418:827134] INFO -- : MIQ(ManagerRefresh::SaveInventory.save_inventory) EMS: [cm-juwatts], id: [1] Saving EMS Inventory... [----] I, [2018-03-23T10:34:39.453285 #33418:827134] INFO -- : MIQ(ManagerRefresh::SaveInventory.save_inventory) EMS: [cm-juwatts], id: [1] Saving EMS Inventory...Complete [----] I, [2018-03-23T10:34:39.453486 #33418:827134] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh_targets_for_ems) EMS: [cm-juwatts], id: [1] Refreshing target ManageIQ::Providers::Openshift::ContainerManager [cm-juwatts] id [1]...Complete [----] I, [2018-03-23T10:34:39.453569 #33418:827134] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh_targets_for_ems) EMS: [cm-juwatts], id: [1] ManagerRefresh Post Processing ManageIQ::Providers::Openshift::ContainerManager [cm-juwatts] id [1]... [----] I, [2018-03-23T10:34:39.453662 #33418:827134] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh_targets_for_ems) EMS: [cm-juwatts], id: [1] ManagerRefresh Post Processing ManageIQ::Providers::Openshift::ContainerManager [cm-juwatts] id [1]...Complete [----] I, [2018-03-23T10:34:39.453771 #33418:827134] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh) EMS: [cm-juwatts], id: [1] Refreshing targets for EMS...Complete - Timings {:collect_inventory_for_targets=>1.103957176208496, :parse_targeted_inventory=>2.7208032608032227, :save_inventory=>3.3822102546691895, :manager_refresh_post_processing=>1.1444091796875e-05, :ems_refresh=>7.207696199417114} [----] I, [2018-03-23T10:34:39.467014 #33418:827134] INFO -- : MIQ(ManageIQ::Providers::Openshift::ContainerManager::Refresher#refresh) Refreshing all targets...Complete
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:0556