Samba 4 Status Update



Similar documents
<Samba status report>

Samba as an Active Directory Domain Controller

SerNet. Samba Status Update. Linuxkongress Hamburg October 10, Volker Lendecke SerNet Samba Team. Network Service in a Service Network

Integrating Red Hat Enterprise Linux 6 with Microsoft Active Directory Presentation

Intel Entry Storage System SS4200-E Active Directory Implementation and Troubleshooting

Samba's AD DC: Samba 4.2 and Beyond. Presented by Andrew Bartlett of Catalyst //

Samba 4 AD + Fileserver

Samba File Sharing 1 of 17. File Sharing. Hal Miller & Leeland Artra. Notes:

Univention Corporate Server. Operation of a Samba domain based on Windows NT domain services

CONFIGURING ACTIVE DIRECTORY IN LIFELINE

Implementing Active Directory Hurdles, Obstacles, and the Finish Line. Jim McDonough Samba Team IBM Linux Technology Center April 6, 2004

Using Samba to play nice with Windows. Bill Moran Potential Technologies

Samba on HP StorageWorks Enterprise File Services (EFS) Clustered File System Software

Windows Services. Support Windows and mixed-platform workgroups with high-performance, affordable network services. Features

Open Source Terminal Server Architecture for Enterprise Environment

SerNet. Samba Status Update. Munich 13. March Volker Lendecke SerNet Samba Team. Network Service in a Service Network

Integration with Active Directory. Jeremy Allison Samba Team

Scalable NAS Cluster With Samba And CTDB Source Talk Tage 2010

SerNet. Clustered Samba. Nürnberg April 29, Volker Lendecke SerNet Samba Team. Network Service in a Service Network

Designing and Implementing a Server Infrastructure

Samba and Vista with IPv6

OpenChange overview and current server implementation

Clustered CIFS For Everybody Clustering Samba With CTDB. LinuxTag 2009

Integrating UNIX and Linux with Active Directory. John H Terpstra

CSE 265: System and Network Administration

SMB3 in Samba. Multi-Channel and Beyond. Michael Adam Red Hat / samba.org

Samba. Samba. Samba 2.2.x. Limitations of Samba 2.2.x 1. Interoperating with Windows. Implements Microsoft s SMB protocol

Mac OS X Directory Services

SMB a protocol example

Other documents in this series are available at: servernotes.wazmac.com

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

How To Set Up A Macintosh With A Cds And Cds On A Pc Or Macbook With A Domain Name On A Macbook (For A Pc) For A Domain Account (For An Ipad) For Free

20413C: Designing and Implementing a Server Infrastructure

COURSE 20413C: DESIGNING AND IMPLEMENTING A SERVER INFRASTRUCTURE

Designing and Implementing a Server Infrastructure

Active Directory network protocols and traffic

Designing and Implementing a Server Infrastructure 20413C; 5 days, Instructor-led

Course 20413: Designing and Implementing a Server Infrastructure

Designing and Implementing a Server Infrastructure

SAMBA VI: As a Domain Controller

Desingning and Implementing a Server Infrastructure

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

Using SUSE Linux Enterprise Desktop with Microsoft * Active Directory Infrastructure

Designing and Implementing a Server Infrastructure

Charles Firth Managing Macs in a Windows World

Going in production Winbind in large AD domains today. Günther Deschner (Red Hat / Samba Team)

Using WhatsUp IP Address Manager 1.0

Integration of Nagios monitoring tools with IBM's solutions

Configuring Windows Server 2008 Active Directory

USING USER ACCESS CONTROL LISTS (ACLS) TO MANAGE FILE PERMISSIONS WITH A LENOVO NETWORK STORAGE DEVICE

VNLINFOTECH JOIN US & MAKE YOUR FUTURE BRIGHT. mcsa (70-413) Microsoft certified system administrator. (designing & implementing server infrasturcure)

Testing Samba for Bigger Environments Samba / Linux / OpenLDAP at the german federal parliament

BMC Performance Manager Windows Security White Paper DCOM / WMI

Designing and Implementing a Server Infrastructure

SO114 - Solaris 10 OE Network Administration

NETASQ SSO Agent Installation and deployment

Active Directory network protocols and traffic

Mac OS X and Directory Services Integration

Active Directory Monitoring With PATROL

Build Your Knowledge!

