I receive the following when I attempt to expunge deleted tombstone
records. I'm attempting to fix several dbcheck 'Not removing dangling
forward link' errors.
samba-tool domain tombstones expunge
ERROR(<type 'exceptions.AttributeError'>): uncaught exception - 'module'
object has no attribute 'time'
File
"/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/__init__.py",
line 176, in _run
return self.run(*args, **kwargs)
File
"/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/domain.py",
line 3791, in run
current_time = long(time.time())
I recently updated from 4.5.0 to 4.5.1. Do I need to reanimate deleted
objects before I can expunge them? Thanks.
--
- James
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/options/samba
> Hello,
>
> I receive the following when I attempt to expunge deleted tombstone
> records. I'm attempting to fix several dbcheck 'Not removing dangling
> forward link' errors.
>
> samba-tool domain tombstones expunge
> ERROR(<type 'exceptions.AttributeError'>): uncaught exception -
> 'module' object has no attribute 'time'
> File
> "/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/__init__.py",
> line 176, in _run
> return self.run(*args, **kwargs)
> File
> "/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/domain.py",
> line 3791, in run
> current_time = long(time.time())
>
> I recently updated from 4.5.0 to 4.5.1. Do I need to reanimate
> deleted objects before I can expunge them? Thanks.
>
>
That isn't your problem, if you look closely, you seem to have a problem
with your version of 'time'. If you look at the top of 'domain.py',
there is this line:
import time
This tells python to use the 'time' module, this module should have the
attribute 'time', you can check this with 'pydoc time.time' run in
a terminal, this should produce info about 'time.time'.
Rowland
I get
time.time = time(...)
time() -> floating point number
Return the current time in seconds since the Epoch.
Fractions of a second may be present if the system clock provides them.
I'm running Ubuntu 12.04 on these DC's. Python version 2.7.3. Thanks.
--
- James
Hmm, that is what I get, Andrew wrote this code, perhaps he has the
answer ?
Rowland
The reason it was renamed was so that the samba tool time command wasn't
confused with the python time module, but this necessarily causes issues
with existing installs unfortunately. The fix is mostly simple, just to
remove any conflicting files but until then, it will trigger issues like
these.
Cheers,
Garming
> This is almost certainly because of a build artifact.
> python/samba/netcmd/time.py was renamed to nettime.py but there is
> likely to be a time.pyc file floating around in your directories.
>
> The reason it was renamed was so that the samba tool time command
> wasn't confused with the python time module, but this necessarily
> causes issues with existing installs unfortunately. The fix is mostly
> simple, just to remove any conflicting files but until then, it will
> trigger issues like these.
>
> Cheers,
>
> Garming
>
If that is the case, why is there a line at the top of 'domain.py' like
this:
import time
surely, from what you are saying, it should be:
import samba.netcmd.nettime as time
Not that it would work, the only thing in nettime.py is a class called
'cmd_time'
I removed both /samba/netcmd/time.py and time.pyc. This allowed the
command to succeed.
samba-tool domain tombstones expunge
Removed 0 objects and 0 links successfully
Unfortunately it didn't remove the errors. Is this bug
https://bugzilla.samba.org/show_bug.cgi?id=12385 patched in 4.5.1? Thanks.
--
- James
> On 10/26/2016 6:46 PM, Garming Sam via samba wrote:
> > This is almost certainly because of a build artifact.
> > python/samba/netcmd/time.py was renamed to nettime.py but there is
> > likely to be a time.pyc file floating around in your directories.
> >
> > The reason it was renamed was so that the samba tool time command
> > wasn't confused with the python time module, but this necessarily
> > causes issues with existing installs unfortunately. The fix is
> > mostly simple, just to remove any conflicting files but until then,
> > it will trigger issues like these.
> >
> > Cheers,
> >
> > Garming
> >
> >
> >
>
> I removed both /samba/netcmd/time.py and time.pyc. This allowed the
> command to succeed.
>
> samba-tool domain tombstones expunge
> Removed 0 objects and 0 links successfully
>
> Unfortunately it didn't remove the errors. Is this bug
> https://bugzilla.samba.org/show_bug.cgi?id=12385 patched in 4.5.1?
> Thanks.
>
>
That explains it better, what Garming meant was that there may be an
old version of the Samba 'time.py' in 'samba.netcmd' and this would be
used instead of the correct python 'time' module. This is clearly a
bug and Samba should check to see if the Samba 'time.py' exists and
delete it on upgrade, or at least document this could happen.
You may have got the command to work, but if you had any tombstones,
they didn't appear to get deleted 'Removed 0 objects'
Rowland
Sadly no. It missed the cut and I want to fix one more thing.
Andrew Bartlett
--
Andrew Bartlett
https://samba.org/~abartlet/
Authentication Developer, Samba Team https://samba.org
Samba Development and Support, Catalyst IT
https://catalyst.net.nz/services/samba