Hi Ian,

  The issue has been promptly resolved and now I have access to it.
Will follow up with more details on your proposal.

Thank you,
-abhi


On 06/05/13 7:28 PM, "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/im
>duffy15/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
>> >>>
>> >
>> >
>>
>>
>>


Reply via email to