Apple Pro Training Series. OS X Server. Essentials. Arek Dreyer. and Ben Greisler

Introduction. Versions Used Windows Server 2003

Open Directory. Apple s standards-based directory and network authentication services architecture. Features

Parallels Plesk Panel

NIIT Education and Training, Doha, Qatar - Contact: /1798;

Using Single Sign-on with Samba. Appendices. Glossary. Using Single Sign-on with Samba. SonicOS Enhanced

Collax Active Directory

Samba 4 - Active Directory. Andrew Bartlett abartlet@samba.org

Red Hat Enterprise Linux as a

PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone

Windows network services for Samba folks

Migration of Windows Intranet domain to Linux Domain Moving Linux to a Wider World

Understanding MAPI. Julien Kerihuel,

Active Directory integration with CloudByte ElastiStor

Creating the Conceptual Design by Gathering and Analyzing Business and Technical Requirements

How To Manage Ip Address Management In Windows Server 2012 (Gipam)

Agenda. NT4 PDC Migration to Samba-3. Site Objectives. Samba-3 is NOT MS Windows NT. John H Terpstra, Samba-Team jht@samba.org

Implementing SAM replication in Samba 3

Contents Introduction... 3 Introduction to Active Directory Services... 4 Installing and Configuring Active Directory Services...

What we are going to cover...

INTRODUCING SAMBA 4 NOW, EVEN MORE AWESOMENESS

COURSE OUTLINE MOC 20413: DESIGNING AND IMPLEMENTING A SERVER INFRASTRUCTURE

Roles for Servers in the SCW Database

Designing and Implementing a Server Infrastructure

Course Syllabus. Deploying Microsoft Windows Server Key Data. Audience. At Course Completion

Review Quiz 1. What is the stateful firewall that is built into Mac OS X and Mac OS X Server?

Transcription:

Samba 4 Status Update or: some lessons in project management Jelmer Vernooij Samba Team November 6, 2011

Agenda 1 Protocol background 2 Samba Versions Samba 3 Samba 4 3 Branching issues Conflict Reconciliation 4 Current status 5 Conclusion

Jelmer Vernooij Samba developer and team member Samba 4 developer Other contributions to Free Software projects: CUPS OpenChange Bazaar developer at Canonical

Samba 4 Started in 2003 Single goal: Active Directory Domain Controller support NLUUG 2004: Expected release date: probably somewhere in 2005 2011: No stable release yet

Samba 4 Started in 2003 Single goal: Active Directory Domain Controller support NLUUG 2004: Expected release date: probably somewhere in 2005 2011: No stable release yet where did it all go wrong?

What is CIFS? Filesharing in DOS/Windows Most Windows operations that are network-based File and Printer sharing for Microsoft Networks

Generation 1: A long time ago, in a land far away... File and printer sharing Per-machine credentials Timeline 1984: Barry Feigenbau develops BAF IBM, Microsoft, Intel and 3Com expand the protocol and rename it to SMB Part of OS/2 and Windows for Workgroups Various other extensions by Microsoft for Windows 9x and NT, enabling remote management

Generation 1

Generation 2: NT4-style domains Introduced in Windows NT4 Single domain controller Central user database Basic policy management Optional backup domain controller Up to a few hundred members per domain Protocols: NetBIOS, SMB, RAP, DCE/RPC

Generation 2

Generation 3: Active Directory Multiple Domain Controllers per domain Company-wide domains Thousands of domain member machines Up to a million users

Generation 3

Active Directory based on various standardised protocols DNS Kerberos DHCP LDAP CIFS NTP

Active Directory based on various standardised protocols DNS Kerberos DHCP LDAP CIFS NTP... with Microsoft-specific extensions

Specifications The only spec I trust is written in C Andrew Bartlett

Specifications The only spec I trust is written in C Andrew Bartlett Specifications Originally no specifications beyond 94 New specs in 2006 http://msdn.microsoft.com/

Netwerk Analysis Not the same as reverse engineering Still a good tool to use for debugging

Short Samba Timeline 1991: Started by Andrew tridge Tridgell 1993: nbserver 1996: Code in CVS 1999: Versie 2.0 2003: Versie 3.0

Samba 3 Outline 1 Protocol background 2 Samba Versions Samba 3 Samba 4 3 Branching issues Conflict Reconciliation 4 Current status 5 Conclusion

