svn commit: samba r15901 - in branches/SOC: . bnh

brad at samba.org brad at samba.org
Fri May 26 05:29:58 GMT 2006


Author: brad
Date: 2006-05-26 05:29:57 +0000 (Fri, 26 May 2006)
New Revision: 15901

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15901

Log:
Making my branch and committing my proposal.


Added:
   branches/SOC/bnh/
   branches/SOC/bnh/PROPOSAL


Changeset:
Added: branches/SOC/bnh/PROPOSAL
===================================================================
--- branches/SOC/bnh/PROPOSAL	2006-05-26 04:44:25 UTC (rev 15900)
+++ branches/SOC/bnh/PROPOSAL	2006-05-26 05:29:57 UTC (rev 15901)
@@ -0,0 +1,93 @@
+Personal Information
+
+Brad Henry
+
+B.Sc. Computer Science, B.A. Honours Philosophy (in progress)
+
+Attending the University of Regina in Saskatchewan, Canada.
+
+j0j0 at riod.ca
+
+bnh on #samba-technical at freenode
+
+Resume: http://www.riod.ca/resume/BradNHenry_Resume.pdf
+
+
+
+Background
+
+I expect to be able to commit approximately 40 hrs/wk to this project. 36 hrs/wk I am employed with the Government of Saskatchewan. I will also be away for a week in July to help my brother with his wedding, although I will have my laptop and so be able to work on the project lightly over that period. I will be able to take as much as three weeks off of work this summer (on an as needed basis) to fully concentrate on the development of this project as best I can.
+
+I have spent the last ten years of my personal, career and academic focus to develop myself in relation to a range of philosophical, IT, and open source development interests, as shown in my resume which can be found at http://www.riod.ca/resume/BradNHenry_Resume.pdf. My future goals are to continue to rigourously maintain the breadth of these interests and develop them further.
+
+I am familiar with Samba 3 as an administrator of a large distributed Windows network. Professionally, I have implemented Samba 3 on Linux to provide file and print services throughout my department's locations. I have development experience with Samba 4, as I have done some work with the libnet library and net utility relating to domain joins with the assistance of Andrew Bartlett. In addition, I did a Summer of Code 2005 project which provided a preliminary smbtorture test for inducing active directory replication by calling DRSUAPI DsGetNCChanges successfully, under the guidance and mentorship of Stephan Metzmacher and Andrew Bartlett.
+
+A few years ago I developed a project called nisldapd, and released it under the BSD license. It is used to make LDAP users and groups available to an NIS server. I am currently working in my spare time to develop the Linux NIS server so that it can proxy its service to a backend LDAP server and cache the results within the local NIS database. This way, it will be transparent to NIS slave servers.
+
+I also plan to apply for some of the other projects available through Samba:
+
+- Implement missing functionality in DsGetNCChanges
+
+- Componentization of Samba
+
+- ACL Implementation for LDB and SWAT
+
+- Implementing an LDAP browser client application in SWAT.
+
+
+Proposal
+
+The Samba build farm is used as a test platform for Samba development across the various hardware and operating system platform combinations which the Samba software is expected to build and execute on. However, there is no ability for Samba to be tested against Windows clients and servers in an automated fashion. For this project, I propose that Windows host images could be build for use on VMWare Server. VMWare server is currently licenced so that it can be implemented at no cost.
+
+A system could be scripted within Windows (most likely fascilitated by the python or ruby scripting languages), and could be interacted with by a network client application or using the vmware server scripting API so that pre-configured snapshots of the windows setups to be tested could be used, or Expect scripts could perform AD DC promotions, populate users, groups and machine AD partitions, modify domain and forest functional levels, and modify the AD group policies, or interact with Samba-hosted domains and services.
+
+Deliverables
+
+- A design document providing the logical design of the project implementation to be approved by the project mentor.
+
+- A system which interacts with the VMWare server software to load vmware images and run scripts on these systems on demand.
+
+- A system which is installed on a Windows server, able to perform the following functions in an automated fashion:
+
+  * Create and populate an AD domain in each of the various forest and domain functional levels.
+
+  * Modify AD group policy.
+
+  * Promote a server from being a member server to a domain controller.
+
+  * Migrate the AD master roles to and from itself.
+
+  * Join and leave an already existing domain.
+
+  * Reports activity information to the Samba build farm system.
+
+- Appropriate documentation of the system and its use.
+
+
+Expected Timeline
+
+Prior to May 22
+
+Work on the scope of the problem proposed, determine the logical design and technologies which would be best suited to scripting Windows behaviour non-interactively. At this point, I think that Expect scripts may be the right approach, supplimented by Ruby or Python network-visible services. Become familiar enough with Ruby and Python to determine what would be best. Research and answer any requests for more information of SOC projects proposed. This may be best performed on the samba-technical mailing list. Complete thesis requirement in order to satisfy my Philosophy degree.
+
+May 22 - June 10
+
+Finish design and obtain mentor approval. Begin working on vmware server scripts to load snapshots and determine the flexibility of the VMware scripting API's. Begin working out data structures in the windows scripts.
+
+June 11 - July 1
+
+Implement Expect scripts which perform AD creation, population and domain join/leave behaviour.
+
+Begin implementing windows network service to manage the system remotely and report results.
+
+
+July 2 - August 21
+
+Complete implementation of services and scripts which replace typlically interactive tasks.
+
+Fully test and document the project deliverables and approach used.
+
+
+Concluding Remarks
+
+I feel that I am well suited to complete this project due to my background skills and knowledge, as well as my strong interests in open source systems development and information technology. Additionally, I believe that I take direction and criticism well, and that my creative abilities and persistence are mutually beneficial to myself and the community. As well, from what I have learned with Samba over the past year in the contributions I have made and the people I have gotten to know, I feel that I would face a shorter learning curve than some and therefore I expect to be able to have a very good opportunity to produce a polished and correct implementation. Thank you for the opportunity to propose this project, I look forward to the opportunity to engage with cross-platform automated testing and the samba build system.



More information about the samba-cvs mailing list