24 Commits

Author SHA1 Message Date
Ian Wienand
4c5030e478
openafs-client: get logs better
I'm not sure if something changed in dkms, but this log file is
helpful on centos 9-stream and the other check doesn't match anything.

Also update the README.rst slightly to be more in line with reality.

Change-Id: Ic8cab980ef43490eb1b3ca0b7a0d0c2329bb94ce
2023-04-27 16:12:00 +10:00
Ian Wienand
b42769b7ed Test openafs roles on CentOS 9-stream
We have labeled the 8/9 stream repos with -stream for clarity; add
this to the path for the repo.

Change-Id: I5c4c5365d763f8a3c03a4adef36235e7809c44d7
Depends-On: https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/839689
2022-05-03 09:09:44 +10:00
Ian Wienand
65991cf92e openafs-client: add service timeout override
Starting the openafs-client service is an intensive operation as it
walks the cache registering various things.  We've seen on our
production ARM64 mirror this can take longer than the 1:30 default
timeout.  This is a fatal issue, as the module will try to unload
while afsd is still spinning and working resulting in completely
corrupt kernel state.

This is about double the longest time we've seen, so should give
plenty of overhead.

Change-Id: I37186494b9afd72eab3a092279579f1a5fa5d22c
2021-06-16 11:50:53 +10:00
Jeremy Stanley
a13d014e3e Drop Debian PPA from openafs-client role
Now that https://bugs.debian.org/980115 has been fixed in
1.8.2-1+deb10u1 for Buster and appears in the 10.9 stable point
release (2021-03-27), we no longer need our special backport PPA of
the patched packages and are able to safely drop it from the role.

Change-Id: Id062fef9461e8f6ac66585ccf25f85a588782177
2021-04-09 16:04:12 +00:00
Ian Wienand
6ece7912ef openafs-client: trim CellServDB
Since we have SRV DNS entries for our afsdb services, we don't need to
explicitly list their IP addresses here.  From the man page:

  For the client CellServDB, it may be desirable to make the client
  aware of a cell (so that it's listed by default in /afs when the
  -dynroot flag to afsd is in use, for instance) without specifying
  the database server machines for that cell.  This can be done by
  including only the cell line (starting with ">") and omitting any
  following database server machine lines. afsd must be configured
  with the -afsdb option to use DNS SRV or AFSDB record lookups to
  locate database server machines.  If the cell has such records and
  the client is configured to use them, this configuration won't
  require updates to the client CellServDB file when the IP addresses
  of the database server machines change.

Thus we just keep the openstack.org entry.  We're have not been
keeping the list in here up-to-date with the grand.central.org version
(well, not since 2014 anyway).  Since we don't really need to track
any of these, just remove them.

Change-Id: Id358e373c4c804ebe32b7447e5880015119926a5
2021-03-02 14:36:18 +11:00
Ian Wienand
3f1d67b99f Add afsdb03 openstack.org
We are in the process of upgrading the AFS servers to focal.  As
explained by auristor (extracted from IRC below) we need 3 servers to
actually perform HA with the ubik protocol:

 the ubik quorum is defined by the list of voting primary ip addresses
 as specified in the ubik service's CellServDB file.  The server with
 the lowest ip address gets 1.5 votes and the others 1 vote.  To win
 election requires greater than 50% of the votes.  In a two server
 configuration there are a total of 2.5 votes to cast.  1.5 > 2.5/2 so
 afsdb02.openstack.org always wins regardless of what
 afsdb01.openstack.org says.  And afsb01.openstack.org can never win
 because 1 < 2.5/2.  by adding a third ubik server to the quorum, the
 total votes cast are 3.5 and it always requires the vote of two
 servers to elect a winner ...  if afsdb03 is added with the highest
 ip address, then either afsdb01 or afsdb02 can be elected

Add a third server which is a focal host and related configuration.

Change-Id: I59e562dd56d6cbabd2560e4205b3bd36045d48c2
2021-03-01 15:51:49 +11:00
Ian Wienand
5eeeedbc8b openafs-client: cleanup PPA install
Over time we've had various different reasons for installing our own
OpenAFS packages in various situations and we haven't kept the when:
flags totally up to date.  Currently, we need the 1.8.6-5 packages
with the January 20201 timestamp fix installed everywhere; fix this.

I think that on long-running servers, the have the PPA installed from
prior iterations (I don't think we've ever *removed* it).  So things
like executors are still running with our packages, perhaps somewhat
unintentionally.

Update the comments a little to reflect what's going on.

Change-Id: I6a58c23daf85cf8fa005e3dad84a665343a947bc
2021-01-20 08:55:02 +11:00
Clark Boylan
81850f3f32 Use our ubuntu openafs ppa on debian
Stable Debain hasn't updated its openafs packages yet to fix the bit
masking problem. This breaks our testing for zuul jobs. Try the bionic
package from our ppa on debian instead.

Change-Id: I2ab469c984ae7d90d2a87abb2e4b29250c9bc8c2
2021-01-18 12:31:15 -08:00
Ian Wienand
c6d537f565 openafs-client: Use PPA for Xenial ARM64
Xenial ARM64 doesn't have openafs-client built; we have 1.8.5 built in
our PPA.  Leave our production Xenial x86_64 systems with the inbuilt
1.6 client until we've thought about AFS server upgrades.

