On Sun, 31 Mar 2019 13:55:18 +0200 Viktor Trojanovic via samba <samba at lists.samba.org> wrote:> On Sat, 30 Mar 2019 at 17:45, L.P.H. van Belle <belle at bazuin.nl> > wrote: > > > > you can upgrade from 4.7 to 4.9. > > but you must run samba-tool dbcheck > > that should work also. after the check run samba-tool dbcheck > > --reindex > > I thought that maybe indeed I did something wrong the last time so I > followed your advice. Unfortunately, it broke my DC again. (Luckily, I > made a snapshot before doing this so I should be able to easily > revert). > > So I went through with the update from 4.7.4 to 4.9.4, and after the > update I ran: > > # samba-tool dbcheck > Checking 322 objects > Checked 322 objects (0 errors) > > # samba-tool dbcheck --reindex > Re-indexing > completed re-index OK > > # ldbedit -H /var/lib/samba/private/sam.ldb > (shows contents of sam.ldb, closing the file) > # 0 adds 0 modifies 0 deletes > > # reboot > > # journalctl -xe > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > /usr/sbin/samba_dnsupdate: ERROR(runtime): > uncaught exception - (9711, 'WERR_DNS_ERROR_RECORD_ALREADY_EXISTS') > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > 11:43:52.021002, 0] ../lib/util/ > util_runcmd.c:327(samba_runcmd_io_handler) > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > /usr/sbin/samba_dnsupdate: File "/usr/lib > /python2.7/dist-packages/samba/netcmd/__init__.py", line 177, in _run > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > 11:43:52.021202, 0] ../lib/util/ > util_runcmd.c:327(samba_runcmd_io_handler) > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > /usr/sbin/samba_dnsupdate: return self. > run(*args, **kwargs) > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > 11:43:52.021375, 0] ../lib/util/ > util_runcmd.c:327(samba_runcmd_io_handler) > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > /usr/sbin/samba_dnsupdate: File "/usr/lib > /python2.7/dist-packages/samba/netcmd/dns.py", line 945, in run > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > 11:43:52.021539, 0] ../lib/util/ > util_runcmd.c:327(samba_runcmd_io_handler) > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > /usr/sbin/samba_dnsupdate: raise e > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > 11:43:52.047043, 0] ../source4/d > sdb/dns/dns_update.c:330(dnsupdate_nameupdate_done) > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > ../source4/dsdb/dns/dns_update.c:330: Faile > d DNS update - with error code 26 > > Does anyone have an idea what causes these errors? > > - Viktor >Yes, it appears that the change to the GUID index mode that first appeared in 4.8.0 is the culprit. I don't think anybody really knows why it fails, but it is believed to be that 4.9.x thinks the GUID index mode is being used, but the database is still the 4.7.x type. There have been a few workarounds suggested, but, to my knowledge, the only real upgrade path is to 'walk' up the versions. From 4.7.x upgrade to 4.8.x, run this so the database is changed to the GUID index mode and then upgrade to 4.9.x or higher. Rowland
On Sun, 31 Mar 2019 at 14:22, Rowland Penny via samba <samba at lists.samba.org> wrote:> > On Sun, 31 Mar 2019 13:55:18 +0200 > Viktor Trojanovic via samba <samba at lists.samba.org> wrote: > > > On Sat, 30 Mar 2019 at 17:45, L.P.H. van Belle <belle at bazuin.nl> > > wrote: > > > > > > you can upgrade from 4.7 to 4.9. > > > but you must run samba-tool dbcheck > > > that should work also. after the check run samba-tool dbcheck > > > --reindex > > > > I thought that maybe indeed I did something wrong the last time so I > > followed your advice. Unfortunately, it broke my DC again. (Luckily, I > > made a snapshot before doing this so I should be able to easily > > revert). > > > > So I went through with the update from 4.7.4 to 4.9.4, and after the > > update I ran: > > > > # samba-tool dbcheck > > Checking 322 objects > > Checked 322 objects (0 errors) > > > > # samba-tool dbcheck --reindex > > Re-indexing > > completed re-index OK > > > > # ldbedit -H /var/lib/samba/private/sam.ldb > > (shows contents of sam.ldb, closing the file) > > # 0 adds 0 modifies 0 deletes > > > > # reboot > > > > # journalctl -xe > > > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > /usr/sbin/samba_dnsupdate: ERROR(runtime): > > uncaught exception - (9711, 'WERR_DNS_ERROR_RECORD_ALREADY_EXISTS') > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > > 11:43:52.021002, 0] ../lib/util/ > > util_runcmd.c:327(samba_runcmd_io_handler) > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > /usr/sbin/samba_dnsupdate: File "/usr/lib > > /python2.7/dist-packages/samba/netcmd/__init__.py", line 177, in _run > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > > 11:43:52.021202, 0] ../lib/util/ > > util_runcmd.c:327(samba_runcmd_io_handler) > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > /usr/sbin/samba_dnsupdate: return self. > > run(*args, **kwargs) > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > > 11:43:52.021375, 0] ../lib/util/ > > util_runcmd.c:327(samba_runcmd_io_handler) > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > /usr/sbin/samba_dnsupdate: File "/usr/lib > > /python2.7/dist-packages/samba/netcmd/dns.py", line 945, in run > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > > 11:43:52.021539, 0] ../lib/util/ > > util_runcmd.c:327(samba_runcmd_io_handler) > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > /usr/sbin/samba_dnsupdate: raise e > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > > 11:43:52.047043, 0] ../source4/d > > sdb/dns/dns_update.c:330(dnsupdate_nameupdate_done) > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > ../source4/dsdb/dns/dns_update.c:330: Faile > > d DNS update - with error code 26 > > > > Does anyone have an idea what causes these errors? > > > > - Viktor > > > > Yes, it appears that the change to the GUID index mode that first > appeared in 4.8.0 is the culprit. I don't think anybody really knows why > it fails, but it is believed to be that 4.9.x thinks the GUID index > mode is being used, but the database is still the 4.7.x type. > > There have been a few workarounds suggested, but, to my knowledge, the > only real upgrade path is to 'walk' up the versions. From 4.7.x upgrade > to 4.8.x, run this so the database is changed to the GUID index mode > and then upgrade to 4.9.x or higher. >That was the last information I had. I thought something changed after seeing Andrew comment in the bug report (https://bugzilla.samba.org/show_bug.cgi?id=13760) and Louis confirming that this should actually work. Do you happen to know how to do the walk on Ubuntu? If I understand this correctly, unless I want to compile myself (and I don't), I need packages, and neither Ubuntu nor Louis provide packages for 4.8. Which is why I'm thinking to upgrade by just joining a new DC based on Samba 4.9.4. Or wait for Louis to publish 4.10 as this should, in my understanding, make it possible again to upgrade properly. - Viktor
On Sun, 31 Mar 2019 14:29:32 +0200 Viktor Trojanovic <viktor at troja.ch> wrote:> On Sun, 31 Mar 2019 at 14:22, Rowland Penny via samba > <samba at lists.samba.org> wrote: > > > > On Sun, 31 Mar 2019 13:55:18 +0200 > > Viktor Trojanovic via samba <samba at lists.samba.org> wrote: > > > > > On Sat, 30 Mar 2019 at 17:45, L.P.H. van Belle <belle at bazuin.nl> > > > wrote: > > > > > > > > you can upgrade from 4.7 to 4.9. > > > > but you must run samba-tool dbcheck > > > > that should work also. after the check run samba-tool dbcheck > > > > --reindex > > > > > > I thought that maybe indeed I did something wrong the last time > > > so I followed your advice. Unfortunately, it broke my DC again. > > > (Luckily, I made a snapshot before doing this so I should be able > > > to easily revert). > > > > > > So I went through with the update from 4.7.4 to 4.9.4, and after > > > the update I ran: > > > > > > # samba-tool dbcheck > > > Checking 322 objects > > > Checked 322 objects (0 errors) > > > > > > # samba-tool dbcheck --reindex > > > Re-indexing > > > completed re-index OK > > > > > > # ldbedit -H /var/lib/samba/private/sam.ldb > > > (shows contents of sam.ldb, closing the file) > > > # 0 adds 0 modifies 0 deletes > > > > > > # reboot > > > > > > # journalctl -xe > > > > > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > > /usr/sbin/samba_dnsupdate: ERROR(runtime): > > > uncaught exception - (9711, > > > 'WERR_DNS_ERROR_RECORD_ALREADY_EXISTS') Mar 31 11:43:52 dc1 > > > samba[224]: task[dnsupdate][224]: [2019/03/31 11:43:52.021002, > > > 0] ../lib/util/ util_runcmd.c:327(samba_runcmd_io_handler) > > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > > /usr/sbin/samba_dnsupdate: File "/usr/lib > > > /python2.7/dist-packages/samba/netcmd/__init__.py", line 177, in > > > _run Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > > [2019/03/31 11:43:52.021202, 0] ../lib/util/ > > > util_runcmd.c:327(samba_runcmd_io_handler) > > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > > /usr/sbin/samba_dnsupdate: return self. > > > run(*args, **kwargs) > > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > > > 11:43:52.021375, 0] ../lib/util/ > > > util_runcmd.c:327(samba_runcmd_io_handler) > > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > > /usr/sbin/samba_dnsupdate: File "/usr/lib > > > /python2.7/dist-packages/samba/netcmd/dns.py", line 945, in run > > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > > > 11:43:52.021539, 0] ../lib/util/ > > > util_runcmd.c:327(samba_runcmd_io_handler) > > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > > /usr/sbin/samba_dnsupdate: raise e > > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: [2019/03/31 > > > 11:43:52.047043, 0] ../source4/d > > > sdb/dns/dns_update.c:330(dnsupdate_nameupdate_done) > > > Mar 31 11:43:52 dc1 samba[224]: task[dnsupdate][224]: > > > ../source4/dsdb/dns/dns_update.c:330: Faile > > > d DNS update - with error code 26 > > > > > > Does anyone have an idea what causes these errors? > > > > > > - Viktor > > > > > > > Yes, it appears that the change to the GUID index mode that first > > appeared in 4.8.0 is the culprit. I don't think anybody really > > knows why it fails, but it is believed to be that 4.9.x thinks the > > GUID index mode is being used, but the database is still the 4.7.x > > type. > > > > There have been a few workarounds suggested, but, to my knowledge, > > the only real upgrade path is to 'walk' up the versions. From 4.7.x > > upgrade to 4.8.x, run this so the database is changed to the GUID > > index mode and then upgrade to 4.9.x or higher. > > > > That was the last information I had. I thought something changed after > seeing Andrew comment in the bug report > (https://bugzilla.samba.org/show_bug.cgi?id=13760) and Louis > confirming that this should actually work. > > Do you happen to know how to do the walk on Ubuntu? If I understand > this correctly, unless I want to compile myself (and I don't), I need > packages, and neither Ubuntu nor Louis provide packages for 4.8. Which > is why I'm thinking to upgrade by just joining a new DC based on Samba > 4.9.4. Or wait for Louis to publish 4.10 as this should, in my > understanding, make it possible again to upgrade properly. > > - ViktorIt looks like the fix is in 4.9.5 & 4.10.0 and Louis has issued Samba 4.9.5 packages ;-) Rowland