cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <>
Subject [jira] [Commented] (CLOUDSTACK-8272) Improve password serving script by making it non-blocking non-locking concurrent server
Date Tue, 10 Mar 2015 11:39:45 GMT


ASF subversion and git services commented on CLOUDSTACK-8272:

Commit 8e953fe8593cf624c37213d94f79ea9e17a12f27 in cloudstack's branch refs/heads/concurrent-password-server
from []
[;h=8e953fe ]

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

> Improve password serving script by making it non-blocking non-locking concurrent server
> ---------------------------------------------------------------------------------------
>                 Key: CLOUDSTACK-8272
>                 URL:
>             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
>             Fix For: 4.5.0, 4.6.0
> 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

View raw message