Samba 3 Samba 3 Stable Used in production Old design (targetted at fileserving) Support for NT4-style domains Support for being a member of AD domain

Samba 4 Outline 1 Protocol background 2 Samba Versions Samba 3 Samba 4 3 Branching issues Conflict Reconciliation 4 Current status 5 Conclusion

Samba 4 Samba 4 Started in 2003 More generated code Heavy use of Python Playground for new features Support for Active Directory Domain Controllers WMI (WBEM implemented on top of DCOM) Good DCE/RPC infrastructuur Basis for OpenChange client/server Relatively well tested (code coverage: 50%)

Samba 4 Generated code Easier to debug Easier to understand Less prone to bugs or at least a place to fix them all at once Quicker to write

Samba 4 Languages C: 1,116,626 Python: 85,488 Perl: 28,123 Shell: 14,249

Samba 4 Infrastructure improvements Full test coverage New build system: waf (http://code.google.com/p/waf/) Significant time-safer during development Test infrastructure now uses Subunit protocol (http://launchpad.net/subunit)

Conflict Outline 1 Protocol background 2 Samba Versions Samba 3 Samba 4 3 Branching issues Conflict Reconciliation 4 Current status 5 Conclusion

Conflict Issues Samba 4 changed too much Too experimental to be the next release Very ambitious goal: AD support Several developers kept working on the Samba 3 branch... including adding new features

Conflict The dark years (2005-2009) Split development team Feature work happening in both branches Often the same features, done by different people Limited communication between 3.x and 4.x teams No clear direction for project as a whole Samba 3 developers regarding Samba 4 as a toy project Samba 4 developers regarding Samba 3 as obsolete

Reconciliation Outline 1 Protocol background 2 Samba Versions Samba 3 Samba 4 3 Branching issues Conflict Reconciliation 4 Current status 5 Conclusion

Reconciliation Franky and other efforts 2007/2008: Several complete features backported to Samba 3 New DCE/RPC subsystem Test infrastructure 2008: Frankenstein Franky effort to build a combined Samba3/Samba4 server 2010-2011: More duplicate library code eliminated 2011: Ability to build and install Samba 3 and Samba 4 at the same time

Reconciliation Franky http://wiki.samba.org/index.php/franky Effort to make Samba 3 and Samba 4 work together Started after SambaXP 2008 Development has stalled in its current form Some very positive outcomes though Easy to build smbtorture4 from Samba 3 Putting both branches in a single tree Several subsystems are now shared between both branches

Reconciliation Further work Several subsystems now shared Merging is a tedious job which implementation to pick?

Reconciliation Common code 2009 2010 2011 Common 536,251 801,266 1,050,005. Autogenerated 468,634 652,881 769,808 Samba 3 410,452 401,457 460,434 Samba 4 401,692 382,358 499,680. Heimdal 98,398 102,436 115,572

Reconciliation Sharing code Samba4 Heimdal Common Autogenerated Samba3

2011 has been a good year More merge work Stand-alone DC works well Several dozen production users Directory replication works Significantly more external contributions Samba 4 users scratching itches Python code is easier to contribute to

Towards a common codebase Merge work continues still a lot of tension, but making progress 4.0 will be a combination of the existing source3/ and source4 codebases Samba 4 directory server Samba 3 fileserver and printing samba daemon handling Active Directory-related protocols smbd daemon handling filesharing/printing...

Samba 4 Release Status http://wiki.samba.org/index.php/samba4/andrew_and_jelmers_fantasy_page Alpha release stage plans to release alpha18 soon stable, but unpolished More early adopters and testers Database changes have slowed down Needs further integration between Samba 3 and Samba 4 Upgrade script is available to upgrade between revisions Release by May 2011 (?)

Lessons There should be a single trunk, and it should always work Feature work belongs in feature branches Independent features should be developed independently, so they can land independently Question processes and technologies Technology is not always the solution to social problems Don t stop talking to each other Don t tie features to releases

More information Please let us know when you hit bugs: IRC samba-technical on irc.freenode.net E-Mail samba-technical@samba.org Bugzilla https://bugzilla.samba.org/ Help us improve the Samba 4 documentation: Howto http://wiki.samba.org/index.php/samba4/howto Wiki http://wiki.samba.org/index.php/samba4