[
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)