Chris Alavoine
2013-Jul-04 14:09 UTC
[Samba] samba-tool classic upgrade - Next rid problem
Hi there,
I am trying to upgrade my old Samba3 (with LDAP backend) to Samba 4.
I am doing this on a test VM for now as a proof of concept.
When running this command:
/usr/local/samba/bin/samba-tool domain classicupgrade
--dbdir=/home/administrator/samba3/ --use-xattrs=yes
--realm=internal.com /home/administrator/samba3/smb.conf
I get this:
Reading smb.conf
Provisioning
Exporting account policy
Exporting groups
Exporting users
Next rid = 2012040402
Exporting posix attributes
Reading WINS database
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
ERROR(<class 'samba.provision.ProvisioningError'>): uncaught
exception -
ProvisioningError: You want to run SAMBA 4 with a next_rid of 2012040402,
the valid range is 1000-1000000000. The default is 1000.
File
"/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/__init__.py",
line 175, in _run
return self.run(*args, **kwargs)
File
"/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/domain.py",
line
1318, in run
useeadb=eadb, dns_backend=dns_backend, use_ntvfs=use_ntvfs)
File
"/usr/local/samba/lib/python2.7/site-packages/samba/upgrade.py",
line 866, in upgrade_from_samba3
use_ntvfs=use_ntvfs, skip_sysvolacl=True)
File
"/usr/local/samba/lib/python2.7/site-packages/samba/provision/__init__.py",
line 2155, in provision
skip_sysvolacl=skip_sysvolacl)
File
"/usr/local/samba/lib/python2.7/site-packages/samba/provision/__init__.py",
line 1757, in provision_fill
next_rid=next_rid, dc_rid=dc_rid)
File
"/usr/local/samba/lib/python2.7/site-packages/samba/provision/__init__.py",
line 1227, in fill_samdb
raise ProvisioningError(error)
So, it appears that my Next rid parameter is too high (namely: 2012040402).
I have run this multiple times and next rid is always the same number.
Before I start decimating my LDAP directory has anyone seen this behaviour
before?
I have done a quick LDAP search and not been able to find any RID's that
would cause such an inflated number so am a bit stumped.
Thanks in advance,
Chris.
--
ACS (Alavoine Computer Services Ltd)
Chris Alavoine
mob +44 (0)7724 710 730
www.alavoinecs.co.uk
http://twitter.com/#!/alavoinecs
http://www.linkedin.com/pub/chris-alavoine/39/606/192
Andrew Bartlett
2013-Jul-05 12:01 UTC
[Samba] samba-tool classic upgrade - Next rid problem
On Thu, 2013-07-04 at 15:09 +0100, Chris Alavoine wrote:> Hi there, > > I am trying to upgrade my old Samba3 (with LDAP backend) to Samba 4. > > I am doing this on a test VM for now as a proof of concept. > > When running this command: > > /usr/local/samba/bin/samba-tool domain classicupgrade > --dbdir=/home/administrator/samba3/ --use-xattrs=yes > --realm=internal.com /home/administrator/samba3/smb.conf > > I get this: > > Reading smb.conf > Provisioning > Exporting account policy > Exporting groups > Exporting users > Next rid = 2012040402 > Exporting posix attributes > Reading WINS database > Looking up IPv4 addresses > Looking up IPv6 addresses > No IPv6 address will be assigned > Setting up secrets.ldb > Setting up the registry > Setting up the privileges database > Setting up idmap db > Setting up SAM db > Setting up sam.ldb partitions and settings > Setting up sam.ldb rootDSE > Pre-loading the Samba 4 and AD schema > ERROR(<class 'samba.provision.ProvisioningError'>): uncaught exception - > ProvisioningError: You want to run SAMBA 4 with a next_rid of 2012040402, > the valid range is 1000-1000000000. The default is 1000. > File > "/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/__init__.py", > line 175, in _run > return self.run(*args, **kwargs) > File > "/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/domain.py", line > 1318, in run > useeadb=eadb, dns_backend=dns_backend, use_ntvfs=use_ntvfs) > File "/usr/local/samba/lib/python2.7/site-packages/samba/upgrade.py", > line 866, in upgrade_from_samba3 > use_ntvfs=use_ntvfs, skip_sysvolacl=True) > File > "/usr/local/samba/lib/python2.7/site-packages/samba/provision/__init__.py", > line 2155, in provision > skip_sysvolacl=skip_sysvolacl) > File > "/usr/local/samba/lib/python2.7/site-packages/samba/provision/__init__.py", > line 1757, in provision_fill > next_rid=next_rid, dc_rid=dc_rid) > File > "/usr/local/samba/lib/python2.7/site-packages/samba/provision/__init__.py", > line 1227, in fill_samdb > raise ProvisioningError(error) > > > So, it appears that my Next rid parameter is too high (namely: 2012040402). > I have run this multiple times and next rid is always the same number. > Before I start decimating my LDAP directory has anyone seen this behaviour > before? > > I have done a quick LDAP search and not been able to find any RID's that > would cause such an inflated number so am a bit stumped.Is that by chance the final component of any SID, even if not what you would think to be the RID? eg the domain SID? It could be that some entry is malformed such that there is 'no RID', whereas that actually just means the last bit of what you would think of as the 'domain SID' is actually the RID. Andrew Bartlett -- Andrew Bartlett http://samba.org/~abartlet/ Authentication Developer, Samba Team http://samba.org