Sachin Prabhu [Sat, 16 Mar 2019 12:25:07 +0000 (12:25 +0000)]
s4-torture: Add handlers to ignore incoming oplock/lease break requests
For use in multichannel oplock break tests. These handers ignore
incoming oplock and lease break requests so that we can test the
oplock/lease break retries on the server.
This is meant for use with samba servers which rely on receiving a reply
from the client before timeout.
Windows servers rely on underlying tcp commands to decide if the oplock
break command was delivered successfully to the client and therefore
cannot be tested with this method.
Günther Deschner [Tue, 19 Jan 2016 13:55:03 +0000 (14:55 +0100)]
s4-torture: add new smb2 multichannel suite skeleton.
Also Skip MC tests for s4 ntvfs fileserver, it's not supported at all.
Use knownfail for s3 fileserver for the time being (until socketwrapper
supports fd-passing).
Signed-off-by: Guenther Deschner <gd@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Ralph Wuerthner [Mon, 25 Mar 2019 14:17:07 +0000 (15:17 +0100)]
s3:debug: enable logging for early startup failures
Commit c89a33a07a 'debug: Use backends instead of explicitly logging to
syslog or file' introduced a regression where early startup failures (e.g.
unable to connect to CTDB) are no longer logged because the debug subsystem
is not yet fully initialized. Enable logging again with reasonable defaults
when reopen_logs() is called and the parameter file is not yet parsed.
Christof Schmitt [Mon, 11 Mar 2019 23:14:02 +0000 (16:14 -0700)]
winbind: Use domain name from lsa query for sid_to_name cache entry
When winbindd is asked to map a name like realm.com\name to a SID ,that
is sucessfully resolved through the lsa lookup name call. The same call
also returns the short domain name (netbios name of the domain). Use
that short domain name for the sid_to_name cache entry, so that
subsequent sid_to_name queries return the expected netbiosname\name
result and not realm.com\name.
.gitlab-ci.yml: run the samba-o3 job on each working container image
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Thu Apr 18 13:10:49 UTC 2019 on sn-devel-144
Joe Guo [Wed, 20 Mar 2019 04:03:21 +0000 (17:03 +1300)]
.gitlab-ci.yml: make use of bootstrap/.gitlab-ci.yml and use the new defined image
See bootstrap/README.md for the instructions to create and upload the
images via a custom gitlab ci pipeline.
The key is that it's always possible to regenerate the image if
it's not present in the container registry, where we are free to
delete old images. But it should be possible to rebuild images
if someone has the need to run a pipeline based on an old
branch.
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Joe Guo <joeg@catalyst.net.nz> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Joe Guo [Thu, 14 Mar 2019 04:15:47 +0000 (17:15 +1300)]
bootstrap/.gitlab-ci.yml: add ci file to trigger image auto build
Depending on 'SAMBA_CI_REBUILD_IMAGES=yes' (and
'SAMBA_CI_REBUILD_BROKEN_IMAGES=yes') as environment
variables on a custom gitlab ci pipeline we'll generate und upload
container images.
bootstrap/README.md will get more details in the next commits.
Please note ci in this file did NOT add the `latest` tag,
since we want main ci to always use a fixed image based on the sha1sum of
everything under bootstrap/ from now on.
This also implies the new built image will not replace/break anything.
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Joe Guo <joeg@catalyst.net.nz> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Joe Guo [Tue, 19 Mar 2019 23:26:48 +0000 (12:26 +1300)]
bootstrap/template.py: add sha1sum support
1. calc sha1sum for files under bootstrap/ (except README.md
and *.pyc files) after render and write to bootstrap/sha1sum.txt file.
2. add a new option to print sha1sum, so we can use it to compare in ci
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Joe Guo <joeg@catalyst.net.nz> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Joe Guo [Thu, 7 Mar 2019 04:02:50 +0000 (17:02 +1300)]
bootstrap/config.py: mv locale setup from bootstrap.sh
In future, samba developers could run `bootstrap.sh` to update
dependencies on their workstation, this is very useful when new people
get on board or new dependencies introduced.
But currenly it will override locale, which is not expected for this case.
Remove locale setup cmds from bootstrap.sh, add a separate script for this.
Although this script is written in a generic way and has no variable so far,
still follow the same routine as `bootstrap.sh` to keep consistent.
Signed-off-by: Joe Guo <joeg@catalyst.net.nz> Reviewed-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
.gitlab-ci.yml: require samba-ci-private tag for our private runners
This makes it more clear that we need our own private runners.
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Tue Apr 16 17:45:35 UTC 2019 on sn-devel-144
Function to walk all leases for a file exactly once. This used to be simpler
with the leases[] array, thus this function that encapsulates the complexity.
This is an interim function supposed to be around for just a few patches as
long as we have both the leases.tdb entries and the leases[] in
share_mode_entries around. It makes it easier to transition to just use
leases.tdb while keeping the code running.
smbd: Don't pass lease_idx down to set_share_mode()
Temporary patch to keep the code running. The new code in set_share_mode() will
leave again once the patchset to remove share_mode_lease and thus the lease_idx
in share_mode_entry goes away.
Instead of indexing into the leases[] array, put the lease_db reference into
the share_mode_entry. For simplicity, put in the client guid as well. We
*might* be able to retrieve that from somewhere else, but as other smbd
processes have to look at the lease values, put in the full leases_db index
data.
leases_db: Add share_mode_lease info to leases.tdb
This is the data stored in share_mode_lease inside the leases[] array in
locking.tdb. This and all the following patches move all leases array to
looking at the leases.tdb.
smbd: Introduce a helper variable in delay_for_oplock()
Why? I am preparing a patchset that will remove
"share_mode_lease". This patch is a micro-step towards that, removing
a set of references to this struct.
.gitlab-ci.yml: show the system state also as after_script
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Fri Apr 12 20:42:27 UTC 2019 on sn-devel-144
Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Apr 12 19:40:25 UTC 2019 on sn-devel-144
David Disseldorp [Fri, 12 Apr 2019 11:52:43 +0000 (13:52 +0200)]
vfs_ceph: explicitly enable libcephfs POSIX ACL support
libcephfs disables ACL support by default and returns -EOPNOTSUPP in the
POSIX ACL get/setxattr paths as a result. Enable support by setting the
following Ceph config parameters during mount:
client acl type = posix_acl
fuse default permissions = false
In run_proc, there was an implicit assumption that when a process exits,
fd event (pipe between parent and child) would be processed first and
signal event (SIGCHLD for the child) would be processed later.
However, that is not the case. SIGCHLD can be received asynchronously
any time even when the pipe data has not fully been read. This causes
run_proc to miss some of the output from child process in tests.
When SIGCHLD is being processed, if the pipe between parent and child is
still open, then do an explict read from the pipe to ensure we read any
data still in the pipe before closing the pipe.
Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Fri Apr 12 08:19:29 UTC 2019 on sn-devel-144
Martin Schwenke [Fri, 5 Apr 2019 05:17:35 +0000 (16:17 +1100)]
ctdb-daemon: Revert "We can not assume that just because we could complete a TCP handshake"
We also can not assume that nodes can be marked as connected via only
the keepalive mechanism. Keepalives are not sent to disconnected
nodes so, in the absence of other packets (e.g. broadcasts), 2 nodes
may never become marked as connected to each other.
Revert to marking nodes as connected in the TCP transport code. If a
connection is to a non(-operational) ctdbd then it will revert to
disconnected after a short while and may actually flap. This should
be rare.
Martin Schwenke [Thu, 4 Apr 2019 07:21:49 +0000 (18:21 +1100)]
Revert "ctdb-scripts: Do not "correct" number of nfsd threads when it is 0"
I thought this was being triggered during automated testing.
However, it appears that a poor choice of fixed ports for NFS RPC
services was the real problem. Revert, since the original behaviour
may be useful.
Garming Sam [Fri, 12 Apr 2019 01:31:29 +0000 (03:31 +0200)]
selftest: rename schemaupgrade_dc (+pair) to schema_dc
This is needed because the name of the autobuild job and
the name of the selftest env end up in the socket path
for ncalrpc sockets.
The challenge is that (for example)
/memdisk/autobuild/fl/b2424063/samba-schemaupgrade/bin/ab/schemaupgrade_pair_dc/ncalrpc/np/protected_storage
does not fit in a struct sockaddr_un.
Signed-off-by: Garming Sam <garming@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Apr 12 05:41:36 UTC 2019 on sn-devel-144
Andrew Bartlett [Fri, 12 Apr 2019 03:10:35 +0000 (15:10 +1200)]
ndrdump: change behaviour of flags to operate as flags
These are called flags because that is what they become to the ndr_pull function,
but to avoid total confusion treat them as flags generally even if the values are
always exclusive (at the moment).
Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>