Change-Id: I7dad812a714133ffe54d4ecc1978f09abb39eb72
2020-06-22 14:01:53 +10:00
Zuul
8b8ba03667 Merge "ARM64 openafs role tests" 2020-06-09 23:53:44 +00:00
Zuul
dbc6799c3a Merge "openafs-client: arch fixes" 2020-06-09 03:52:40 +00:00
Ian Wienand
3c04791656 ARM64 openafs role tests
This tests the openafs client installation on all the arm64 types that
build wheels, where we currently need the client to copy the binary
wheel output.

Depends-On: https://review.opendev.org/733755
Change-Id: I278db0b6c8fad04ebf2f971bc7b0c007ee92ac31
2020-06-09 10:37:00 +10:00
Zuul
c9b78bc36e Merge "Increase udp buffer sizes when installing afs client" 2020-06-05 20:43:02 +00:00
Ian Wienand
33773388a1 openafs-client: arch fixes
The lookup() happens on the local host, not the remote host.  ergo we
were never using the Debian.aarch64.yaml file in production anyway
(where bridge is x86 so includes only the x86 file).

So clearly it is not necessary; as we have production ARM64 mirrors
using the base file.  This is OK because we build the packages in the
PPA for x86 and arm64.

We can drop openafs_client_apt_repo which isn't used any more.

Follow-on will improve the testing of this.

Change-Id: I298cdfefc813006f7f4218dd37015992556c8498
2020-06-03 12:34:34 +10:00
Ian Wienand
170b0c0843 openafs-client: use dnf for CentOS 8
We are seeing some failures that seem to add up to the yum module not
detecting a failure installing the kernel modules for openafs.  See if
this works better with "dnf", which is the native package installer on
CentOS 8.

Change-Id: I82588ed5a02e5dff601b41b27b28a663611bfe89
2020-02-11 13:15:54 +11:00
Ian Wienand
22c5561df3 openafs-client: add option for OpenAFS cache location
Our control plane servers generally have large ephemeral storage
attached at /opt; for many uses this is enough space that we don't
need to add extra cinder volumes for a reasonable cache (as we usually
do on mirror nodes; but there we create large caches for both openafs
and httpd reverse proxy whose needs exceed even what we get from
ephemeral storage).

Add an option to set the cache location, and use /opt for our new
static01.opendev.org server.

Change-Id: I16eed1734a0a7e855e27105931a131ce4dbd0793
2020-01-28 21:05:27 +11:00
Ian Wienand
3f68936a0c openafs-client: add centos8
Add CentOS 8 support for the openafs client build

Change-Id: I8290cf1eed9ee8e4af44ac209502553944c52103
Depends-On: https://review.opendev.org/702348
2020-01-22 23:14:43 +00:00
Clark Boylan
928d3aec25 Increase udp buffer sizes when installing afs client
Linux default udp buffer sizes are somewhat small if sending much udp
traffic. Openafs uses udp for all of its traffic so we increase the
buffer size to 25MB.

Change-Id: Ie6cb7467c186d5471c71ca876ea9e29a90423bed
2019-12-06 13:28:11 -08:00
Ian Wienand
7f98daeb5a openafs: avoid pulling in client package before kernel modules
For whatever reason, the modules package recommends the client
package:

 Package: openafs-modules-dkms
 Depends: dkms (>= 2.1.0.0), perl:any, libc6-dev
 Recommends: openafs-client (>= 1.8.0~pre5-1ubuntu1)

However, if that gets installed before the modules are ready, the
service tries to start and fails, but maybe fools systemd into
thinking it started correctly; so our sanity checks seem to fail on
new servers without a manual restart of the openafs client services.

By ignoring this recommends, we should install the modules, then the
client (which should start OK) in that order only.

Change-Id: I6d69ac0bd2ade95fede33c5f82e7df218da9458b
2019-07-31 14:00:34 +10:00
Ian Wienand
439da9ec02 openafs-client: ensure latest package and reorder install
We've noticed that openafs was not getting upgraded to the PPA version
on one of our opendev.org mirrors.  Switch install of packages to
"latest" to make sure it upgrades (reboots to actually apply change
unresolved issue, but at least package is there).

Also, while looking at this, reorder this to install the PPA first,
then ensure we have the kernel headers, then build the openafs kernel
modules, then install.  Add a note about having to install/build the
modules first.

Change-Id: I058f5aa52359276a4013c44acfeb980efe4375a1
2019-07-03 06:51:09 +10:00
Ian Wienand
36d9687b4a Use openstack-ci-core PPA for openafs 1.8.3
This ppa has openafs 1.8.3 for Bionic hosts

Change-Id: I26dc2f3f1a14cf59a4b132c53b4738ed4d9919f8
2019-06-17 15:56:09 +10:00
OpenDev Sysadmins
1ee61397a3 OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
2019-04-19 19:26:05 +00:00
Monty Taylor
68329470fa
Use include_tasks instead of include
They're the same, basically, but include tasks is clearer.

Change-Id: Ia03b8eb2b3e17b421fd5a178b0d9907cc71ebcae
2018-09-20 09:08:55 -05:00
Ian Wienand
801e7c9bd0 Add openafs-client role
The role sets up a host as an OpenAFS client.

As noted in the README, OpenAFS is not available in every
distribution, or on every architecture.  The goal is to provide
sensible defaults but allow for flexibility.

This is largely a port of the client parts of
openstack-infra/puppet-openafs.

This is a generic role because it will be used from Zuul jobs
(wheel-builds) and in the control-plane (servers mounting AFS)

Tested-By: https://review.openstack.org/589335
Needed-By: https://review.openstack.org/590636
Change-Id: Iaaa18194baca4ebd37669ea00505416ebf6c884c
2018-08-23 21:34:47 +10:00