Bug 1559149 - Cloudforms v4.6 Integration with Openshift Container Platform v3.6 - Unable to refresh Provider Info
Summary: Cloudforms v4.6 Integration with Openshift Container Platform v3.6 - Unable t...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Providers
Version: 5.9.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: GA
: 5.9.1
Assignee: Beni Paskin-Cherniavsky
QA Contact: juwatts
URL:
Whiteboard:
Depends On: 1558209
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-03-21 19:37 UTC by Satoe Imaishi
Modified: 2021-09-09 13:29 UTC (History)
12 users (show)

Fixed In Version: 5.9.1.1
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1558209
Environment:
Last Closed: 2018-04-11 17:47:40 UTC
Category: ---
Cloudforms Team: Container Management
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0556 0 None None None 2018-04-11 17:48:14 UTC

Comment 3 CFME Bot 2018-03-22 22:08:04 UTC
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(-)

Comment 4 CFME Bot 2018-03-22 22:08:10 UTC
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(-)

Comment 5 juwatts 2018-03-23 14:45:43 UTC
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

Comment 8 errata-xmlrpc 2018-04-11 17:47:40 UTC
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


Note You need to log in before you can comment on or make changes to this bug.