[
https://issues.apache.org/jira/browse/VCL-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15991023#comment-15991023
]
ASF subversion and git services commented on VCL-1034:
------------------------------------------------------
Commit 1793369 from [email protected] in branch 'vcl/trunk'
[ https://svn.apache.org/r1793369 ]
VCL-1034
Updated Lab.pm::load to not call exit. This was causing the state to get stuck
in 'pending' for preload requests. Cleaned up load and node_status subroutines.
node_status now returns 'READY' if the computer is responding to SSH, and
'RELOAD' if it is not. The load() subroutine also performs an SSH check. If it
is not responding, node_status forces load to be called, which will return
false, causing the reservation to fail before the user is presented with the
connect button.
> Lab.pm does not handle preload reservations correctly
> -----------------------------------------------------
>
> Key: VCL-1034
> URL: https://issues.apache.org/jira/browse/VCL-1034
> Project: VCL
> Issue Type: Bug
> Components: vcld (backend)
> Affects Versions: 2.4.2
> Reporter: Andy Kurth
> Fix For: 2.5
>
>
> The reservation gets processed ahead of time:
> {noformat}
> 2017-04-19 19:54:36|14129|3149948|3258996|new|Lab.pm:node_status|287|VCL
> client daemon is running
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|Lab.pm:node_status|312|returning node
> status hash reference with {status}=READY
> 2017-04-19 19:54:36|14129|3149948|3258996|new|new.pm:reload_image|518|node
> status is HASH(0x3e752c0), engr-vcl-l-004 will be reloaded
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|utils.pm:insertloadlog|2762|inserted
> 'loadimageblade' computerloadlog entry
> 2017-04-19 19:54:36|14129|3149948|3258996|new|new.pm:reload_image|565|unable
> to check if image exists, does_image_exist() not implemented by
> VCL::Module::Provisioning::Lab
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|utils.pm:update_computer_state|1462|computer
> 2869 state updated to: reloading
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|new.pm:reload_image|570|computer
> engr-vcl-l-004 state set to reloading
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|utils.pm:insertloadlog|2762|inserted
> 'info' computerloadlog entry
> 2017-04-19 19:54:36|14129|3149948|3258996|new|new.pm:reload_image|580|calling
> VCL::Module::Provisioning::Lab->load() subroutine
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|utils.pm:insertloadlog|2762|inserted
> 'info' computerloadlog entry
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|DataStructure.pm:is_parent_reservation|1140|this
> is the parent reservation
> 2017-04-19 19:54:36|14129|3149948|3258996|new|Lab.pm:load|97|computer id:
> 2869, is parent reservation: 1
> 2017-04-19 19:54:36|14129|3149948|3258996|new|Lab.pm:load|102|check_time
> result is preload, nothing needs to be done for lab preloads
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|utils.pm:insertloadlog|2762|inserted
> 'info' computerloadlog entry
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|utils.pm:update_preload_flag|1321|preload
> flag updated for request_id 3149948
> 2017-04-19 19:54:36|14129|3149948|3258996|new|Lab.pm:load|110|parent
> reservation: updated preload flag to 1
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|utils.pm:insertloadlog|2762|inserted
> 'info' computerloadlog entry
> 2017-04-19 19:54:36|14129|3149948|3258996|new|Lab.pm:load|121|preload lab
> reservation process exiting
> 2017-04-19 19:54:36|14129|3149948|3258996|new|State.pm:DESTROY|1045|VCL::new
> destructor called, address: 2ebbc08
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|State.pm:state_exit|863|beginning state
> module exit tasks
> |14129|3149948|3258996|new|State.pm:state_exit|863| request state argument:
> <not specified>
> |14129|3149948|3258996|new|State.pm:state_exit|863| computer state argument:
> <not specified>
> |14129|3149948|3258996|new|State.pm:state_exit|863| log ending argument: <not
> specified>
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|DataStructure.pm:is_parent_reservation|1140|this
> is the parent reservation
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|utils.pm:delete_computerloadlog_reservation|5848|deleted
> rows from computerloadlog matching loadstate regex '(begin)' for reservation
> IDs: 3258996
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|utils.pm:insertloadlog|2762|inserted
> 'exited' computerloadlog entry
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|State.pm:state_exit|1014|calling
> subroutine: VCL::Module::State::DESTROY, skipping call to exit
> 2017-04-19
> 19:54:36|14129|3149948|3258996|new|Module.pm:DESTROY|2446|destroying VCL::new
> object, address: 2ebbc08
> 2017-04-19 19:54:36|14129|3149948|3258996|new|State.pm:DESTROY|1098|VCL::new
> process duration: 3 seconds
> 2017-04-19
> 19:54:37|14129|3149948|3258996|new|Module.pm:DESTROY|2446|destroying
> VCL::Module::Provisioning::Lab object, address: 3e4ec88
> 2017-04-19
> 19:54:37|14129|3149948|3258996|new|Module.pm:DESTROY|2446|destroying
> VCL::Module::OS::Linux::UnixLab object, address: 3e29600
> 2017-04-19
> 19:54:37|14129|3149948|3258996|new|Module.pm:DESTROY|2446|destroying
> VCL::Module::OS::Linux::ManagementNode object, address: 3e4eac0
> {noformat}
> After this process exits, the user is not presented with a Connect button.
> vcld.log does not reprocess the request then the start time is reached.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)