| Summary: | Exception: NoMethodError: undefined method `external_port' for nil:NilClass | ||
|---|---|---|---|
| Product: | OpenShift Online | Reporter: | Jessica Forrester <jforrest> |
| Component: | Pod | Assignee: | Rajat Chopra <rchopra> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | libra bugs <libra-bugs> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 2.x | CC: | dmcphers, jhou |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-01-24 03:26:59 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
Jessica Forrester
2013-10-25 15:20:24 UTC
So far I've only seen this happen when the previous operation, expose-port, hits the 240 second MCollective timeout. For some reason the expose-port operation isn't considered a failure, and update-cluster is executed. update-cluster requires that all web gears in Mongo have at least one port_interface. Because expose-port doesn't complete successfully, the gears have 0 port_interfaces, and we see this exception. Fixed with https://github.com/openshift/origin-server/pull/4052 Expose port failures will not be ignored any more and the app create will fail nicely. Verified on devenv_3973
Added "sleep 300" in //opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-msg-broker-mcollective-1.16.4/lib/openshift/mcollective_application_container_proxy.rb to make mcollective timeout, according to development.rb, the action hangs there and the exepose-port op is not executed successfully, and application is not available after creation.
Change the code back, and restart mcollective/broker services, the pending_op is executed and app became available after a short time. Make as verified
Appended development.log
<-- development.log -->
2013-10-31 01:20:43.140 [DEBUG] Execute PostConfigureCompOp (pid:32618)
2013-10-31 01:20:43.197 [DEBUG] DEBUG: rpc_client.custom_request('cartridge_do', {:cartridge=>"haproxy-1.4", :action=>"post-configure", :args=>{"--with-app-uuid"=>"5271e75f83b701a8b1000001", "--with-app-name"=>"php1s", "--with-container-uuid"=>"5271e75f83b701a8b1000001", "--with-container-name"=>"php1s", "--with-namespace"=>"jhou", "--with-uid"=>4410, "--with-request-id"=>"092d8f09106b0cf6ff541a1fd819867f", "--cart-name"=>"haproxy-1.4", "--component-name"=>"web_proxy", "--with-software-version"=>"1.4", "--cartridge-vendor"=>"redhat"}}, ip-10-82-221-10, {'identity' => ip-10-82-221-10}) (Request ID: 092d8f09106b0cf6ff541a1fd819867f) (pid:32618)
2013-10-31 01:20:46.204 [DEBUG] DEBUG: [#<MCollective::RPC::Result:0x00000005a7f940 @agent="openshift", @action="cartridge_do", @results={:sender=>"ip-10-82-221-10", :statuscode=>0, :statusmsg=>"OK", :data=>{:time=>nil, :output=>"HAProxy instance is started\n", :exitcode=>0, :addtl_params=>nil}}>] (Request ID: 092d8f09106b0cf6ff541a1fd819867f) (pid:32618)
2013-10-31 01:20:46.206 [DEBUG] DEBUG: MCollective Response Time (execute_direct: post-configure): 3.010714897s (Request ID: 092d8f09106b0cf6ff541a1fd819867f) (pid:32618)
2013-10-31 01:20:46.251 [DEBUG] Execute ExposePortOp (pid:32618)
<-- end of development.log -->
|