[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14354630#comment-14354630
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8272:
--------------------------------------------

GitHub user bhaisaab opened a pull request:

    https://github.com/apache/cloudstack/pull/106

    CLOUDSTACK-8272: Python based file-lock free password server implementat...

    Major changes:
    
    - VRs are single CPU, so Threading based implementation favoured than 
Forking based
    - Implements a Python based password server that does not use file based 
locks
    - Saving password mechanism is provided by using secure token only to VR 
(localhost)
    - Old serve_password implementation is removed
    - Runs with Python 2.6+ with no external dependencies
    - Locks used within threads for extra safety
    
    The aim for this is to improve password server by relying on a threading 
based approach to minimize RAM usage and at the same time avoid using file 
based lock. For 4.5.1 and 4.6.0

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/apache/cloudstack concurrent-password-server

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cloudstack/pull/106.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #106
    
----
commit 3951ab00e25458c9c804b190ae7c7758f57985a3
Author: Rohit Yadav <[email protected]>
Date:   2015-03-10T10:05:31Z

    CLOUDSTACK-8272: Python based file-lock free password server implementation
    
    - VRs are single CPU, so Threading based implementation favoured than 
Forking based
    - Implements a Python based password server that does not use file based 
locks
    - Saving password mechanism is provided by using secure token only to VR 
(localhost)
    - Old serve_password implementation is removed
    - Runs with Python 2.6+ with no external dependencies
    - Locks used within threads for extra safety
    
    Signed-off-by: Rohit Yadav <[email protected]>

----


> Improve password serving script by making it non-blocking non-locking 
> concurrent server
> ---------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-8272
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8272
>             Project: CloudStack
>          Issue Type: Improvement
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>    Affects Versions: 4.5.0, 4.6.0, 4.4.2, 4.3.2
>            Reporter: Rohit Yadav
>            Assignee: Rohit Yadav
>              Labels: virtualrouter
>
> The current reset password server serves one user VM at a time, uses a global 
> lock per VR and slows up VM starting process for a VM that is created by a 
> template with reset password scripts. No only reset password option, but when 
> the VM starts for the first time this happens. The way it serves password 
> uses forking the process/scripts which eats up resources in both process 
> table and memory. For a concurrent launch of 30+ VM the VR hangs/fails. 
> Possible solution in the past includes increase the VR memory.
> The solution would be to implement a concurrent single-process multi-threaded 
> password server that works both in basic/isolated network and in VPCs. It's 
> hard to do this in bash, so we can either implement a backward compatible 
> python script that replaces the present bash script, or a compiled program 
> (like a native tool) in C/C++/Go/Rust.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to