Ian, we figured it out. Abhi is able to see it.
thanks On May 6, 2013, at 9:58 AM, Ian Duffy <i...@ianduffy.ie> wrote: > Hi Abhinandan, > > It should be there. I have it marked as public so the following link should > work as well: > > https://google-melange.appspot.com/gsoc/proposal/review/google/gsoc2013/imduffy15/1 > > Thanks! > Ian > > On 6 May 2013 12:32, Abhinandan Prateek <agneya2...@hotmail.com> wrote: > >> I am unable to see the proposal in melange website. Am I missing something >> ? >> >> -abhi >> >> On 04/05/13 6:56 PM, "Sebastien Goasguen" <run...@gmail.com> wrote: >> >>> Ian thanks a lot for your proposal and submission. >>> >>> This project has been proposed by Abhinandan Prateek, so I am copying him >>> in this email so he can comment. >>> >>> @Abhi, you need to access the google melange site and find Ian's proposal >>> >>> -Sebastien >>> >>> On May 3, 2013, at 12:40 PM, Ian Duffy <i...@ianduffy.ie> wrote: >>> >>>> Hi, >>>> >>>> Sorry just noticed that the attachment appeared to have got stripped, >>>> here >>>> is the contents of the PDF. Alternatively I have uploaded it here: >>>> http://ianduffy.ie/Cloudstack-LDAP.pdf >>>> >>>> *Apache Cloudstack Google Summer of Code Project: LDAP user >>>> provisioning* >>>> >>>> >>>> Need to automate the way the LDAP users are provisioned into cloud >>>> stack. >>>> This will mean better integration with a LDAP server, ability to import >>>> users and a way to define how the LDAP user maps to the cloudstack >>>> users. >>>> >>>> >>>> Abstract >>>> >>>> >>>> >>>> The aim of this project is to provide an easier mechanism to provision >>>> users from LDAP into cloudstack. Currently cloudstack provides >>>> authentication LDAP authentication. In this authentication users must >>>> be >>>> first setup in cloudstack. Once the user is setup in cloudstack they >>>> can >>>> authenticate using their ldap username and password. >>>> >>>> >>>> >>>> This feature aims to extend the current functionality to make user setup >>>> align with LDAP group. >>>> >>>> >>>> Deliverables >>>> >>>> ñ Service that retrieves a list of ldap users from the configured group >>>> >>>> ñ Extension of cloudstack UI ³Add User² screen to offer user list from >>>> LDAP >>>> >>>> ñ Add service for saving new user with details from LDAP >>>> >>>> ñ BDD unit and acceptance automated testing >>>> >>>> ñ Document change details >>>> >>>> >>>> Quantifiable results >>>> >>>> >>>> Given A need to add new user to cloudstack and LDAP is setup >>>> >>>> When >>>> >>>> You open the ³Add User² screen >>>> >>>> Then >>>> >>>> A table of users appears for the current list of users (not already >>>> created >>>> on cloudstack) from the LDAP group displaying their a checkbox, >>>> username, >>>> name and email address. The timezone dropdown will still be available >>>> beside each user. >>>> Given A need to add new user to cloudstack and LDAP is not setup >>>> >>>> When >>>> >>>> You open the ³Add User² screen >>>> >>>> Then >>>> >>>> The current add user screen and functionality is provided >>>> Given A need to add new user to cloudstack and LDAP is setup >>>> >>>> When >>>> >>>> You open the ³Add User² screen and mandatory information is missing >>>> >>>> Then >>>> >>>> These fields will be editable to enable you populate the name or email >>>> address >>>> >>>> >>>> Given A need to add new user to cloudstack, LDAP is setup but user is >>>> in >>>> the ldap query group >>>> >>>> When >>>> >>>> You open the ³Add User² screen >>>> >>>> Then >>>> >>>> There is a list of LDAP users displayed but your current user is >>>> present in >>>> the list >>>> Given A need to add new user to cloudstack, LDAP is setup but user >>>> is >>>> not in the query group >>>> >>>> When >>>> >>>> You open the ³Add User² screen >>>> >>>> Then >>>> >>>> There is a list of LDAP users displayed but your current user is not in >>>> the >>>> list >>>> Given You need to add group of new users to cloudstack >>>> >>>> When >>>> >>>> You open the ³Add User² screen, select the users and hit save >>>> >>>> Then >>>> >>>> The list of new users are saved to the database >>>> >>>> >>>> Given You need to add group of new users to cloudstack >>>> >>>> When >>>> >>>> You open the ³Add User² screen, select the users and hit save >>>> >>>> Then >>>> >>>> The list of new users are saved to the database >>>> >>>> >>>> Given You have created a new LDAP user on cloudstack >>>> >>>> When >>>> >>>> The user authenticates against cloudstack with the right credentials >>>> >>>> Then >>>> >>>> They are authorised in cloudstack >>>> Given A user wants to edit an LDAP user >>>> >>>> When >>>> >>>> They open the Edit User screen >>>> >>>> Then >>>> >>>> The password fields are disabled and cannot be changed >>>> The design document *Ldap User List Service* >>>> >>>> >>>> >>>> *name*: ldapUserList >>>> >>>> *responseObject*: LDAPUserResponse {username, email, name} >>>> >>>> *parameter*: listType:enum {NEW, EXISTING, ALL} (Default to ALL if no >>>> option provided) >>>> >>>> >>>> >>>> Create a new API service call for retreiving the list of users from >>>> LDAP. >>>> This will call a new ConfigurationService which will retrieve the list >>>> of >>>> users using the configured search base and the query filter. The list >>>> may >>>> be filtered in the ConfigurationService based on listType parameter. >>>> >>>> >>>> >>>> *Ldap Available Service* >>>> >>>> >>>> >>>> *name*: ldapAvailable >>>> >>>> *responseObject*: LDAPAvailableResponse {available:boolean} >>>> >>>> >>>> >>>> Create a new API service call verifying LDAP is setup correctly >>>> verifying >>>> the following configuration elements are all set: >>>> >>>> ñ ldap.hostname >>>> >>>> ñ ldap.port >>>> >>>> ñ ldap.usessl >>>> >>>> ñ ldap.queryfilter >>>> >>>> ñ ldap.searchbase >>>> >>>> ñ ldap.dn >>>> >>>> ñ ldap.password >>>> >>>> >>>> >>>> The verification that all of these are set will return an available >>>> boolean >>>> true. If required this could perform a status check against LDAP first >>>> and >>>> provide warning if it fails. >>>> >>>> >>>> *Ldap Save Users Service* >>>> >>>> >>>> >>>> *name*: ldapSaveUsers >>>> >>>> *responseObject*: LDAPSaveUsersResponse {list<UserResponse>} >>>> >>>> *parameter*: list of users >>>> >>>> >>>> >>>> Saves the list of objects instead. Following the functionality in >>>> CreateUserCmd it will >>>> >>>> ñ Create the user via the account service >>>> >>>> ñ Handle the response >>>> >>>> >>>> >>>> It will be decided whether a transation should remain over whole save or >>>> only over individual users. A list of UserResponse will be returned. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> *Extension of cloudstack UI ³Add User² screen * >>>> >>>> >>>> >>>> Extend account.js to enable it add a user list with editable fields >>>> where >>>> required. The new ³Add User² screen for LDAP setup. >>>> >>>> ñ This will make an ajax call to the ldapAvailable, ldapUserList and >>>> ldapSaveUsers services >>>> >>>> ñ Validation will be maintained on username, email, firstname and >>>> lastname >>>> >>>> >>>> >>>> *Extension of cloudstack UI ³Edit User² screen * >>>> >>>> >>>> >>>> Extend account.js to disable the password fields on the edit user >>>> screen if >>>> LDAP available. >>>> >>>> ñ This will make an ajax call to the ldapAvailable and updateUser >>>> services >>>> >>>> ñ Validation will be maintained on username, email, firstname and >>>> lastname. Additional server validation will ensure password has not >>>> changed. >>>> >>>> >>>> >>>> >>>> Approach >>>> >>>> >>>> >>>> To get started a development cloudstack environment with DevCloud used >>>> to >>>> verify changes. Then once the schedule agreed with the mentor the >>>> deliverables will be broken into smaller User stories with expected >>>> delivery dates set. The development cycle will focus on BDD enforcing >>>> all >>>> unit and acceptance tests written first. >>>> >>>> >>>> >>>> A build pipe line for continious delivery environment around cloudstack >>>> here will be created, the following stages will be adopted >>>> >>>> >>>> >>>> *Stage* >>>> >>>> *Action* >>>> >>>> Commit >>>> >>>> Runs unit tests >>>> >>>> Sonar >>>> >>>> Runs code quality metrics >>>> >>>> Acceptance >>>> >>>> Deploys the dev cloud and runs all acceptance tests >>>> >>>> Deployment >>>> >>>> Deploy a new management server using Chef >>>> >>>> >>>> >>>> >>>> About Me >>>> >>>> >>>> >>>> I am a Computer Science Student at Dublin City University in Ireland. I >>>> have interests in virtualization, automation, information systems, >>>> networking and web development. >>>> >>>> >>>> >>>> I was involved with a project in a K-12(educational) environment of >>>> moving >>>> their server systems over to a virtualized environment on ESXi. I have >>>> good knowledge of programming in Java, PHP and Scripting langages. >>>> During >>>> the configuration of an automation system for OS deployment I >>>> experienced >>>> some exposure to scripting in powershell, batch, vbs and bash and >>>> configuration of PXE images based of WinPE and Debian. >>>> >>>> Additionally I am also a mentor in an opensource teaching movement >>>> called >>>> CoderDojo, we teach kids from the age of 8 everything from web page, >>>> HTML 5 >>>> game and raspberry pi development. >>>> >>>> >>>> >>>> I¹m excited at the opportunity and learning experience that cloudstack >>>> are >>>> offering with this project. >>>> >>>> >>>> References >>>> >>>> >>>> >>>> ñ https://cwiki.apache.org/CLOUDSTACK/development-101.html >>>> >>>> ñ >>>> >>>> >> http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.0.2/html/Admi >>>> n_Guide/ >>>> >>>> ñ >>>> >>>> >> http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.0.2/html/API_ >>>> Developers_Guide/index.html >>>> >>>> ñ https://issues.apache.org/jira/browse/CLOUDSTACK-2014 >>>> >>>> ñ >>>> >>>> >> http://www.slideshare.net/sebastiengoasguen/apache-cloudstack-google-summ >>>> er-of-code >>>> >>>> ñ >>>> >>>> >> http://kirkjantzer.blogspot.co.uk/2013/03/ldap-authentication-in-cloudsta >>>> ck-v401.html >>>> >>>> ñ http://www.ldapguru.info/ldap/ldap-search-best-practices.html >>>> >>>> ñ >>>> >> http://docs.oracle.com/javase/6/docs/technotes/guides/jndi/jndi-ldap.html >>>> >>>> >>>> >>>> >>>> >>>> >>>> On 3 May 2013 17:35, Ian Duffy <i...@ianduffy.ie> wrote: >>>> >>>>> Hi, >>>>> >>>>> I was wondering If I could get some feedback on the attached file >>>>> labeled >>>>> "Cloudstack-LDAP.pdf". It outlines a design document for the project >>>>> labeled "LDAP user provisioning" >>>>> >>>>> From my current understanding of the single sign on mechanism >>>>> implemented >>>>> in cloudstack a LDAP user must be created manually within the >>>>> cloudstack >>>>> database. Would it be preferred to: >>>>> >>>>> A) Create a service that polls LDAP every so often to check for new >>>>> user >>>>> creation. >>>>> or >>>>> B) Extend the login page to check LDAP after failing to find a user >>>>> within >>>>> the cloudstack database. On success of finding a user in LDAP a profile >>>>> would automatically be created within the cloudstack database. >>>>> >>>>> Kind regards, >>>>> Ian >>>>> >>> >>> >> >> >>